Zhvilluesit

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

Shtoni numra në një projekt ekzistues të bartjes së numrave

Shtoni rreshta me numra, pastaj kontrolloni përputhjen e të dhënave të projektit përpara se të riprovoni një kërkesë me rezultat të pasigurt.

Në këtë faqe
  1. Qasja në llogari dhe në projekt
  2. Përgatitni shtimin
  3. Kërkesë POST
  4. Rezultati i raportuar
  5. Kontrolloni përputhjen e të dhënave përpara se të riprovoni
  6. Gabimet e zbatimit të vjetër
  7. Fusha e zbatimit të faturimit dhe transferimit

Qasja në llogari dhe në projekt

Përdorni një llogari API të aktivizuar përmes HTTPS, nga një adresë IP e lejuar. Projekti duhet t'i përkasë asaj llogarie dhe nuk duhet të jetë i fshirë. Përdorni identifikuesin unik të projektit nga rrjedha e punës së porosisë për bartjen e numrave, jo identifikuesin e tij numerik në bazën e të dhënave apo një numër telefoni. Zbatoni kodimin URL për identifikuesin e projektit kur ndërtoni një kërkesë.

Përgatitni shtimin

Ky veprim ndryshon një projekt ekzistues të bartjes së numrave. Fillimisht konfirmoni numrat dhe autorizimin e klientit përmes rrjedhës suaj të punës së porosisë për bartjen e numrave. Shkruani çdo numër me të gjitha shifrat e formatit ndërkombëtar, hiqni vetë dublikatat dhe kontrolloni listën ekzistuese të numrave të projektit. Mos e përdorni këtë pikë fundore për të testuar numra çfarëdo.

Portali aktual i verifikon dhe i normalizon numrat përpara se të thërrasë këtë rrugë. Pika fundore e vjetër, kur thirret drejtpërdrejt, nuk ofron të njëjtat masa mbrojtëse: heq hapësirat në fillim dhe në fund të të dhënave hyrëse, por nuk verifikon formatin e numrit të telefonit, kodin e shtetit, dublikatat apo gjendjen e projektit në rrjedhën e punës.

Kërkesë POST

Krijoni një skedar lokal numbers.json me strukturën e mëposhtme. Numrat janë të sajuar; zëvendësojini me numra të autorizuar për projektin e përzgjedhur.

{
  "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"
Fushat e kërkesës për shtimin e numrave
FushaKuptimi
numbersVarg i detyrueshëm dhe jo bosh me numra të paraqitur si vargje karakteresh, ose një varg karakteresh me nga një numër në çdo rresht. Hyrjet bosh hidhen poshtë dhe hapësirat në fillim dhe në fund hiqen. Teksti i ndarë me presje nuk ndahet në numra të veçantë.
isocodeKod opsional i shtetit për rreshtat e shtuar. Kur lihet pa dhënë ose është bosh, përdoret vendndodhja e projektit. Funksioni përpunues heq hapësirat në fillim dhe në fund, por nuk e kthen në shkronja të mëdha dhe nuk e verifikon vlerën e dhënë. Jepni vetë kodin e saktë të shtetit me shkronja të mëdha.

Për këtë shembull përdorni POST me application/json. Lexohen edhe të dhënat e formularit të dërguara me POST. Metoda nuk përcakton një çelës idempotence apo një garanci për madhësinë e sigurt të grupeve specifike për këtë pikë fundore; kontrolloni përputhjen e të dhënave për grupe të menaxhueshme në vend që të mbështeteni në një kufi të hamendësuar.

Rezultati i raportuar

Shembull i një përgjigjeje të sajuar.

{
  "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"
      }
    ]
  }
}

Përgjigjja i shënon përpjekjet për shtim me Pending. Ajo nuk e verifikon rezultatin e çdo futjeje në bazën e të dhënave përpara se ta raportojë. Prandaj, vetëm një numërim ose një identifikues i kthyer nuk provon se çdo rresht është ruajtur në mënyrë të qëndrueshme. Një shtim me gjendjen Pending nuk përbën pranim nga operatori, transferim të planifikuar apo aktivizim të përfunduar.

Kontrolloni përputhjen e të dhënave përpara se të riprovoni

  1. Lexoni listën e numrave të projektit përpara se të shtoni numra dhe ruani hollësitë e shtimit të synuar në regjistrat tuaj të kërkesave.
  2. Dërgojeni kërkesën për shtim vetëm një herë.
  3. Lexoni përsëri listën e numrave të projektit dhe krahasoni çdo numër që synoni të shtoni. Kontrolloni dublikatat dhe gjendjen e secilit numër.
  4. Nëse kërkesa tejkalon afatin e pritjes, kthen një gabim ose raporton një rezultat të paqartë, lexoni sërish të dhënat përpara se të riprovoni. Disa nga hyrjet që synoni të shtoni mund të ekzistojnë tashmë.
  5. Zgjidhni rastet e rreshtave që mungojnë ose janë të dyfishuar përmes rrjedhës së punës së porosisë për bartjen e numrave ose shërbimit të mbështetjes, në vend që të përsëritni verbërisht të gjithë kërkesën.

Funksioni përpunues i fut hyrjet një nga një, pa transaksion dhe pa mbrojtje nga dublikatat. Një ndërprerje mund t'i lërë të paprekura shkrimet e mëparshme; një futje e dështuar që kthen false mund të përfshihet sërish në numërimin e raportuar. Përsëritja e një kërkese mund të shtojë rreshta të dyfishuar. Vetë funksioni përpunues nuk regjistron një ngjarje dhe nuk përfundon një transferim te operatori.

Gabimet e zbatimit të vjetër

Një metodë tjetër nga POST kthen kodin API 403. Një projekt që mungon, është fshirë ose nuk i përket llogarisë kthen kodin API 404. Edhe të dhënat hyrëse bosh për numrat kthejnë kodin API 404. Zbatohen autentikimi dhe kufizimet për adresën IP të burimit. Këto kode të zbatimit të vjetër nuk provojnë se nuk ka ndodhur asnjë futje e mëparshme pas fillimit të përpunimit.

Fusha e zbatimit të faturimit dhe transferimit

Funksioni përpunues i shqyrtuar fut rreshta me numra të projektit dhe nuk përmban asnjë debitim të drejtpërdrejtë të llogarisë apo dërgim te operatori. Kjo nuk e bën falas shërbimin e përgjithshëm të bartjes së numrave dhe nuk i anulon tarifat e dakordësuara për bartjen. Përmbushni kërkesat e projektit për autorizim, dokumente dhe shqyrtim përpara se të prisni një transferim.