Kūrėjams

POST/v3/order/{prefix_id}

Telefono numerių užsakymas pagal prefiksą

Įsigykite norimą kiekį šiuo metu prieinamų numerių su pasirinktu prefiksu, išsaugokite užsakymų žymas ir sutikrinkite kainas, dalinį numerių paskyrimą bei aktyvavimą.

Šiame puslapyje
  1. Užsakymas pagal prefiksą
  2. Pateikite pirkimo užklausą
  3. Pristatymo ir pratęsimo nustatymai
  4. Perskaitykite visą rezultatą
  5. Daliniai pirkimai ir neaiškūs rezultatai
  6. Registracija ir aktyvavimas
  7. Užsakymo atgaliniai pranešimai
  8. Klaidos, kurias reikia apdoroti

Užsakymas pagal prefiksą

Naudokite šią operaciją, kai prefiksų katalogas nurodo užsakyti tam tikrą kiekį numerių pagal prefiksą, o ne pasirinkti atskirus prieinamus numerius. Pradėkite nuo šalių, regionų ar valstijų ir prefiksų. Išsaugokite prefikso identifikatorių ir kainų planą iš to paties naujai gauto rezultato. Norėdami įsigyti konkretų numerį, pasirinktą iš prieinamų numerių sąrašo, naudokite Pasirinkto telefono numerio pirkimas.

Ši užklausa gali nupirkti numerius ir sukelti išlaidų. Tai nėra kainos pasiūlymas, rezervacija ar bandomasis vykdymas. Prieš pateikdami peržiūrėkite prijungimo ir mėnesinius mokesčius, įeinančių skambučių minučių tarifus, įtrauktas minutes, kanalus, registracijos reikalavimus ir paskyros pirkimo apribojimus. Katalogo rezultatas nerezervuoja numerių ir neužfiksuoja kainų. Paskyros papildymo patikros gali būti atliekamos prieš įvykdant užsakymą; vien klaida neįrodo, kad nebuvo pirkimo ar paskyros papildymo.

Pateikite pirkimo užklausą

Naudokite įjungtą API paskyrą ir junkitės per HTTPS iš leidžiamo šaltinio IP adreso. Nustatykite kintamuosius pagal dabartinį pasirinkimą kataloge ir patvirtintą skambučių bei pranešimų pristatymo konfigūraciją. Toliau pateikta komanda nuperka vieną numerį.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode 'quantity=1' \
  --data-urlencode "price_id=$PRICE_ID" \
  --data-urlencode "channels=$CHANNELS" \
  --data-urlencode "reference=$ORDER_REFERENCE" \
  --data-urlencode "uri=$VOICE_URI" \
  "https://api.multitel.net/v3/order/$PREFIX_ID"

Aukščiau pateikta formos POST užklausa. Koordinatorius taip pat nuskaito JSON objektą, kai Content-Type reikšmė yra application/json. JSON laukų reikšmės pakeičia atitinkamų formos ar užklausos laukų reikšmes. Nuosekliai naudokite vieną kodavimo būdą; nesiųskite prieštaringų reikšmių užklausos parametruose ir turinyje.

