Разработчици

POST/v3/lnp/project/{uniqueid}/addnumbers

Добавяне на номера към съществуващ проект за преносимост

Добавете редове с номера, след което проверете и съгласувайте състоянието на проекта, преди да повторите заявка с неясен резултат.

На тази страница
  1. Достъп до акаунта и проекта
  2. Подготовка за добавянето
  3. POST заявка
  4. Отчетен резултат
  5. Проверете и съгласувайте състоянието преди повторен опит
  6. Грешки на стария интерфейс
  7. Таксуване и обхват на преноса

Достъп до акаунта и проекта

Използвайте активен 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 не означава приемане от оператора, насрочен пренос или завършено активиране.

Проверете и съгласувайте състоянието преди повторен опит

  1. Прочетете списъка с номера на проекта, преди да добавяте номера, и запазете планираното добавяне в собствените си записи за заявките.
  2. Изпратете заявката за добавяне веднъж.
  3. Прочетете отново списъка с номера на проекта и сравнете всеки планиран номер. Проверете за дубликати и състоянието на всеки номер.
  4. Ако времето за изчакване на заявката изтече, тя върне грешка или отчете неясен резултат, прочетете отново състоянието преди повторен опит. Някои от позициите, които сте опитали да добавите, може вече да съществуват.
  5. Разрешете проблемите с липсващи или дублирани редове чрез работния процес за поръчки за преносимост или с помощта на поддръжката, вместо сляпо да повтаряте цялата заявка.

Обработчикът вмъква записите един по един, без транзакция или защита от дубликати. При прекъсване по-ранните записи може да останат съхранени; неуспешно вмъкване, което връща false, все пак може да бъде включено в отчетения брой. Повтарянето на заявка може да добави дублирани редове. Самият обработчик не записва събитие и не завършва пренос при оператора.

Грешки на стария интерфейс

Метод, различен от POST, връща API код 403. Липсващ или изтрит проект, както и проект, който не принадлежи на акаунта, връща API код 404. Празните входни данни за номера също връщат API код 404. Прилагат се удостоверяване и ограничения за изходния IP адрес. Тези кодове на стария интерфейс не доказват, че след началото на обработката не е имало по-ранно вмъкване.

Таксуване и обхват на преноса

Прегледаният обработчик вмъква редове с номера на проекта и не съдържа директно дебитиране на акаунта или подаване на заявка към оператор. Това не прави цялостната услуга за преносимост безплатна и не отменя договорените такси за преносимост. Изпълнете изискванията на проекта за упълномощаване, документи и преглед, преди да очаквате пренос.