Sign inGet Started

SMS स्मार्ट एन्कोडिंग

टाइपोग्राफ़िक प्रतिस्थापन किसी SMS को GSM-7 से बाहर धकेल सकते हैं। कोई वर्ड प्रोसेसर ' को ’ में बदल देता है, पेस्ट किए गए टेक्स्ट में em dash होता है, या कोई फ़ॉर्म फ़ील्ड non-breaking space रखता है। हर एक GSM-7 अक्षर जैसा दिखता है, लेकिन एक भी non-GSM अक्षर पूरे बॉडी को UCS-2 में बदल देता है, जिससे हर सेगमेंट की क्षमता कम हो जाती है।
स्मार्ट एन्कोडिंग उन अक्षरों को उनके GSM-7 समकक्षों से बदल देती है, इससे पहले कि Bird संदेश कैरियर को सौंपे, ताकि जो बॉडी सिर्फ़ non-GSM दिख रही थी वह GSM-7 बनी रहे और कम सेगमेंट में बिल हो।

इसे चालू करना

यह डिफ़ॉल्ट रूप से बंद होती है, क्योंकि यह आपके प्राप्तकर्ता को दिखने वाला टेक्स्ट बदल देती है। भेजते समय options.smart_encoding को true सेट करें:
await bird.sms.send({
  to: "+31612345678",
  from: "Bird",
  text: "Your order shipped, track it here…",
  category: "transactional",
  options: { smart_encoding: true },
});
Go और PHP SDK इसे nullable फ़ील्ड के रूप में लेते हैं, इसलिए इसे सेट न करने पर false भेजने की बजाय Bird का डिफ़ॉल्ट लागू होता है।
स्मार्ट एन्कोडिंग प्रति संदेश सेट करें। Bird अकाउंट-व्यापी या प्रति-सेंडर सेटिंग प्रदान नहीं करता।

जब Bird UCS-2 बनाए रखता है

प्रतिस्थापन तभी लागू होता है जब यह पूरी बॉडी को GSM-7 में बदल सके। अगर कोई भी अक्षर GSM-7 के बाहर रहता है, तो Bird बॉडी को ठीक वैसे ही भेजता है जैसी दी गई थी।
एक अकेला इमोजी, CJK अक्षर, या GSM-7 के बाहर का कोई एक्सेंटेड अक्षर पूरे संदेश को UCS-2 में रखता है:
कोड उदाहरण
{ "text": "Hoe gaat het vandaag? á “" }
“ बदला जा सकता है, लेकिन á GSM-7 में नहीं है और तालिका में इसकी कोई प्रविष्टि नहीं है, इसलिए यह बॉडी UCS-2 के रूप में अपरिवर्तित भेजी जाती है। GSM-7 में à, ä, å, é, è, ì, ò, ù, ö, ñ, ü शामिल हैं लेकिन á, í, या ú नहीं।
एक्सेंटेड अक्षर जानबूझकर तालिका से बाहर रखे गए हैं। á को a में बदलने से शब्द ही बदल जाएगा, न कि उसका अनुमानित रूप बनेगा, और स्पैनिश या पुर्तगाली लिखने वाले सेंडर के लिए यह गलत सौदा है।
नॉर्मलाइज़ेशन कंबाइनिंग एक्सेंट को प्रभावित करता है। NFD टेक्स्ट में, एक डिकंपोज़्ड ê एक्सेंट को अलग कंबाइनिंग मार्क के रूप में स्टोर करता है, इसलिए स्मार्ट एन्कोडिंग उसे e^ में बदल देती है। एक प्रीकंपोज़्ड ê अपरिवर्तित रहता है और UCS-2 का उपयोग करता है।

