Kehittäjät

POST/v3/smslength

Laske tekstiviestin koodaus ja osien määrä

Analysoi lopullinen viestiteksti lähettämättä sitä tai arvioimatta toimituskuluja.

Tällä sivulla
  1. Analysoi viestiteksti täsmälleen lähetettävässä muodossa
  2. Pyyntö
  3. Vastaus
  4. Koodaus ja osien enimmäispituudet
  5. Virheet ja tyhjä teksti
  6. Hyödynnä tulosta ennen lähettämistä

Analysoi viestiteksti täsmälleen lähetettävässä muodossa

Laske lähetettäväksi aikomasi tekstin koodaus, koodattu pituus ja tekstiviestiosien määrä. Tämä rajapinnan päätepiste ei lähetä tekstiviestiä, varaa reittiä eikä palauta tarjousta toimitushinnasta. Anna koko lopullinen teksti, mukaan lukien mahdollinen alatunniste, linkki tai viestien vastaanottamisen lopettamista koskeva teksti, jonka lähetysprosessisi lisää.

Pyyntö

Todenna pyyntö käytössä olevalla API-tililläsi ja sille sallitusta lähde-IP-osoitteesta. Säilytä tunnistetiedot palvelinpuolen salaisuuksien säilytysjärjestelmässä. Lähetä UTF-8-merkkijono kentässä text; esimerkissä käytetään ympäristömuuttujia.

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

Lomakekoodattua syötettä tuetaan. Myös JSON-objekti, kuten {"text":"Your message here"} hyväksytään, kun lomake- tai kyselykenttiä ei anneta. Suosi POST-menetelmää, jotta viestiteksti ei näy URL-osoitteessa. Jos mukana on sekä lomake- että kyselysyöte, käytetään lomaketta. Älä sekoita pyyntömuotoja.

Vastaus

{
  "status": {
    "code": "200",
    "msg": ""
  },
  "response": {
    "charset": 0,
    "encoding": "GSM-7",
    "count": 1,
    "parts": 1,
    "chars": 17,
    "units": 17,
    "single_limit": 160,
    "multipart_limit": 153
  }
}
Laskurin tuloskentät
KenttäMerkitys
charset0, kun koodaus on GSM-7, tai 2, kun koodaus on UTF-16.
encodingGSM-7 tai UTF-16.
parts, countKaksi nimeä lasketulle tekstiviestiosien määrälle. Molemmat ovat nolla, kun teksti on tyhjä.
units, charsKaksi nimeä koodattujen yksiköiden määrälle. Ne eivät välttämättä vastaa näkyvien merkkien määrää.
single_limitKoodattujen yksiköiden enimmäismäärä yksiosaisessa viestissä valitulla koodauksella.
multipart_limitKunkin osan koodattujen yksiköiden enimmäismäärä, kun osien yhdistämiseen tarvittavan lisätiedon viemä tila on vähennetty.

Koodaus ja osien enimmäispituudet

Laskurin käyttämät enimmäispituudet
KoodausYksiosainen viestiMoniosaisen viestin osa
GSM-7160 septettiä153 septettiä
UTF-1670 koodiyksikköä67 koodiyksikköä

GSM-7-laajennusmerkit, kuten ^, aaltosulkeet, hakasulkeet, kenoviiva, pystyviiva, tilde ja euromerkki, vievät kaksi septettiä. Merkki, joka ei kuulu GSM-7-merkistöön, vaihtaa koko viestin laskentatavaksi UTF-16-laskennan. Monikielisen perustason ulkopuolinen emoji vie kaksi UTF-16-yksikköä; näkyvä emojijono voi sisältää useita koodipisteitä.

Esimerkiksi 160 tavallista GSM-7-kirjainta mahtuu yhteen osaan, ja 161 vaatii kaksi osaa. Kahdeksankymmentä ^-merkkiä vie 160 yksikköä ja mahtuu yhteen osaan; kahdeksankymmentäyksi vie 162 yksikköä ja vaatii kaksi osaa. Kolmekymmentäviisi yksinkertaista BMP-tason ulkopuolista emojia vie 70 UTF-16-yksikköä ja mahtuu yhteen osaan; kolmekymmentäkuusi vie 72 yksikköä ja vaatii kaksi osaa. Yhdistyvät merkit ja yhteen liitetyt emojit voivat muuttaa näitä määriä.

Virheet ja tyhjä teksti

Puuttuva text-kenttä, taulukko tai objekti skalaariarvon sijasta tai virheellinen UTF-8 palauttaa API-koodin 403. Lue JSON-vastauksen kentät status.code ja status.msg sekä HTTP-tilakoodi; tämä päätepiste palauttaa koodin merkkijonona. Tyhjä merkkijono on kelvollinen ja palauttaa nolla yksikköä ja nolla osaa.

Hyödynnä tulosta ennen lähettämistä

Tarkistettu laskuri ei sisällä viestin lähettämistä, operaattorikutsua eikä tilin veloitusta. Sen tulos on analyysi annetusta tekstistä, ei toimitustakuu eikä lopullinen lasku. Lähettämiseen voi liittyä kohdekohtaisia hintoja, operaattorimaksuja, kampanjavaatimuksia ja muita tekstin muunnoksia. Laske tulos uudelleen viestin muuttamisen jälkeen ja käytä sitten hyväksyttyä lähetysprosessia sekä tilin voimassa olevaa hinnoittelua.