Приступ налогу и пројекту
Користите активан API налог преко протокола HTTPS са дозвољене IP адресе. Пројекат мора припадати том налогу и не сме бити обрисан. Користите јединствени идентификатор пројекта из поступка обраде налога за пренос бројева, а не његов нумерички идентификатор у бази података или телефонски број. При састављању захтева примените URL кодирање на идентификатор пројекта.
Припремите додавање
Ова операција мења постојећи пројекат преноса бројева. Прво потврдите бројеве и овлашћење корисника у свом поступку обраде налога за пренос бројева. Сваки број наведите као потпун међународни број, само цифрама, сами уклоните дупликате и проверите постојећу листу бројева у пројекту. Не користите ову крајњу тачку за испробавање произвољних бројева.
Тренутни портал проверава исправност бројева и нормализује их пре позивања ове руте. Директан приступ старој крајњој тачки не пружа исте заштитне мере: она уклања размаке са почетка и краја уноса, али не проверава формат телефонског броја, ознаку државе, дупликате нити статус пројекта у радном току.
POST захтев
Направите локалну датотеку numbers.json са следећом структуром. Бројеви су измишљени; замените их бројевима за које имате овлашћење у оквиру изабраног пројекта.
{
"numbers": [
"12025550123",
"12025550124"
],
"isocode": "US"
}curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--header "Content-Type: application/json" \
--data-binary @numbers.json \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/addnumbers"| Поље | Значење |
|---|---|
| numbers | Обавезан непразан низ текстуалних вредности које садрже бројеве или текстуална вредност са по једним бројем у сваком реду. Празни уноси се одбацују, а размаци на почетку и крају уклањају. Текст раздвојен зарезима не раздваја се на појединачне бројеве. |
| isocode | Необавезна ознака државе за додате редове. Ако је изостављена или празна, користи се локација пројекта. Обрађивач уклања размаке са почетка и краја унете вредности, али је не претвара у велика слова нити проверава њену исправност. Сами наведите исправну ознаку државе великим словима. |
За овај пример користите POST са типом садржаја application/json. Чита се и унос из обрасца послат методом POST. Метод не дефинише кључ идемпотентности нити гаранцију безбедне величине групе специфичну за ову крајњу тачку; проверавајте и усаглашавајте групе којима можете управљати уместо да се ослањате на претпостављено ограничење.
Пријављени резултат
Измишљени пример одговора.
{
"status": {
"code": 200,
"msg": "Success add numbers"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"count": 2,
"numbers": [
{
"id": 21,
"number": "12025550123",
"status": 0,
"status_str": "Pending",
"isocode": "US"
},
{
"id": 22,
"number": "12025550124",
"status": 0,
"status_str": "Pending",
"isocode": "US"
}
]
}
}Одговор означава покушаје додавања статусом Pending. Пре пријављивања резултата не проверава се исход сваког уметања у базу података. Зато сам број ставки или враћени идентификатор није доказ да је сваки ред трајно сачуван. Додата ставка са статусом Pending не значи да ју је оператор прихватио, да је пренос заказан или да је активација завршена.
Проверите и усагласите стање пре поновног покушаја
- Пре додавања бројева прочитајте листу бројева пројекта и сачувајте планирано додавање у сопственој евиденцији захтева.
- Пошаљите захтев за додавање једном.
- Поново прочитајте листу бројева пројекта и упоредите сваки планирани број. Проверите дупликате и статус сваког броја.
- Ако истекне време чекања на захтев, ако захтев врати грешку или пријави нејасан резултат, поново прочитајте стање пре поновног покушаја. Неке од ставки које сте покушали да додате можда већ постоје.
- Недостајуће или дуплиране редове разрешите кроз поступак обраде налога за пренос бројева или уз помоћ подршке, уместо да насумично понављате цео захтев.
Обрађивач умеће ставке једну по једну, без трансакције или заштите од дупликата. У случају прекида, ранији уписи могу остати сачувани; неуспело уметање које врати false и даље може бити урачунато у пријављени број ставки. Понављање захтева може додати дуплиране редове. Сам обрађивач не уписује догађај нити довршава пренос код оператора.
Грешке старог интерфејса
Метод различит од POST враћа API код 403. Непостојећи или обрисани пројекат, као и пројекат који не припада налогу, враћа API код 404. Празан унос бројева такође враћа API код 404. Примењују се аутентификација и ограничења изворне IP адресе. Ови кодови старог интерфејса не доказују да након почетка обраде није већ дошло до неког уметања.
Наплата и обим преноса
Прегледани обрађивач умеће редове са бројевима пројекта и не садржи директно задуживање налога нити слање захтева оператору. То не значи да је целокупна услуга преноса бројева бесплатна нити поништава договорене накнаде за пренос. Пре него што очекујете пренос, испуните захтеве пројекта у погледу овлашћења, документације и прегледа.