Ontwikkelaars

POST/v3/smslength

Sms-codering en segmenten berekenen

Analyseer de definitieve berichttekst zonder deze te verzenden of de bezorgkosten te schatten.

Op deze pagina
  1. Analyseer de exacte berichttekst
  2. Verzoek
  3. Antwoord
  4. Codering en segmentlimieten
  5. Fouten en lege tekst
  6. Gebruik het resultaat vóór verzending

Analyseer de exacte berichttekst

Bereken de codering, de gecodeerde lengte en het aantal sms-segmenten voor de tekst die u wilt verzenden. Dit endpoint verstuurt geen sms, reserveert geen route en geeft geen prijsopgave voor bezorging. Dien de volledige definitieve tekst in, inclusief eventuele voettekst, links of afmeldtekst die uw verzendproces toevoegt.

Verzoek

Authenticeer met uw ingeschakelde API-account en het daarvoor toegestane bron-IP-adres. Bewaar inloggegevens in een opslag voor geheimen aan de serverzijde. Stuur een UTF-8-tekenreeks in het veld text; het voorbeeld gebruikt omgevingsvariabelen.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode 'text=Your message here' \
  https://api.multitel.net/v3/smslength

Invoer met formuliercodering wordt ondersteund. Een JSON-object zoals {"text":"Your message here"} wordt ook geaccepteerd als er geen formulier- of queryvelden worden meegegeven. Gebruik bij voorkeur POST, zodat de berichttekst niet in een URL verschijnt. Als zowel formulier- als queryinvoer aanwezig is, wordt de formulierinvoer gebruikt. Combineer geen verschillende verzoekindelingen.

Antwoord

{
  "status": {
    "code": "200",
    "msg": ""
  },
  "response": {
    "charset": 0,
    "encoding": "GSM-7",
    "count": 1,
    "parts": 1,
    "chars": 17,
    "units": 17,
    "single_limit": 160,
    "multipart_limit": 153
  }
}
Resultaatvelden van de rekentool
VeldBetekenis
charset0 voor GSM-7 of 2 voor UTF-16.
encodingGSM-7 of UTF-16.
parts, countTwee namen voor het berekende aantal sms-segmenten. Beide zijn nul bij lege tekst.
units, charsTwee namen voor gecodeerde eenheden. Deze komen niet noodzakelijk overeen met zichtbare tekens.
single_limitMaximumaantal gecodeerde eenheden voor één segment met de geselecteerde codering.
multipart_limitMaximumaantal gecodeerde eenheden per segment, na aftrek van de ruimte die nodig is om segmenten samen te voegen.

Codering en segmentlimieten

Limieten die de rekentool gebruikt
CoderingEnkel segmentSegment van een meerdelig bericht
GSM-7160 septetten153 septetten
UTF-1670 code-eenheden67 code-eenheden

Uitbreidingstekens van GSM-7, zoals ^, accolades, vierkante haken, de backslash, de verticale streep, de tilde en het euroteken, nemen twee septetten in beslag. Een teken buiten GSM-7 zorgt ervoor dat het volledige bericht volgens UTF-16 wordt geteld. Een emoji buiten het meertalige basisvlak gebruikt twee UTF-16-eenheden; een zichtbare emojireeks kan meerdere codepunten bevatten.

Zo passen 160 gewone GSM-7-letters in één segment en zijn voor 161 letters twee segmenten nodig. Tachtig ^-tekens gebruiken 160 eenheden en passen in één segment; eenentachtig gebruiken 162 eenheden en vereisen twee segmenten. Vijfendertig eenvoudige emoji buiten het BMP gebruiken 70 UTF-16-eenheden en passen in één segment; zesendertig gebruiken 72 eenheden en vereisen twee segmenten. Combinerende tekens en samengevoegde emoji kunnen deze aantallen veranderen.

Fouten en lege tekst

Een ontbrekend veld text, een array/object in plaats van een scalaire waarde of ongeldige UTF-8 levert API-code 403 op. Lees naast de HTTP-status ook de velden status.code en status.msg in JSON; dit endpoint retourneert de code als tekenreeks. Een lege tekenreeks is geldig en levert nul eenheden en nul segmenten op.

Gebruik het resultaat vóór verzending

De beoordeelde rekentool bevat geen functionaliteit voor het verzenden van berichten, het aanroepen van een telecomaanbieder of het afschrijven van het account. Het resultaat is een analyse van de ingediende tekst, geen bezorggarantie of definitieve factuur. Bij verzending kunnen bestemmingstarieven, kosten van telecomaanbieders, campagnevereisten en aanvullende tekstbewerkingen van toepassing zijn. Bereken het resultaat opnieuw nadat u het bericht hebt gewijzigd en gebruik vervolgens het goedgekeurde verzendproces en de actuele tarieven voor uw account.