A long delivery notification can look like one text on a phone. It can still incur several billable units. Each part carries both text and information identifying its place in the complete message.
How does the phone know which parts to join?
Each part carries a shared reference, a total part count and its position in the sequence.
These values sit in a header alongside the text. The 3rd Generation Partnership Project's specification 23.040 defines that mechanism. The phone also checks that the parts share the same sender and message center.
The header occupies some of each part's capacity. Bird therefore uses a smaller text allowance for every part of a concatenated message.
Why does one extra character create another segment?
Crossing the single-segment limit makes Bird divide the whole body using the smaller multipart allowance.
Plain Latin text fits 160 characters in one segment. Each part of a longer message holds 153.
A body of 160 ordinary Latin letters fits one segment. Add another letter and the 161-letter body needs two parts, holding 153 and eight letters. Both parts reserve header space, including the first.
Characters such as curly quotes switch the whole message to a smaller allowance: 70 characters, or 67 per part. A text containing 70 Latin letters and one curly quote therefore needs two parts.
Some characters count double toward these limits. GSM-7 vs UCS-2 explains why visible character counts can underestimate the required space.
What happens if a part goes missing?
The phone cannot reconstruct the complete text until it has every part.
The network handles the parts as separate messages. Their delivery can complete independently. Successful delivery of one part does not establish delivery of the whole text.
An incomplete message can therefore be a delivery problem even when your application submitted the full body. Keep a one-time passcode within one segment where possible. The recipient then does not need several parts to read it.
How many parts does Bird accept?
You can send up to twelve segments in one request. Bird rejects a longer body.
That fits 1,836 plain Latin characters: twelve parts of 153. The wider alphabet fits 804: twelve parts of 67. Characters that count double, including some emoji, reduce how much text fits.
The request's text field accepts a nonempty string subject to that twelve-segment cap. Exceeding it returns HTTP 422, meaning the request is rejected for invalid content. Bird does not silently shorten the text.
How do I check the calculated result?
You read the message response's segments object to see what Bird calculated.
countis an integer of at least 1. Outgoing messages cannot exceed 12. Each part contributes a billable unit.encodingisGSM_7BITorUCS2, identifying which capacity applies.characterscounts characters before applying the double-counting rules. Usecountto check billable segments.
For a long template, check the final body after inserting names or other variable text. SMS segments explains the billing calculation, and the character limits guide documents the response.
In short
You submit one message.
Bird splits an oversized body into parts that the receiving phone can join.
Every part needs a header.
Reassembly information reduces the text capacity of every segment, including the first.
A missing part prevents complete reassembly.
The phone needs all the parts to display the complete text.
Bird caps outgoing messages at twelve segments.
A longer body is rejected with an HTTP 422 response instead of being truncated.