Užsakymo pasirinkimo ir pranešimų parametrai
ParametrasReikšmė
prefikso identifikatorius kelyjeKatalogo grąžintas prefikso UUID. Jo negalima pakeisti šalies, regiono, kainos ar atskiro numerio identifikatoriumi.
quantitySiųskite sveikąjį skaičių nuo 1 iki 100. Numatytoji reikšmė yra 1. Mažesnės nei 1 reikšmės pakeičiamos į 1; ši užklausa skirta ne vien patikrai. Didesnės nei 100 reikšmės sukelia išimtį dar prieš įprastą šio koordinatoriaus atsakymo apdorojimą, todėl tokių netinkamų įvesties duomenų atveju nesitikėkite įprastos JSON struktūros.
price_idPasirinkto plano viešasis kainos identifikatorius. priceid yra ankstesnis alternatyvus pavadinimas. Jei identifikatorius neatitinka, gali būti pasirinktas kitas planas apie tai nepranešus; šis laukas griežtai neužfiksuoja kainos. Prieš pirkdami patikrinkite paskyros kainų ribas, o po pirkimo patikrinkite grąžintą kainą.
channelsPasirinkto plano kanalų skaičius. Kai nenaudojama tiksli kainos atitiktis, sutampantis kanalų skaičius gali turėti įtakos atsarginio plano pasirinkimui. Vien jis negarantuoja, kad bus įsigytas konkretus planas.
referenceJūsų pirkimo ar pirkimų grupės žyma. Naudokite trumpą ASCII reikšmę, ne ilgesnę nei 255 baitai; ilgesnės reikšmės sutrumpinamos. Ji išsaugoma su sėkmingais pirkimais ir, jei pateikta, įtraukiama į atgalinius pranešimus. Atskiri užsakymai gali turėti tą pačią žymą. Tai nėra idempotentiškumo raktas: pakartotinai pateikus šią operaciją gali būti nupirkta papildomų numerių ir už juos priskaičiuoti mokesčiai, net jei žyma ta pati, o laukai identiški.
webhook_urlNeprivalomas atgalinio pranešimo URL. Naudokite savo valdomą HTTPS galinį tašką. HTTP ir HTTPS URL atitinka dabartinę bazinę patikrą; netinkamas URL ignoruojamas, o pirkimas dėl jo neatmetamas. Atgalinis pranešimas yra papildomas informavimas, o ne įrodymas, kad užklausą galima saugiai kartoti.

Pristatymo ir pratęsimo nustatymai

Pasirinkite tuos pačius pristatymo nustatymus, kuriuos šiam numeriui naudotumėte portale. Tai išplėstinės konfigūracijos reikšmės, o ne nurodymai sukurti debesijos telefonų stotį ar įeinančių skambučių magistralę. Naudokite jau veikiančią paskyros konfigūraciją ir po pirkimo patikrinkite išsaugotą numerį. Vien patvirtintas pirkimas neįrodo, kad skambučiai ar SMS pristatomi tinkamai.

Papildomi užsakymo laukai
LaukasPaskirtis ir suderinamumas
uri, uri2, uri3Pagrindinė ir papildomos skambučių paskirties vietos. Pateikite paskirties vietas, tinkamas pasirinktiems peradresavimo ir skambinimo režimams.
forward_destinationSkambučių peradresavimo režimas. forwarding_destination ir type yra ankstesni alternatyvūs pavadinimai. Nepateikus lauko naudojama numatytoji atitinkamo pirkimo proceso reikšmė; tuščias laukas nėra patikimas būdas panaikinti esamą nuostatą.
ring_typeSkambinimo režimas; ringtype yra alternatyvus pavadinimas. Naudokite palaikomą reikšmę iš savo paskyros numerio konfigūracijos.
sms_forward_destination, sms_uriSMS pristatymo režimas ir paskirties vieta. Ankstesni alternatyvūs pavadinimai yra smsringtype ir smsuri. Kai šis laukas tuščias, kai kurie pirkimo procesai pritaiko numatytąją paskyros SMS paskirties vietą. SMS prieinamumas priklauso nuo pasirinkto numerio ir jo aktyvavimo ar registracijos.
overflowPageidaujamas skambučių pertekliaus apdorojimo nustatymas. Ar jis palaikomas, priklauso nuo plano prieinamumo ir pirkimo proceso.
force_codec, force_dtmfPageidaujami kodeko ir DTMF nustatymai. Ankstesni alternatyvūs pavadinimai yra forcecodec ir forcedtmf. Patikrinkite išsaugotą pasirinktų prieinamų numerių konfigūraciją.
origination_trunk_idEsamos magistralės konfigūracijos identifikatorius, kai taikoma. Taip magistralė nesukuriama. Nepateikus naudojama numatytoji pirkimo proceso reikšmė.
autorenewPageidaujamas pratęsimo nustatymas. Nemanykite, kad 0 išjungia pratęsimą: kai kurie pirkimo procesai tuščią reikšmę atitinkančias reikšmes, įskaitant 0, traktuoja kaip numatytąjį įjungtą nustatymą. Portale patikrinkite įsigyto numerio pratęsimą ir prireikus jį pakeiskite.

