Göndereceğiniz mesaj metnini olduğu gibi analiz edin
Göndermeyi planladığınız metnin kodlamasını, kodlanmış uzunluğunu ve SMS parça sayısını hesaplayın. Bu uç nokta SMS göndermez, bir yönlendirme yolu ayırmaz veya teslimat için fiyat teklifi döndürmez. Gönderim iş akışınızın eklediği alt bilgi, bağlantı veya ileti almayı reddetme ifadeleri de dâhil olmak üzere metnin son hâlini eksiksiz gönderin.
İstek
Etkin API hesabınızı ve bu hesap için izin verilen kaynak IP adresini kullanarak kimlik doğrulaması yapın. Kimlik bilgilerini sunucu tarafında gizli bilgi depolama alanında saklayın. UTF-8 kodlamalı bir dizeyi text alanında gönderin; örnekte ortam değişkenleri kullanılmıştır.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--data-urlencode 'text=Your message here' \
https://api.multitel.net/v3/smslengthForm biçiminde kodlanmış girdi desteklenir. Örneğin şu JSON nesnesi {"text":"Your message here"} de form veya sorgu alanları sağlanmadığında kabul edilir. Mesaj metninin URL içinde görünmemesi için POST yöntemini tercih edin. Hem form hem de sorgu girdisi varsa form kullanılır. İstek biçimlerini karıştırmayın.
Yanıt
{
"status": {
"code": "200",
"msg": ""
},
"response": {
"charset": 0,
"encoding": "GSM-7",
"count": 1,
"parts": 1,
"chars": 17,
"units": 17,
"single_limit": 160,
"multipart_limit": 153
}
}| Alan | Anlamı |
|---|---|
| charset | 0, GSM-7 için; 2, UTF-16 için kullanılır. |
| encoding | GSM-7 veya UTF-16. |
| parts, count | Hesaplanan SMS parça sayısı için kullanılan iki ad. Boş metin için ikisi de sıfırdır. |
| units, chars | Kodlanmış birimler için kullanılan iki ad. Bu birimlerin sayısı, görünen karakterlerin sayısına her zaman eşit değildir. |
| single_limit | Seçilen kodlamada tek bir parça için kodlanmış birim sınırı. |
| multipart_limit | Birleştirme için gereken ek yük hesaba katıldıktan sonra her parça için kullanılan kodlanmış birim sınırı. |
Kodlama ve parça sınırları
| Kodlama | Tek parça | Çok parçalı mesajdaki her bir parça |
|---|---|---|
| GSM-7 | 160 septet | 153 septet |
| UTF-16 | 70 kod birimi | 67 kod birimi |
GSM-7 genişletme karakterlerinden ^, süslü parantezler, köşeli parantezler, ters eğik çizgi, dikey çizgi, tilde ve avro işareti gibi karakterler iki septet kullanır. GSM-7 dışındaki bir karakter, mesajın tamamının UTF-16 ile sayılmasına neden olur. Temel Çok Dilli Düzlem dışındaki bir emoji iki UTF-16 birimi kullanır; görünür bir emoji dizisi birden fazla kod noktası içerebilir.
Örneğin, 160 sıradan GSM-7 harfi tek parçaya sığar, 161 harf ise iki parça gerektirir. Seksen ^ karakteri 160 birim kullanır ve tek parçaya sığar; seksen bir tanesi 162 birim kullanır ve iki parça gerektirir. BMP dışındaki otuz beş basit emoji 70 UTF-16 birimi kullanır ve tek parçaya sığar; otuz altı tanesi 72 birim kullanır ve iki parça gerektirir. Birleştirici işaretler ve birbirine bağlanmış emojiler bu sayıları değiştirebilir.
Hatalar ve boş metin
text alanının eksik olması, skaler bir değer yerine dizi/nesne verilmesi veya geçersiz UTF-8 kullanılması durumunda API kodu 403 döndürülür. JSON yanıtındaki status.code ve status.msg alanlarını HTTP durumuyla birlikte okuyun; bu uç nokta kodu dize olarak döndürür. Boş bir dize geçerlidir ve sıfır birim ile sıfır parça döndürür.
Göndermeden önce sonucu kullanın
İncelenen hesaplayıcıda mesaj gönderme, operatöre çağrı yapma veya hesaptan ücret düşme işlemi bulunmaz. Sonuç, gönderilen metnin analizidir; teslimat garantisi veya nihai fatura değildir. Gönderim sırasında hedefe göre tarifeler, operatör ücretleri, kampanya gereklilikleri ve ek metin dönüşümleri söz konusu olabilir. Mesajı değiştirdikten sonra yeniden hesaplayın, ardından onaylanmış gönderim iş akışını ve hesabınızın güncel fiyatlandırmasını kullanın.