Sviluppatori

POST/v3/smslength

Calcola la codifica e i segmenti degli SMS

Analizza il testo definitivo del messaggio senza inviarlo né stimare i costi di consegna.

Su questa pagina
  1. Analizza il testo esatto del messaggio
  2. Richiesta
  3. Risposta
  4. Codifica e limiti dei segmenti
  5. Errori e testo vuoto
  6. Utilizza il risultato prima dell'invio

Analizza il testo esatto del messaggio

Calcola la codifica, la lunghezza del testo codificato e il numero di segmenti SMS per il testo che intendi inviare. Questo endpoint non invia SMS, non riserva un percorso di instradamento e non restituisce un preventivo del prezzo di consegna. Fornisci il testo definitivo completo, inclusi eventuali testi a piè di messaggio, link o diciture per la disiscrizione aggiunti dal tuo flusso di invio.

Richiesta

Autenticati utilizzando il tuo account API abilitato e l'indirizzo IP di origine autorizzato per tale account. Conserva le credenziali in un archivio di segreti sul server. Invia una stringa UTF-8 nel campo text; l'esempio utilizza variabili d'ambiente.

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

Sono supportati dati in ingresso codificati come modulo. Un oggetto JSON come {"text":"Your message here"} è accettato anche quando non vengono forniti campi del modulo o parametri di query. Preferisci POST affinché il testo del messaggio non compaia in un URL. Se sono presenti sia dati del modulo sia parametri di query, viene utilizzato il modulo. Non combinare formati di richiesta diversi.

Risposta

{
  "status": {
    "code": "200",
    "msg": ""
  },
  "response": {
    "charset": 0,
    "encoding": "GSM-7",
    "count": 1,
    "parts": 1,
    "chars": 17,
    "units": 17,
    "single_limit": 160,
    "multipart_limit": 153
  }
}
Campi del risultato del calcolatore
CampoSignificato
charset0 per GSM-7 oppure 2 per UTF-16.
encodingGSM-7 oppure UTF-16.
parts, countDue nomi per il numero calcolato di segmenti SMS. Entrambi valgono zero se il testo è vuoto.
units, charsDue nomi per le unità di codifica. Non corrispondono necessariamente ai caratteri visibili.
single_limitLimite di unità di codifica per un singolo segmento con la codifica selezionata.
multipart_limitLimite di unità di codifica utilizzato per ciascun segmento, tenendo conto dello spazio occupato dai dati necessari alla concatenazione.

Codifica e limiti dei segmenti

Limiti utilizzati dal calcolatore
CodificaSegmento singoloSegmento di un messaggio concatenato
GSM-7160 septetti153 septetti
UTF-1670 unità di codifica67 unità di codifica

I caratteri di estensione GSM-7, come ^, parentesi graffe, parentesi quadre, barra inversa, barra verticale, tilde e simbolo dell'euro, occupano due septetti. Un carattere non appartenente a GSM-7 fa sì che l'intero messaggio venga conteggiato secondo UTF-16. Un'emoji al di fuori del piano multilingue di base utilizza due unità UTF-16; una sequenza di emoji visibile può contenere diversi punti di codice.

Ad esempio, 160 lettere ordinarie GSM-7 rientrano in un segmento e 161 ne richiedono due. Ottanta caratteri ^ utilizzano 160 unità e rientrano in un segmento; ottantuno utilizzano 162 unità e ne richiedono due. Trentacinque emoji semplici al di fuori del BMP utilizzano 70 unità UTF-16 e rientrano in un segmento; trentasei utilizzano 72 unità e ne richiedono due. I segni combinanti e le emoji unite possono modificare questi conteggi.

Errori e testo vuoto

Se manca il campo text, se viene fornito un array o un oggetto anziché un valore scalare, oppure se la codifica UTF-8 non è valida, viene restituito il codice API 403. Leggi i campi JSON status.code e status.msg, oltre allo stato HTTP; questo endpoint restituisce il codice come stringa. Una stringa vuota è valida e restituisce zero unità e zero segmenti.

Utilizza il risultato prima dell'invio

Il calcolatore esaminato non effettua invii di messaggi, chiamate ai sistemi degli operatori né addebiti sull'account. Il suo risultato è un'analisi del testo fornito, non una garanzia di consegna né un importo definitivo da pagare. L'invio può comportare tariffe in base alla destinazione, costi degli operatori, requisiti delle campagne e ulteriori trasformazioni del testo. Ripeti il calcolo dopo aver modificato il messaggio, quindi utilizza il flusso di invio approvato e le tariffe attuali dell'account.