შეასწორეთ კამპანია ახალი რეგისტრაციის შექმნის გარეშე
გამოიყენეთ ეს მარშრუტი არსებული კამპანიის აღწერის, შეტყობინებების მაგალითების, თანხმობის განმარტების ან მხარდაჭერილი შიგთავსის მახასიათებლების შესასწორებლად. შეინარჩუნეთ კამპანიის იდენტიფიკატორი და მისი მიმდინარე ბრენდი და გამოყენების შემთხვევა. არსებული კამპანიის შესწორების ხელახლა ცდის მექანიზმი ახალი რეგისტრაცია არ არის.
გაიარეთ ავთენტიფიკაცია ჩართული API ანგარიშით, HTTPS-ის მეშვეობით, ნებადართული საწყისი IP მისამართიდან. ხელმისაწვდომია მხოლოდ ამ ანგარიშის კუთვნილი კამპანია. ცვლილებების მომზადებამდე წაიკითხეთ მისი მიმდინარე მდგომარეობა; ვადაგასული კამპანიების განახლება ამ სამუშაო პროცესით შეუძლებელია.
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"აირჩიეთ ველები, რომლებიც რეალურად შეიცვალა
მოამზადეთ campaign-update.json მხარდაჭერილი ცვლილებებით. მიმდინარე პორტალი აგზავნის მხოლოდ კამპანიის შეცვლილ ველებს და არ აგზავნის brandId, usecase, campaignId ველებს ან სტატუსის ინფორმაციას, რომელიც მხოლოდ პასუხში ბრუნდება. უშუალო API განახლებებიც იყენებს ველების JSON ობიექტს და არა პორტალის changes/version შემომსაზღვრელ სტრუქტურას.
| ველები | რა უნდა მიუთითოთ |
|---|---|
| description, messageFlow | სერვისის ზუსტი აღწერა და განმარტება, თუ როგორ იძლევიან ადამიანები თანხმობას, იღებენ შეტყობინებებს და აუქმებენ თანხმობას. თითოეული ველი უშვებს 40–4096 სიმბოლოს. |
| sample1–sample5 | ამ კამპანიის რეალისტური მაგალითები, თითოეულ არაცარიელ მაგალითში 20–1024 სიმბოლოთი. შეინარჩუნეთ კვალიფიცირებული გამოყენების შემთხვევისთვის მოთხოვნილი მაგალითების რაოდენობა; არ გაგზავნოთ შეუსაბამო შეტყობინებები. |
| helpMessage, optinMessage, optoutMessage | მიმღებისთვის განკუთვნილი შესაბამისი პასუხები, მაქსიმუმ 1024 სიმბოლო. საჭიროების შემთხვევაში დაიცავით 20 სიმბოლოს მინიმუმი და განმარტეთ რეალური სერვისი. ველის გასუფთავებამდე გაეცანით თანხმობის მიმდინარე მოთხოვნებს. |
| optinKeywords, optoutKeywords, helpKeywords | მძიმეებით გამოყოფილი საკვანძო სიტყვები გამოტოვებების გარეშე, მაქსიმუმ 255 სიმბოლო. პასუხები და საკვანძო სიტყვების პრაქტიკული დამუშავება ერთმანეთთან შესაბამისობაში შეინარჩუნეთ. |
| privacyPolicyLink, termsAndConditionsLink | შესაბამისი საჯარო ვებმისამართები, მაქსიმუმ 2048 სიმბოლო, რომლებიც ამ სერვისის რეალურ პრაქტიკას აღწერს. |
| embeddedLinkSample | ბმულის ტიპური მაგალითი, რომელსაც შეტყობინებები შეიცავს, მაქსიმუმ 255 სიმბოლო. |
| numberPool, embeddedLink, embeddedPhone, ageGated, directLending | კამპანიის რეალური მახასიათებლები JSON ლოგიკური მნიშვნელობების სახით. რომელიმე მათგანის გამოსართავად გამოიყენეთ false და არა სტრიქონი "false". |
| autoRenewal | საჯარო API სქემა მხარს უჭერს ამ JSON ლოგიკურ მნიშვნელობას, თუმცა პორტალის კამპანიის შიგთავსის ჩვეულებრივ რედაქტორში ის ხელმისაწვდომი არ არის. განახლების გამორთვა არ აუქმებს არსებულ მინიმალურ ვალდებულებას და არ შლის უკვე გადასახდელ თანხებს. |
| resellerId | სქემა ასევე იძლევა გადამყიდველთან დაკავშირების შესაძლებლობას. ეს პორტალის შიგთავსის შესწორების ჩვეულებრივი ფორმის ფარგლებს სცდება. არ გამოიყენოთ ეს ველი კამპანიის მომხმარებლებს შორის გადასატანად და არ ჩათვალოთ, რომ API სხვა გადამყიდველისთვის ოპერატორის სერვისს დააკონფიგურირებს. |
განახლების სქემაში brandId, usecase, subscriberOptin, subscriberOptout ან subscriberHelp შეცვლად ველებად გათვალისწინებული არ არის. არ დააკოპიროთ კამპანიის შექმნის სრული მოთხოვნის მონაცემები განახლების მოთხოვნაში. გაეცანით მიმდინარე კვალიფიკაციას შეტყობინებების მოთხოვნების განხილვისას.
გაგზავნეთ მიზნობრივი შესწორება
ეს მაგალითი აღწერს შეხვედრების შეხსენების საილუსტრაციო სერვისს. გამოყენებამდე მოარგეთ ის კამპანიის რეალურ სერვისსა და თანხმობის მიღების პროცესს.
{
"description": "Appointment reminders requested by customers of the registered business.",
"sample1": "Example business: Your requested appointment reminder is ready. Reply STOP to opt out."
}curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
--request PUT \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--data-binary @campaign-update.json \
"https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"იმავე განზრახული გაგზავნისთვის შეინარჩუნეთ იგივე გასაღები და მეთოდის, გზის, მოთხოვნის პარამეტრებისა და სხეულის ზუსტად იგივე ბაიტები. შეცვლილ შიგთავსს ცალკე განხილული მოთხოვნა სჭირდება; დროის ამოწურვის შემდეგ გასაღებები დაუფიქრებლად არ შეცვალოთ. დასრულებულმა მოთხოვნამ შეიძლება ქეშში შენახული შეცდომა ხელახლა დააბრუნოს, ხოლო დამუშავების პროცესში მყოფმა დუბლიკატმა შეიძლება დააბრუნოს 409 Retry-After-თან ერთად.
ხელახლა წაიკითხეთ კამპანია
HTTP 200 უშუალოდ კამპანიის JSON ობიექტს აბრუნებს. გადაამოწმეთ campaignId, შემდეგ GET მოთხოვნით მიიღეთ იგივე კამპანია და შეადარეთ განზრახული ველები. წარმატებული შენახვა თავისთავად არ ითხოვს ოპერატორის მიერ ხელახალ განხილვას, არ ცვლის ნომრების მინიჭებას, არ ააქტიურებს გაგზავნას და არ აგზავნის შეტყობინებას.
პორტალი შენახვამდე ამოწმებს ფორმის ვერსიას და შემდეგ კამპანიას ხელახლა კითხულობს. საჯარო PUT საბოლოო წერტილი პორტალის ამ ვერსიის დაცვას არ უზრუნველყოფს: შეათანხმეთ ერთდროული შესწორებები. იდემპოტენტურობის გასაღები სხვა რედაქტორის განახლებას ვერ აღმოაჩენს.
თუ პორტალში განხილვის მოუგვარებელი უარი ჩანს, ჯერ შეასწორეთ შიგთავსი, შემდეგ კი გამოიყენეთ განხილვის მოთხოვნის ცალკე მოქმედება, როდესაც ის ხელმისაწვდომია. ეს მოქმედება ამოწმებს რეალურ გარემოში არსებულ მიმდინარე კამპანიასა და გაზიარების მდგომარეობას. მხოლოდ შიგთავსის შენახვა მას არ იძახებს, ხოლო კამპანიის იდენტიფიკატორის არსებობა დამტკიცებას არ ნიშნავს.
მიმდინარე სერვისში კამპანიის ჩვეულებრივი PUT განახლებები კამპანიის რეგისტრაციისთვის ცალკე თანხის ჩამოჭრას არ იწვევს. არსებული ყოველთვიური საფასური, მინიმალური ვალდებულებები, ნომრების ქირა და შეტყობინებების გამოყენების საფასური კვლავ ძალაში რჩება. კამპანიის ამჟამად კონფიგურირებული ტარიფებისთვის იხილეთ კამპანიის საფასური.
გაითვალისწინეთ შეზღუდვები და გაურკვეველი შედეგები
HTTP 400-ის შემთხვევაში წაიკითხეთ ველის დონის შეცდომა და შეამოწმეთ სიგრძეები, თანხმობის ტექსტი და კამპანიის მდგომარეობა. 401, 403 ან 404-ის შემთხვევაში შეამოწმეთ API ავტორიზაციის მონაცემები, ნებადართული საწყისი IP მისამართი და კუთვნილება. 429-ის შემთხვევაში დაიცავით Retry-After. 500, 502-ის ან შეწყვეტილი მოთხოვნის შემთხვევაში შეინარჩუნეთ კამპანიის იდენტიფიკატორი და ნებისმიერი requestId, შემდეგ კი ხელახალ გაგზავნამდე გადაამოწმეთ და შეაჯერეთ არსებული ჩანაწერი.
ლოკალური ასლი დამოკიდებულია დაბრუნებულ სხეულზე. არაცარიელ ნაწილობრივ პასუხში შეიძლება გამოტოვებული იყოს ძველი ველები, მათ შორის განახლების მეტამონაცემები; ცარიელმა პასუხმა შეიძლება მოძველებული მნიშვნელობები შეინარჩუნოს. გადაამოწმეთ GET მოთხოვნის სრული შედეგი და მხოლოდ წარმატება ყველა ველის შენარჩუნების მტკიცებულებად არ მიიჩნიოთ. მოუგვარებელი განსხვავებების შესახებ აცნობეთ მხარდაჭერის სამსახურს. ეს მარშრუტი ოპერატორთან მინიჭებებს ატომურად არ აახლებს და ოპერატორის აქტივაციის აღდგენის ზოგად მოქმედებას არ უზრუნველყოფს.