ადგილობრივი ნომრების მოსაძიებლად გამოიყენება getcountries და getareas. ეროვნული, უფასო, ხარჯის გაზიარებით, გლობალური და მობილური ნომრებისთვის გამოიძახეთ other ქვეყნის ISO კოდით.
- ჯგუფები ფიქსირებული მიმდევრობით გამოჩნდება, ხოლო ჯგუფები, რომლებსაც ჩანაწერები არ აქვს, გამოტოვებულია.
- თითოეულ ჩანაწერში თქვენი ანგარიშის სატარიფო გეგმები ჩამოთვლილია ველში
prices. გეგმის არჩევისას გაითვალისწინეთ მისი ველები:channels,monthly_price,setup_price,per_minuteდაfree_minutes, და შეინახეთ მისიprice_idშეკვეთისთვის, თუ შესაბამისი ენდპოინტი მას მოითხოვს. - თუ
needs_registrationლოგიკურად ჭეშმარიტ მნიშვნელობად ფასდება, წაიკითხეთrestrictionsშეკვეთამდე. ეს ტექსტი განიხილეთ, როგორც საჩვენებლად განკუთვნილი არასანდო შიგთავსი. - მიჰყევით ველს
next_function:v3/getnumbers/{uuid}კონკრეტული ნომრის არჩევის საშუალებას გაძლევთ, ხოლოv3/order/{uuid}შეკვეთას უშუალოდ ჩანაწერიდან აფორმებს. - ცარიელი
responseსია კოდით200ნიშნავს, რომ მოთხოვნის მომენტში სპეციალური ნომრების ტიპები ვერ მოიძებნა. თუ კატალოგი დროებით მიუწვდომელი იყო, პასუხი შეიძლება არასრული იყოს ან არ წარმოადგენდეს ვალიდურ JSON-ს, ამიტომ მოგვიანებით ხელახლა სცადეთ. - კატალოგში არმყოფი ქვეყნებისთვის ბრუნდება კოდი
404შესაბამისი HTTP სტატუსის გარეშე. ყოველთვის შეამოწმეთstatus.code.
მოთხოვნა
სავალდებულოა: HTTP Basic ან Bearer ტოკენი (იხილეთ ავთენტიფიკაცია და API-ის პასუხები). ავთენტიფიკაციის წარუმატებლობისას, ძიების დაწყებამდე, პასუხად იგზავნება HTTP 401.
GET მოთხოვნა გზაში მითითებული isocode პარამეტრით. თუ გზის ეს სეგმენტი გამოტოვებულია, მის ნაცვლად იკითხება ფორმის კოდირებით გადაცემული isocode ველი.
curl --user "$API_USER:$API_PASSWORD" 'https://api.multitel.net/v3/other/FR'| სახელი | ტიპი | სავალდებულო | აღწერა |
|---|---|---|---|
isocode | string | დიახ | ქვეყნის ISO 3166-1 alpha-2 კოდი. ასოების რეგისტრს მნიშვნელობა არ აქვს; დასაწყისსა და ბოლოში არსებული ცარიელი სივრცის სიმბოლოები უგულებელყოფილია. ქვეყანა დაკავშირებული უნდა იყოს სპეციალური ნომრების კატალოგთან. |
პასუხი
სტანდარტული გარე სტრუქტურა. წარმატების შემთხვევაში status.code არის 200, status.msg ცარიელია, ხოლო status.results ჯგუფების რაოდენობაა. response ჯგუფების სიაა. ჯგუფის ველები: group_key (ტიპის ნორმალიზებული გასაღები: national, tollfree, sharedcost, global, mobile ან სხვა გასაღები, რომელიც პატარა ლათინური ასოებისა და ციფრებისგან შედგება); group_name (საჩვენებელი სახელი); group_type_uuid (ტიპის გაუმჭვირვალე იდენტიფიკატორი); items. ჯგუფების მიმდევრობაა national, tollfree, sharedcost, global, mobile, შემდეგ კი სხვა გასაღებები, დალაგებული group_name ველის მიხედვით. ჯგუფები, რომლებსაც items ჩანაწერები არ აქვს, გამოტოვებულია; ასევე გამოტოვებულია ადგილობრივი ტიპი. US ქვეყნისთვის მობილური ჯგუფი გამოტოვებულია, თუ თქვენს ანგარიშზე US ქვეყნის მობილური ნომრები ჩართული არ არის. ჩანაწერები დალაგებულია name ველის მიხედვით (ასოების რეგისტრის გაუთვალისწინებლად), შემდეგ კი prefix ველის მიხედვით. ჩანაწერის ველები: uuid (ჩანაწერის გაუმჭვირვალე იდენტიფიკატორი, რომელიც გამოიყენება next_function ველში); area_uuid (კატალოგის ჯგუფის გაუმჭვირვალე იდენტიფიკატორი); country_uuid (ქვეყნის გაუმჭვირვალე იდენტიფიკატორი); prefix (სრული პრეფიქსი, რომელიც იწყება '+' ნიშნითა და ქვეყნის სატელეფონო კოდით); name (კატალოგის სახელი; ბრჭყალების სიმბოლოები შეიძლება უკუღმა დახრილი ხაზით ეკრანირებული იყოს); metered, overflow და needs_registration (ალმები, რომელთა ტიპი შეიძლება იყოს boolean ან number; ნებისმიერი ლოგიკურად ჭეშმარიტად შეფასებული მნიშვნელობა აღიქვით როგორც დიახ); restrictions (ცარიელია, როცა რეგისტრაცია საჭირო არ არის; სხვა შემთხვევაში შეიცავს მოთხოვნების ტექსტს, რომელიც შეიძლება მოიცავდეს HTML ხაზის წყვეტებსა და ბმულს, ტექსტის გარშემო ბრჭყალებსა და ეკრანირებულ სიმბოლოებს; განიხილეთ ის, როგორც საჩვენებლად განკუთვნილი არასანდო ტექსტი); state (US, CA და PR ქვეყნებისთვის — შტატის კოდი, ან ცარიელი სია, თუ კოდი ცნობილი არ არის; სხვა ქვეყნებისთვის — ქვეყნის ISO კოდი); country_iso; is_mobile (1 მობილურ ჯგუფში, სხვა შემთხვევაში 0); number_type (იგივეა, რაც group_key); available (integer ტიპის რაოდენობა, რომელსაც კატალოგი ჩანაწერისთვის იუწყება; 0, თუ რაოდენობა მითითებული არ არის); sms_coverage (1, თუ რომელიმე შესაძლებლობის აღწერაში SMS ან MMS არის ნახსენები); returns_numbers (1, როცა კონკრეტული ნომრების ჩამოთვლა შესაძლებელია); next_function ('v3/getnumbers/{uuid}', როცა returns_numbers არის 1, სხვა შემთხვევაში 'v3/order/{uuid}'); prices; features (შესაძლებლობების აღმწერი სტრიქონების სია); group_key; group_type_uuid. თითოეული prices ჩანაწერი შეიცავს ველებს: price_id (გეგმის გაუმჭვირვალე იდენტიფიკატორი), is_customer_custom (true, როცა თქვენი ანგარიშისთვის ინდივიდუალური ფასები მოქმედებს; მხოლოდ იმ გეგმებისთვის, რომლებშიც არხები არ შედის), per_minute და free_minutes (ათწილადი რიცხვების შემცველი სტრიქონები), setup_price და monthly_price (სტრიქონები ათწილადის შემდეგ ორი ციფრით) და channels (გეგმაში შემავალი არხების რაოდენობა integer ტიპით). ჩანაწერები, რომლებსაც არცერთი სატარიფო გეგმა არ აქვს, გამოტოვებულია. თითო მოთხოვნაზე ნომრის თითოეული ტიპისთვის განიხილება კატალოგის მაქსიმუმ 1000 ჩანაწერი. თუ არცერთ ტიპს არ აქვს ჩანაწერები, response ცარიელი სიაა, ხოლო status.results არის 0. თუ მიმდინარე კატალოგში ძიება ვერ შესრულდა, პასუხმა შეიძლება არ გამოიყენოს ეს გარე სტრუქტურა ან ზოგიერთი ჯგუფი აკლდეს.
პასუხის სტრუქტურის საილუსტრაციო მაგალითი; ეს არ არის ანგარიშის მიმდინარე მონაცემები ან მოქმედი ფასის შეთავაზება.
{
"status": {
"code": 200,
"msg": "",
"results": 1
},
"response": [
{
"group_key": "tollfree",
"group_name": "Toll-free",
"group_type_uuid": "00000000-0000-4000-8000-0000000000a1",
"items": [
{
"uuid": "0000000000000000000000000000b001",
"area_uuid": "0000000000000000000000000000a001",
"country_uuid": "0000000000000000000000000000c001",
"prefix": "+33800",
"name": "Example Toll-free",
"metered": true,
"overflow": 0,
"needs_registration": 0,
"restrictions": "",
"state": "FR",
"country_iso": "FR",
"is_mobile": 0,
"number_type": "tollfree",
"available": 10,
"sms_coverage": 0,
"returns_numbers": 1,
"next_function": "v3/getnumbers/0000000000000000000000000000b001",
"prices": [
{
"price_id": "0000000000000000000000000000d001",
"is_customer_custom": false,
"per_minute": "0.05",
"free_minutes": "0",
"setup_price": "0.00",
"monthly_price": "5.00",
"channels": 2
}
],
"features": ["voice"],
"group_key": "tollfree",
"group_type_uuid": "00000000-0000-4000-8000-0000000000a1"
}
]
}
]
}შეცდომები
- 500: msg 'ISO Code parameter is required': isocode არ არის მითითებული ან ცარიელია. ეს არის მოთხოვნის შეცდომა, რომლის გამოსწორებაც შესაძლებელია. შესაბამისი HTTP სტატუსი არ დგინდება.
- 404: msg 'Error: no such country': ქვეყანა უცნობია ან სპეციალური ნომრების კატალოგთან დაკავშირებული არ არის. შესაბამისი HTTP სტატუსი არ დგინდება.
- 401: ავთენტიფიკაცია არ არის წარმოდგენილი ან წარუმატებელია. იგზავნება HTTP სტატუსით 401.
ხელმისაწვდომობა და გვერდითი ეფექტები
- შეკვეთას არ აფორმებს. ამ ენდპოინტის კოდში თანხის ჩამოჭრის ნაბიჯი არ არის.
- აახლებს კატალოგის დეტალებსა და ფასების შეთავაზებებს თქვენი ანგარიშისთვის და იმავე გეგმების ადრინდელ შეთავაზებებს ანაცვლებს. ის, თუ როგორ იყენებს შეკვეთის ენდპოინტები ამ შეთავაზებებს, ცალკეა დოკუმენტირებული.
- ფასები თქვენი ანგარიშისთვისაა განსაზღვრული და შეიძლება ინდივიდუალურ ტარიფებს მოიცავდეს. პასუხში ვალუტა მითითებული არ არის.
- კატალოგში ძიებას რეალურ დროში ასრულებს, ამიტომ შეიძლება სხვა საძიებო გამოძახებებზე ნელი იყოს. შედეგები გამოძახებებს შორის შეიძლება შეიცვალოს.