გააანალიზეთ შეტყობინების ზუსტი ტექსტი
გამოთვალეთ იმ ტექსტის კოდირება, კოდირებული სიგრძე და SMS-ის სეგმენტების რაოდენობა, რომლის გაგზავნასაც აპირებთ. ეს ენდპოინტი არ აგზავნის SMS-ს, არ ჯავშნის მარშრუტს და არ აბრუნებს მიწოდების ფასის შეთავაზებას. მიაწოდეთ სრული საბოლოო ტექსტი, მათ შორის ნებისმიერი ბოლოში დასართავი ტექსტი, ბმული ან შეტყობინებების მიღებაზე უარის თქმის ფორმულირება, რომელსაც თქვენი გაგზავნის პროცესი ამატებს.
მოთხოვნა
გაიარეთ ავთენტიფიკაცია თქვენი გააქტიურებული API ანგარიშით და ამ ანგარიშისთვის დაშვებული წყაროს IP მისამართიდან. შეინახეთ წვდომის მონაცემები სერვერის მხარეს, საიდუმლო მონაცემების საცავში. გაგზავნეთ UTF-8 სტრიქონი text ველში; მაგალითში გამოყენებულია გარემოს ცვლადები.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--data-urlencode 'text=Your message here' \
https://api.multitel.net/v3/smslengthმხარდაჭერილია ფორმის ფორმატში კოდირებული შემავალი მონაცემები. JSON ობიექტიც, მაგალითად, {"text":"Your message here"} მიიღება, თუ არც ფორმის და არც მოთხოვნის სტრიქონის ველები არ არის მოწოდებული. უპირატესობა მიანიჭეთ POST მეთოდს, რათა შეტყობინების ტექსტი URL-ში არ გამოჩნდეს. თუ მონაცემები ფორმითაც და მოთხოვნის სტრიქონითაც არის მოწოდებული, გამოიყენება ფორმა. ნუ შეურევთ მოთხოვნის ფორმატებს.
პასუხი
{
"status": {
"code": "200",
"msg": ""
},
"response": {
"charset": 0,
"encoding": "GSM-7",
"count": 1,
"parts": 1,
"chars": 17,
"units": 17,
"single_limit": 160,
"multipart_limit": 153
}
}| ველი | მნიშვნელობა |
|---|---|
| charset | 0 — GSM-7 კოდირებისთვის ან 2 — UTF-16 კოდირებისთვის. |
| encoding | GSM-7 ან UTF-16. |
| parts, count | SMS-ის სეგმენტების გამოთვლილი რაოდენობის ორი დასახელება. ცარიელი ტექსტისთვის ორივე ნულის ტოლია. |
| units, chars | კოდირებული ერთეულების ორი დასახელება. მათი რაოდენობა ყოველთვის არ ემთხვევა ხილული სიმბოლოების რაოდენობას. |
| single_limit | არჩეული კოდირების შემთხვევაში ერთი სეგმენტისთვის დაშვებული კოდირებული ერთეულების ზღვარი. |
| multipart_limit | თითოეული სეგმენტისთვის გამოყენებული კოდირებული ერთეულების ზღვარი, სეგმენტების შესაერთებლად საჭირო დამატებითი მონაცემების გათვალისწინებით. |
კოდირება და სეგმენტების ზღვრები
| კოდირება | ერთი სეგმენტი | მრავალსეგმენტიანი შეტყობინების სეგმენტი |
|---|---|---|
| GSM-7 | 160 სეპტეტი | 153 სეპტეტი |
| UTF-16 | 70 კოდური ერთეული | 67 კოდური ერთეული |
GSM-7 კოდირების გაფართოების სიმბოლოები, როგორიცაა ^, ფიგურული ფრჩხილები, კვადრატული ფრჩხილები, უკუ დახრილი ხაზი, ვერტიკალური ხაზი, ტილდა და ევროს ნიშანი, ორ სეპტეტს იკავებს. სიმბოლო, რომელიც GSM-7 კოდირებაში არ შედის, მთელი შეტყობინების დათვლას UTF-16 კოდირებაზე გადართავს. ემოჯი, რომელიც ძირითად მრავალენოვან სიბრტყეში არ შედის, ორ UTF-16 ერთეულს იყენებს; ხილული ემოჯის მიმდევრობა შეიძლება რამდენიმე კოდურ წერტილს შეიცავდეს.
მაგალითად, 160 ჩვეულებრივი GSM-7 ასო ერთ სეგმენტში ეტევა, ხოლო 161 ასოს ორი სჭირდება. ოთხმოცი ^ სიმბოლო 160 ერთეულს იყენებს და ერთ სეგმენტში ეტევა; ოთხმოცდაერთი სიმბოლო 162 ერთეულს იყენებს და ორ სეგმენტს მოითხოვს. ოცდათხუთმეტი მარტივი ემოჯი, რომელიც ძირითად მრავალენოვან სიბრტყეში არ შედის, 70 UTF-16 ერთეულს იყენებს და ერთ სეგმენტში ეტევა; ოცდათექვსმეტი 72 ერთეულს იყენებს და ორ სეგმენტს მოითხოვს. კომბინირებადმა ნიშნებმა და შეერთებულმა ემოჯიებმა შეიძლება ეს რაოდენობები შეცვალოს.
შეცდომები და ცარიელი ტექსტი
თუ text ველი აკლია, სკალარული მნიშვნელობის ნაცვლად მასივი ან ობიექტია მოწოდებული, ან UTF-8 არავალიდურია, API აბრუნებს კოდს 403. წაიკითხეთ JSON პასუხის status.code და status.msg ველები, ასევე HTTP სტატუსი; ეს ენდპოინტი კოდს სტრიქონის სახით აბრუნებს. ცარიელი სტრიქონი დასაშვებია და შედეგად ნულ ერთეულსა და ნულ სეგმენტს აბრუნებს.
გამოიყენეთ შედეგი გაგზავნამდე
შემოწმებული კალკულატორი არ აგზავნის შეტყობინებას, არ მიმართავს ოპერატორს და არ ჩამოჭრის თანხას ანგარიშიდან. მისი შედეგი მოწოდებული ტექსტის ანალიზია და არა მიწოდების გარანტია ან საბოლოო ანგარიში. გაგზავნას შეიძლება უკავშირდებოდეს დანიშნულების მიხედვით განსხვავებული ტარიფები, ოპერატორის საკომისიოები, კამპანიის მოთხოვნები და ტექსტის დამატებითი გარდაქმნები. შეტყობინების შეცვლის შემდეგ ხელახლა გამოთვალეთ შედეგი, შემდეგ კი გამოიყენეთ დამტკიცებული გაგზავნის პროცესი და ანგარიშის მოქმედი ფასები.