Šie laukai normalizuojami ir perduodami pirkimo procesui, tačiau jų išsaugojimas skiriasi priklausomai nuo numerių gavimo proceso. Dabartinis užsakymo maršrutas nesuteikia pasirinkto numerio pirkimo vadove aprašytų griežtų pasiūlymo kainos ribojimo laukų kaip lygiaverčių apsaugos priemonių. Naudokite paskyros pirkimo leidimus bei kainų ribas ir patikrinkite galutinę numerio konfigūraciją.

Perskaitykite visą rezultatą

Išanalizuokite JSON turinį ir patikrinkite status.code bei status.msg, net jei HTTP užklausa sėkminga. Šis maršrutas pats suformuoja JSON atsakymą, o bendroji atsakymo pagalbinė funkcija taip pat nebūtinai susieja programos kodą su HTTP būsena. Programos kodai gali būti JSON skaičiai arba skaitinės eilutės. Nereikalaukite status.results; įprastame užsakymo rezultate šio lauko nėra.

{
  "status": {"code": "200", "msg": ""},
  "response": {
    "id": "o_fictional_example",
    "numbers": ["12025550123"],
    "price": {
      "per_minute": "0.01",
      "free_minutes": 0,
      "setup_price": "1.25",
      "monthly_price": "2.50",
      "channels": 2
    },
    "features": ["voice"],
    "needs_registration": 0,
    "restrictions": "",
    "registration_requirements": null
  }
}

Aukščiau pateikti identifikatorius, numeris ir kainos yra išgalvoti. Užsakymo ID laikykite identifikatoriumi, kurio vidinės struktūros nereikia interpretuoti. numbers pateikia numerius, kuriuos šis atsakymas nurodo kaip nupirktus; palyginkite sąrašo ilgį su prašytu kiekiu. Kainų sumos yra eilutės, o šiame atsakyme piniginiai tarifai, įskaitant per_minute, apvalinami iki dviejų skaitmenų po kablelio; pradinį tarifo tikslumą rasite naujai gautame kataloge. Įtrauktos minutės ir kanalai gali būti pateikti kaip skaitinės reikšmės arba skaitinės eilutės.

Kainos blokas aprašo pasirinktą planą, naudotą atsakymui sudaryti, o ne išsamią kiekvieno numerio sąskaitą ar bendrą užsakymo sumą. Skirtingi galimi numeriai gali turėti skirtingus planus. Sutikrinkite atskirus įsigytus numerius ir paskyros operacijas, užuot dauginę šio bloko sumas ir manę, kad taip patvirtinama galutinė bendra suma.

Daliniai pirkimai ir neaiškūs rezultatai

Programos kodas 200 gali būti pateiktas kartu su įspėjimu ir mažesniu numerių kiekiu, nei prašyta. Vėlesnė klaida neatšaukia jau nupirktų numerių. Išsaugokite grąžintą užsakymo ID, numerius ir pranešimą. Prieš nuspręsdami, ar užsakyti likusį kiekį, sutikrinkite šiuos numerius savo numerių sąraše ir paskyros operacijose.

Pasibaigęs laukimo laikas, nutrūkęs ryšys vykdant užklausą, netaisyklingas atsakymas ar klaida po pateikimo neįrodo, kad nieko neįvyko. Automatiškai neteikite kitos pirkimo užklausos, net ir su ta pačia žyma. Išsaugokite pradinę užklausą, žymą ir bet kokį grąžintą užsakymo ID, patikrinkite numerių sąrašą bei paskyros operacijas, o jei rezultatas lieka neaiškus, kreipkitės į pagalbos tarnybą.

Nepatvirtintas užsakymas gali grąžinti programos kodą 400 su pranešimu, kad jis vis dar tvirtinamas. Išsaugokite grąžintą užsakymo ID ir sutikrinkite šį pirkimą; tai nėra nurodymas jį pateikti dar kartą. Užregistruoto užsakymo atkūrimo procesas viduje seka pradinį užsakymą. Nauja šios operacijos užklausa sukuria atskirą pirkimo bandymą, o ne tęsia užsakymą pagal jūsų žymą, todėl gali būti nupirkta daugiau numerių ir už juos priskaičiuoti mokesčiai. Nenaudokite kartotinių pirkimo užklausų būsenai tikrinti ar prieinamiems numeriams ieškoti.

