Otomatik sistemler kurarken veya müşteri bildirimleri gönderirken, birçok işletme sahibi ve yazılımcı aylık SMS faturalarının beklediklerinin iki katı olduğunu görünce şok olur. Bu kapsamlı rehber, SMS göndermek için özel karakterlerin gerektirdiği karakter sayılarını içeren bir tablo sunarak, gizli kodlama değişikliklerinin mesajlaşma maliyetlerinizi nasıl ciddi şekilde artırabileceğini anlamanıza yardımcı olur.
Özel Karakterler SMS Uzunluğunu ve Maliyetini Neden Değiştirir?
Telekom standartlarında kısa mesajlar, yazdığınız kelimelerin ham sayısına göre değil, "segmentlere" göre faturalandırılır. Standart bir SMS segmenti, mesaj başına en fazla 160 karaktere izin veren GSM-7 karakter seti kullanılarak kodlanır. Ancak, bu standart setin dışındaki tek bir karakteri (bir emoji, Kiril alfabesinden bir harf veya hatta Microsoft Word'den kopyalanan süslü bir "akıllı tırnak" işareti gibi) eklediğiniz anda, tüm mesaj kodlaması UCS-2'ye (Unicode) kayar.
UCS-2 kodlaması altında, özel karakterler ve emojiler içerse bile SMS mesajlarının 160 karakterle sınırlı olduğu yaygın bir yanlış inanıştır. Gerçekte, GSM dışı tek bir karakter algılandığında, segment başına maksimum karakter sınırı anında 160 karakterden sadece 70 karaktere düşer. Mesajınız 71 karakter uzunluğundaysa ve bir emoji içeriyorsa, Twilio veya Plivo gibi geleneksel API sağlayıcıları tarafından iki ayrı SMS segmentine bölünecek ve bu şekilde faturalandırılacaktır.
Hangi özel karakterlerin genellikle mesajları etkilediğini anlamak, özellikle müşterilerine randevu hatırlatıcıları gönderen bir klinik, salon veya tamirhane gibi yerel bir hizmet işletmesi işletiyorsanız, operasyonel maliyetlerinizi düşük tutmak için çok önemlidir.
GSM-7 ve UCS-2 Kodlama Farkları
GSM-7, özellikle SMS için tasarlanmış 7 bitlik bir karakter kodlama standardıdır. Çoğu Latin karakterini, sayıyı ve temel noktalama işaretlerini içerir. UCS-2 ise emojiler de dahil olmak üzere her dildeki neredeyse tüm karakterleri temsil edebilen 16 bitlik bir kodlama standardıdır, ancak karakter başına iki kat daha fazla veri gerektirir. Bu veri yükü, UCS-2 tetiklendiğinde operatör ağlarının segment kapasitesini 70 karaktere düşürmesinin nedenidir.
Kapsamlı SMS Özel Karakter Eşleştirme Tablosu
Aşağıda, SMS göndermek için özel karakterlerin gerektirdiği karakter sayılarını gösteren bir tablo yer almaktadır. Bu tablo; standart GSM-7 karakterlerini, GSM-7 Genişletilmiş (Extended) karakterlerini (160 karakterlik sınır içinde 2 karakterlik yer kaplar) ve katı 70 karakter sınırını zorunlu kılan UCS-2 karakterlerini özetlemektedir.
| Karakter Kategorisi | Örnek Karakterler | Karakter Başına Bit | SMS'teki Karakter Ağırlığı | Maksimum Segment Sınırı |
|---|---|---|---|---|
| GSM-7 Temel | A-Z, a-z, 0-9, boşluklar, basit noktalama işaretleri (., !, ?, @, $, vb.) | 7 bit | 1 karakter | 160 karakter |
| GSM-7 Genişletilmiş | ^, {, }, [, ], ~, |, \, € | 14 bit | 2 karakter | 160 karakter (her genişletilmiş karakter 2 sayılır) |
| UCS-2 (Unicode) | á, í, ó, ñ, ’ (akıllı tırnak), emojiler (😀), Kiril, Arapça | 16 bit | Tüm mesajı Unicode olmaya zorlar | 70 karakter |
Tabloda gösterildiği gibi, süslü parantez "{" veya ters eğik çizgi "\" gibi genişletilmiş bir GSM-7 karakteri kullanmak Unicode'u zorunlu kılmaz, ancak 160 karakterlik sınırınızda iki karakter olarak sayılır. Bununla birlikte, İspanyolca sms y caracteres especiales yapılandırmalarında sıklıkla kullanılan "á" gibi GSM dışı bir karakter veya kıvrık kesme işareti "’" kullanmak, mesaj segment sınırınızı anında 70 karaktere düşürecektir.
Özel Karakterlerin SMS Maliyetlerinize Etkisi
los caracteres especiales que impacto tienen en el coste de los sms (özel karakterlerin SMS maliyeti üzerindeki etkisi) konusunu anlamak için pratik bir örneğe bakalım. Bir diş kliniği işlettiğinizi ve aşağıdaki randevu hatırlatıcısını gönderdiğinizi hayal edin:
"Hi John, your appointment is scheduled for tomorrow at 3:00 PM. Please reply to confirm or call us if you need to reschedule! Él"
Bu mesaj 123 karakter uzunluğundadır. Vurgulu "É" yerine standart "E" harfini kullanırsanız, mesaj GSM-7 olarak gönderilir. 160 karakterlik sınıra rahatça sığarak size tam olarak 1 SMS segmenti maliyet getirir.
Ancak, vurgulu "É" harfi nedeniyle mesaj UCS-2 formatına zorlanır. Segment sınırı artık 70 karakterdir. 123 karakterlik mesajınız iki segmente bölünür (bölümleme başlıkları nedeniyle ilk segment 67 karakter, ikincisi ise 56 karakterdir). Geleneksel API ağ geçitleri sizi 1 yerine 2 SMS mesajı için ücretlendirecektir.
Geleneksel sağlayıcıları kullanıyorsanız, bu segmentasyon aylık faturanızı ikiye veya üçe katlayabilir. Bu nedenle birçok işletme, keyfi segment tabanlı ek ücretlerden kaçınmak için bir Twilio alternatifi arar veya en ucuz SMS API rehberine göz atar.
SMS'te Özel Karakterlerden Nasıl Kaçınırım?
Mesajlarınızı 160 karakter sınırı içinde tutmak ve beklenmedik maliyetlerden kaçınmak istiyorsanız, SMS içeriklerinizi aktif olarak temizlemelisiniz. İşte SMS'te özel karakterlerden nasıl kaçınırım sorusuna yönelik uygulanabilir stratejiler:
- Kopyalanıp yapıştırılan metinleri temizleyin: Birçok CRM şablonu "akıllı" noktalama işaretleri içerir. Örneğin, zengin metin düzenleyicisinden kopyalanan bir kesme işareti (’) veya virgül, temiz teslimatı engelleyebilir veya Unicode'u tetikleyebilir. Gerçek bir örnek olarak, bazı dahili kurumsal sistemler danışmanlara kısa bir uyarı yayınlar: "giden sms özel karakterleri: lütfen gönderilen tüm giden sms'lerin en fazla 250 karakter olması gerektiğinin bilincinde olun. mesajınız kayıtlı bir şablondan kopyalanıp yapıştırıldıysa ve virgül (,) veya kesme işareti ('), içeriyorsa, lütfen göndermeden önce özel karakteri kaldırıp yeniden yazın". Akıllı tırnak işaretlerini standart düz tırnak işaretleriyle (') değiştirmek GSM-7 uyumluluğu sağlar.
- GSM dışı karakterleri programatik olarak değiştirin: Sisteminiz dinamik olarak SMS üretiyorsa, "á" karakterini "a"ya, "é" karakterini "e"ye ve "“" karakterini """ karakterine dönüştürmek için bir harf çevirisi (transliterasyon) fonksiyonu uygulayın.
- Platforma özel sınırlamaları yönetin: Kurumsal low-code (düşük kodlu) platformlarda geliştirme yapıyorsanız, JSON serileştirme sırasında metin değişkenlerinin standart noktalama işaretlerini otomatik olarak Unicode eşdeğerlerine dönüştürebildiği special characters in gsm outsystems entegrasyonlarını yönetmek gibi, bu platformların kodlamayı nasıl ele aldığının bilincinde olun.
SMS Metnini Temizlemek İçin Python Kod Parçacığı
İşte SMS'in tanımadığı veya pahalı UCS-2 kodlamasını zorunlu kılacak özel karakterleri temizlemek için basit bir Python fonksiyonu:
import unicodedata
def sanitize_for_gsm7(text):
# Map common smart punctuation to GSM-7 equivalents
replacements = {
'\u2018': "'", '\u2019': "'", # Smart single quotes
'\u201c': '"', '\u201d': '"', # Smart double quotes
'\u2013': '-', '\u2014': '-', # En and em dashes
'\u20ac': 'EUR' # Replace Euro sign if needed
}
for unicode_char, gsm_char in replacements.items():
text = text.replace(unicode_char, gsm_char)
# Normalize accents (e.g., é to e)
normalized = unicodedata.normalize('NFD', text)
gsm7_text = "".join([c for c in normalized if not unicodedata.combining(c)])
return gsm7_text
message = "Hello! Your appointment is confirmed for tomorrow é."
print(sanitize_for_gsm7(message))
# Output: "Hello! Your appointment is confirmed for tomorrow e."
MySMSGate ile Kodlama Endişesine Son Verin
Yerel hizmet işletmeleri, okullar ve klinikler için karakter kodlaması, segment sınırları ve karmaşık faturalandırma yapıları hakkında endişelenmek gereksiz bir baş ağrısıdır. Geleneksel bir SMS gateway ile SMS API arasında seçim yapmak tam bu noktada kritik hale gelir.
MySMSGate bu sorunu tamamen ortadan kaldırır. Mesajlarınızı katı segment çarpanlı fiyatlandırmaya sahip pahalı operatör ağları üzerinden yönlendirmek yerine MySMSGate, kendi Android telefonunuzu ve SIM kartınızı bir SMS ağ geçidine (gateway) dönüştürür.
İşte MySMSGate'in maliyet bilincine sahip işletmeler için kuralları nasıl değiştirdiği:
- Sabit Fiyatlandırma: Uzunluk, karakter kodlaması veya segmentlerden bağımsız olarak gönderilen mesaj başına sabit 0,02 ABD doları ücret alıyoruz. Bir emojinin veya vurgulu karakterin faturanızı ikiye katlayıp katlayatmayacağı konusunda endişelenmenize gerek kalmaz.
- Kendi Numaranızı Kullanın: Mesajlar doğrudan Android telefonunuzun SIM kartından gönderilir. Müşterileriniz yerel ve tanınabilir bir mobil numara görerek yanıt verme ve açılma oranlarını artırır.
- Karmaşık Kayıt İşlemleri Yok: Twilio gibi geleneksel API'lerle ilişkili karmaşık 10DLC kayıtlarından, operatör onaylarından ve aylık marka ücretlerinden kaçının.
- Çift SIM ve Çoklu Cihaz Desteği: Birden fazla telefonu ve SIM kartı tek bir panelden yönetin; her müşteri görüşmesi için tam olarak hangi hattan gönderim yapacağınızı seçin.
Sıkça Sorulan Sorular
SMS karakter kodlaması, özel karakterler ve mesajlaşma sınırlarıyla ilgili bu yaygın soruları inceleyin.
Hangi özel karakterler SMS sınırını 70 karaktere düşürür?
Standart GSM-7 karakter setinde yer almayan her karakter UCS-2 kodlamasını zorunlu kılarak sınırı 70 karaktere düşürür. Buna emojiler, Latin alfabesi dışındaki alfabeler (Kiril, Arapça, Yunanca, İbranice) ve belirli vurgulu harfler veya stilize noktalama işaretleri (kıvrık akıllı tırnaklar gibi) dahildir.
SMS'te boşluklar karakter olarak sayılır mı?
Evet, hem GSM-7 hem de UCS-2 kodlama standartlarında her boşluk tek bir karakter olarak sayılır.
Neden SMS platformum sadece tek bir mesaj göndermeme rağmen benden birden fazla mesaj ücreti alıyor?
Mesajınız (GSM-7'de) 160 karakteri veya (UCS-2'de) 70 karakteri aştıysa, operatör mesajı birden fazla segmente bölmüştür. Geleneksel API'ler sizi segment başına faturalandırır, yani tek bir uzun mesaj size kolayca taban ücretin 2 veya 3 katına mal olabilir.
SMS mesajımın özel karakterler içerip içermediğini nasıl test edebilirim?
Metninizin API sağlayıcınıza gönderilmeden önce UCS-2 Unicode kodlamasını tetikleyip tetiklemediğini tespit etmek için çevrimiçi SMS segment hesaplayıcılarını kullanabilir veya arka ucunuzda basit bir temizleme betiği çalıştırabilirsiniz.
Comments (0)
Be the first to comment!