यह क्या नहीं करती

  • यह कभी ट्रंकेट नहीं करती। 12-सेगमेंट सीमा से बड़ी बॉडी 422 के साथ रिजेक्ट होती है, और सीमा प्रतिस्थापन के बाद मापी जाती है, इसलिए ऑप्ट इन करने से कोई ओवरसाइज़ बॉडी सीमा के अंदर आ सकती है।
  • यह पहले से GSM-7 वाली बॉडी को नहीं छूती, क्योंकि उसमें बचाने के लिए कोई सेगमेंट नहीं होते।
  • यह सेगमेंट काउंट के अलावा आपकी बिलिंग में कुछ नहीं बदलती: काउंट भेजी गई बॉडी से कंप्यूट होता है।

क्या हुआ, यह वापस पढ़ना

संदेश दोनों पक्ष रिपोर्ट करता है। text भेजी गई बॉडी है, और options.smart_encoding लागू हुई सेटिंग रिपोर्ट करता है:
कोड उदाहरण
{
  "text": "Your order shipped - track it here...",
  "segments": { "count": 1, "encoding": "GSM_7BIT", "characters": 36 },
  "options": { "smart_encoding": true }
}
आपने जिस सेंड में ऑप्ट इन किया, उस पर encoding का UCS2 होना बताता है कि बॉडी को GSM-7 में नहीं लाया जा सका। कोई विशिष्ट संदेश भेजने से पहले उसका परिणाम देखने के लिए, टेक्स्ट को SMS सेगमेंट कैलकुलेटर में पेस्ट करें।

पूर्ण प्रतिस्थापन तालिका