Registracija ir aktyvavimas

Nupirktą ar paskirtą numerį dar gali reikėti užregistruoti arba aktyvuoti. Jei needs_registration yra 1, patikrinkite restrictions ir registration_requirements. Pastarasis laukas gali nurodyti v3/get_requirements su country ir number_type reikšmėmis. Atlikite taikomą tapatybės ir adreso patvirtinimo procedūrą ir patikrinkite numerio būseną prieš pasikliaudami įeinančiais skambučiais ar pranešimais.

features aprašo skelbiamas galimybes; jis nepatvirtina realaus maršrutizavimo, kampanijos patvirtinimo, SMS pristatymo ar faksogramų priėmimo. Patikrinkite išsaugotus pristatymo nustatymus ir, kai numeris aktyvus, atlikite atitinkamą paslaugos bandymą.

Užsakymo atgaliniai pranešimai

Atgaliniai pranešimai POST metodu siunčia JSON su užsakymo būsena ir atsakymu; jei pateikėte savo žymą, ji pridedama. Jie siunčiami apie pirkimus, kurie nurodyti kaip įvykę, įskaitant dalinius rezultatus. Nepavykęs atgalinis pranešimas neatšaukia pirkimo. Pristatymas gali būti kartojamas, todėl atpažinkite ir apdorokite dublikatus pagal užsakymo ID bei sutikrinkite numerius, užuot pateikę kitą pirkimo užklausą.

Šis maršrutas neprideda kriptografinio atgalinio pranešimo parašo. Atgalinį pranešimą laikykite informacija, kurią reikia sutikrinti su autentifikuotai pasiektu savo numerių sąrašu, o ne savarankišku leidimu apmokestinti, įjungti paslaugas ar suteikti prieigą. Neįtraukite API prisijungimo duomenų į atgalinio pranešimo URL. Pateikus kitą pirkimo užklausą su kitokiu atgalinio pranešimo URL, pradinis užsakymas neatnaujinamas; sukuriamas atskiras pirkimo bandymas. Kreipdamiesi į pagalbos tarnybą dėl atgalinio pranešimo tyrimo, išsaugokite pradinio užsakymo ID.

Klaidos, kurias reikia apdoroti

Programos rezultatai
RezultatasKą daryti
400 ir pranešimas apie netinkamą prefiksąIš naujo peržiūrėkite prefiksų katalogą ir naudokite dabartinį jo identifikatorių. Atskirkite šį atvejį nuo pranešimo, kad pradinis užsakymas vis dar tvirtinamas.
403 arba paskyros taisyklių ar likučio patikros klaidaPeržiūrėkite pirkimo leidimą, paskyros kainų ribas, kiekio apribojimus ir paskyros papildymą. Šios patikros gali perduoti ir kitus programos kodus; išsaugokite faktinį pranešimą.
404 arba nėra prieinamų numeriųAtnaujinkite prieinamumo duomenis. Nekartokite pirkimo pagal prefiksą, kurio numeriai išsekę.
409 ir pranešimas apie pirkimo patvirtinimą, teikėjo atmetimą ar atšauktą užsakymąIšsaugokite grąžintą užsakymo ID ir faktinį pranešimą. Prieš teikdami kitą pirkimo užklausą, sutikrinkite užklausą su numerių sąrašu, paskyros operacijomis ir pagalbos tarnyba. Ta pati pakartotinai naudojama žyma neužtikrina kitos užklausos saugumo.
200 su įspėjimais arba mažesniu numerių kiekiuDalis numerių buvo nupirkta. Prieš užsakydami daugiau, sutikrinkite grąžintą numerių paskyrimą ir operacijas.
Serverio ar duomenų perdavimo klaida arba neperskaitomas atsakymasLaikykite rezultatą galimai neaiškiu, kol numerių sąrašas ir operacijos nepatvirtins, kas įvyko.