प्रतिस्थापन तालिका में वे सभी अक्षर सूचीबद्ध हैं जो स्मार्ट एन्कोडिंग चालू होने पर बदले जाते हैं। अन्य अक्षर, जो पहले से GSM-7 में हैं, अपरिवर्तित रहते हैं।
प्रतिस्थापनबदले गए अक्षर
spaceU+00A0, U+2000, U+2001, U+2002, U+2003, U+2004, U+2005, U+2006, U+2007, U+2008, U+2009, U+200A, U+202F, U+205F, U+3000
!ǃ U+01C3, ︕ U+FE15, ﹗ U+FE57, ! U+FF01
!!‼ U+203C
"« U+00AB, » U+00BB, ʺ U+02BA, ˮ U+02EE, “ U+201C, ” U+201D, „ U+201E, ‟ U+201F, ❝ U+275D, ❞ U+275E, 〝 U+301D, 〞 U+301E, " U+FF02
#﹟ U+FE5F, # U+FF03
$﹩ U+FE69, $ U+FF04
%﹪ U+FE6A, % U+FF05
&﹠ U+FE60, & U+FF06
'` U+0060, ´ U+00B4, ʹ U+02B9, ʻ U+02BB, ʼ U+02BC, ʽ U+02BD, ˈ U+02C8, ˊ U+02CA, ˋ U+02CB, U+0313, U+0314, ‘ U+2018, ’ U+2019, ‛ U+201B, ❛ U+275B, ❜ U+275C, ︐ U+FE10, ︑ U+FE11, ' U+FF07
(❨ U+2768, ❪ U+276A, ⟮ U+27EE, ⦅ U+2985, ﹙ U+FE59, ( U+FF08
)❩ U+2769, ❫ U+276B, ⟯ U+27EF, ⦆ U+2986, ﹚ U+FE5A, ) U+FF09
*⁎ U+204E, ∗ U+2217, ⊛ U+229B, ✢ U+2722, ✣ U+2723, ✤ U+2724, ✥ U+2725, ✱ U+2731, ✲ U+2732, ✳ U+2733, ✺ U+273A, ✻ U+273B, ✼ U+273C, ✽ U+273D, ❃ U+2743, ❉ U+2749, ❊ U+274A, ❋ U+274B, ⧆ U+29C6, ﹡ U+FE61, * U+FF0A
+˖ U+02D6, ﹢ U+FE62, + U+FF0B
,U+0326, ‚ U+201A, 、 U+3001, ﹐ U+FE50, ﹑ U+FE51, , U+FF0C, 、 U+FF64
-‐ U+2010, – U+2013, — U+2014, ― U+2015, • U+2022, ⁃ U+2043, ⎼ U+23BC, ⎽ U+23BD, ﹣ U+FE63, - U+FF0D
.。 U+3002, ﹒ U+FE52, . U+FF0E, 。 U+FF61
...… U+2026
/÷ U+00F7, U+0337, U+0338, ⁄ U+2044, ∕ U+2215, ⧸ U+29F8, / U+FF0F
00 U+FF10
11 U+FF11
1/2½ U+00BD
1/4¼ U+00BC
22 U+FF12
33 U+FF13
3/4¾ U+00BE
44 U+FF14
55 U+FF15
66 U+FF16
77 U+FF17
88 U+FF18
99 U+FF19
:ː U+02D0, ˸ U+02F8, ⦂ U+2982, ꞉ U+A789, ︓ U+FE13, : U+FF1A
;⁏ U+204F, ︔ U+FE14, ﹔ U+FE54, ; U+FF1B
<‹ U+2039, ﹤ U+FE64, < U+FF1C
=U+0347, ꞊ U+A78A, ﹦ U+FE66, = U+FF1D
>› U+203A, ﹥ U+FE65, > U+FF1E
?︖ U+FE16, ﹖ U+FE56, ? U+FF1F
@﹫ U+FE6B, @ U+FF20
Aᴀ U+1D00, A U+FF21
Bʙ U+0299, B U+FF22
Cᴄ U+1D04, C U+FF23
Dᴅ U+1D05, D U+FF24
Eᴇ U+1D07, E U+FF25
Fꜰ U+A730, F U+FF26
Gɢ U+0262, G U+FF27
Hʜ U+029C, H U+FF28
Iɪ U+026A, I U+FF29
Jᴊ U+1D0A, J U+FF2A
Kᴋ U+1D0B, K U+FF2B
Lʟ U+029F, L U+FF2C
Mᴍ U+1D0D, M U+FF2D
Nɴ U+0274, N U+FF2E
Oᴏ U+1D0F, O U+FF2F
Pᴘ U+1D18, P U+FF30
QQ U+FF31
Rʀ U+0280, R U+FF32
Sꜱ U+A731, S U+FF33
Tᴛ U+1D1B, T U+FF34
Uᴜ U+1D1C, U U+FF35
Vᴠ U+1D20, V U+FF36
Wᴡ U+1D21, W U+FF37
XX U+FF38
Yʏ U+028F, Y U+FF39
Zᴢ U+1D22, Z U+FF3A
[[ U+FF3B
\U+20E5, ⧵ U+29F5, ⧹ U+29F9, ﹨ U+FE68, \ U+FF3C
]] U+FF3D
^ˆ U+02C6, U+0302, U+1DCD, ^ U+FF3E
_U+0332, ‗ U+2017, _ U+FF3F
{❴ U+2774, ﹛ U+FE5B, { U+FF5B
|U+20D2, U+20D3, ∣ U+2223, ⎜ U+239C, ⎟ U+239F, ⎸ U+23B8, ⎹ U+23B9, ⏐ U+23D0, | U+FF5C
}❵ U+2775, ﹜ U+FE5C, } U+FF5D
~˜ U+02DC, ˷ U+02F7, U+0303, U+0330, U+0334, ∼ U+223C, ~ U+FF5E
हटाए गएU+200B, U+2028, U+2029, U+2060, U+FEFF
व्हाइटस्पेस वेरिएंट एक सिंगल स्पेस (U+0020) में बदल जाते हैं। अंतिम पंक्ति में ज़ीरो-विड्थ और फ़ॉर्मेटिंग अक्षर सूचीबद्ध हैं जो बदले जाने की बजाय हटा दिए जाते हैं।

अगले कदम