Ontwikkelaars

POST/v3/order/{prefix_id}

Bestel telefoonnommers uit 'n voorvoegsel

Koop 'n hoeveelheid uit die huidige voorraad vir 'n voorvoegsel, bewaar bestelverwysings en rekonsilieer pryse, gedeeltelike toekennings en aktivering.

Op hierdie bladsy
  1. Bestel uit 'n voorvoegsel
  2. Dien die aankoop in
  3. Aflewerings- en hernuwinginstellings
  4. Lees die volledige resultaat
  5. Gedeeltelike aankope en onseker uitkomste
  6. Registrasie en aktivering
  7. Bestelterugroepe
  8. Mislukkings om te hanteer

Bestel uit 'n voorvoegsel

Gebruik hierdie bewerking wanneer die voorvoegselkatalogus jou aanwys om 'n hoeveelheid uit 'n voorvoegsel te bestel eerder as om individuele beskikbare nommers te kies. Begin met lande, gebiede of deelstate, en voorvoegsels. Behou die voorvoegselidentifiseerder en prysplan uit dieselfde vars resultaat. Vir 'n spesifieke nommer wat uit 'n lys beskikbare nommers gekies is, gebruik Koop 'n gekose telefoonnommer.

Hierdie versoek kan nommers koop en koste meebring. Dit is nie 'n pryskwotasie, bespreking of proeflopie nie. Gaan opstelkoste en maandelikse koste, tariewe per inkomende minuut, ingeslote minute, kanale, registrasievereistes en die rekening se aankooplimiete na voordat jy dit indien. 'n Katalogusresultaat reserveer nie voorraad of hou pryse vas nie. Kontroles oor die befondsing van die rekening kan voor uitvoering van die bestelling plaasvind; 'n fout bewys nie op sigself dat geen aankoop of befondsing van die rekening plaasgevind het nie.

Dien die aankoop in

Gebruik 'n geaktiveerde API-rekening oor HTTPS vanaf 'n toegelate bron-IP-adres. Stel die veranderlikes volgens jou huidige kataloguskeuse en jou goedgekeurde afleweringsopstelling. Die volgende opdrag koop een nommer.

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"

'n Vorm-POST word hierbo getoon. Die koördineerder lees ook 'n JSON-objek wanneer Content-Type application/json is. JSON-velde geniet voorrang bo ooreenstemmende vorm-/versoekvelde. Gebruik een enkodering konsekwent; moenie botsende waardes in die navraag en versoekliggaam stuur nie.

Parameters vir bestelkeuse en kennisgewings
ParameterBetekenis
voorvoegselidentifiseerder in die padDie voorvoegsel-UUID wat deur die katalogus teruggestuur word. 'n Identifiseerder vir 'n land, gebied, prys of individuele nommer is nie 'n plaasvervanger nie.
quantityStuur 'n heelgetal van 1 tot 100. Die verstek is 1. Waardes onder 1 word na 1 omgeskakel; hierdie versoek doen nie slegs validering nie. Waardes bo 100 veroorsaak 'n uitsondering voordat hierdie koördineerder se normale responshantering plaasvind, dus moet jy nie op sy gewone JSON-struktuur vir daardie ongeldige invoer staatmaak nie.
price_idDie gekose plan se openbare prysidentifiseerder. priceid is 'n verouderde alias. 'n Identifiseerder wat nie ooreenstem nie kan sonder kennisgewing tot die gebruik van 'n ander plan lei; hierdie veld waarborg nie streng dat die prys vasgehou word nie. Bevestig die rekening se prysplafonne voor die aankoop en gaan die teruggestuurde prys daarna na.
channelsDie aantal kanale van die gekose plan. Wanneer 'n presiese prysooreenstemming nie gebruik word nie, kan 'n ooreenstemmende aantal kanale die keuse van 'n terugvalplan beïnvloed. Dit waarborg nie op sigself dat 'n bepaalde plan gekoop word nie.
referenceJou etiket vir die aankoop of bondel. Gebruik 'n kort ASCII-waarde van hoogstens 255 grepe; langer waardes word afgekap. Dit word by suksesvolle aankope bewaar en by terugroepe ingesluit wanneer dit verskaf is. Afsonderlike bestellings kan dieselfde verwysing deel. Dit is nie 'n idempotensiesleutel nie: as jy hierdie bewerking weer indien, kan dit bykomende nommers koop en koste daarvoor hef, selfs met dieselfde verwysing en identiese velde.
webhook_urlOpsionele terugroep-URL. Gebruik 'n HTTPS-eindpunt wat jy beheer. HTTP- en HTTPS-URL's slaag die huidige basiese valideerder; 'n ongeldige URL word geïgnoreer eerder as dat die aankoop afgekeur word. 'n Terugroep is 'n bykomende kennisgewing, nie bewys dat 'n versoek veilig herhaal kan word nie.

Aflewerings- en hernuwinginstellings

Kies dieselfde afleweringsinstellings wat jy vir die nommer in die portaal sou gebruik. Dit is gevorderde opstellingswaardes, nie instruksies om 'n gehuisveste PBX of 'n oorsprongstambundel te skep nie. Hergebruik 'n rekeningopstelling wat bekend is om te werk en verifieer die gestoorde nommer ná die aankoop. 'n Aanvaarde aankoop alleen bevestig nie dat stem- of SMS-aflewering werk nie.

Bykomende bestelvelde
VeldGebruik en versoenbaarheid
uri, uri2, uri3Primêre en bykomende stembestemmings. Verskaf bestemmings wat geskik is vir die gekose aanstuur- en luiwyses.
forward_destinationStemaanstuurwyse. forwarding_destination en type is verouderde aliasse. As dit weggelaat word, word die afrekenpad se verstek gebruik; 'n leë veld is nie 'n betroubare manier om 'n bestaande voorkeur te verwyder nie.
ring_typeLuiwyse vir stemoproepe; ringtype is 'n alias. Gebruik 'n ondersteunde waarde uit jou rekening se nommeropstelling.
sms_forward_destination, sms_uriSMS-afleweringswyse en -bestemming. Verouderde aliasse is smsringtype en smsuri. Sommige afrekenpaaie pas die rekening se verstek-SMS-bestemming toe wanneer dit leeg is. SMS-beskikbaarheid hang af van die gekose nommer en die aktivering/registrasie daarvan.
overflowAangevraagde oorloopinstelling. Die beskikbaarheid van die plan en die afrekenpad beïnvloed of dit ondersteun word.
force_codec, force_dtmfAangevraagde kodek- en DTMF-instellings. Verouderde aliasse is forcecodec en forcedtmf. Verifieer die gestoorde opstelling vir die gekose voorraad.
origination_trunk_id'n Identifiseerder vir 'n bestaande stambundelopstelling, waar van toepassing. Dit skep nie 'n stambundel nie. As dit weggelaat word, word die afrekenverstek gebruik.
autorenewAangevraagde hernuwinginstelling. Moenie aanneem dat 0 hernuwing deaktiveer nie: sommige afrekenpaaie behandel 'n waarde wat as leeg beskou word, insluitend 0, as die verstekinstelling waarin hernuwing geaktiveer is. Kontroleer die hernuwing vir die gekoopte nommer in die portaal en verander dit wanneer nodig.

Hierdie velde word genormaliseer en aan die afrekenproses deurgegee, maar hoe dit bewaar word verskil tussen voorraadpaaie. Die huidige bestelroete stel nie die streng kwotasieplafonvelde uit die gids vir die aankoop van 'n gekose nommer as gelykwaardige voorsorgmaatreëls beskikbaar nie. Gebruik die rekening se aankooptoestemmings en pryslimiete, en gaan die gevolglike nommeropstelling na.

Lees die volledige resultaat

Ontleed die JSON-liggaam en gaan status.code en status.msg na, selfs wanneer die HTTP-versoek slaag. Hierdie roete skryf sy eie JSON-respons, en die gedeelde responshulpfunksie koppel ook nie noodwendig die toepassingskode aan die HTTP-status nie. Toepassingskodes kan JSON-getalle of numeriese stringe wees. Moenie status.results vereis nie; dit kom nie in die normale bestelresultaat voor nie.

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

Die identifiseerder, nommer en pryse hierbo is fiktief. Behandel die bestel-ID as 'n ondeursigtige waarde. numbers lys die nommers wat hierdie respons as gekoop rapporteer; vergelyk die lengte daarvan met die hoeveelheid wat jy aangevra het. Prysbedrae is stringe en hierdie respons rond geldtariewe tot twee desimale plekke af, insluitend per_minute; gebruik die vars katalogus vir die oorspronklike tariefpresisie. Ingeslote minute en kanale kan as numeriese waardes of numeriese stringe aankom.

Die prysblok beskryf die gekose plan wat gebruik is om die respons saam te stel, nie 'n gedetailleerde faktuur vir elke nommer of die bestelling se totaal nie. Verskeie voorraadkandidate kan verskillende planne hê. Rekonsilieer die individuele gekoopte nommers en rekeningtransaksies eerder as om hierdie blok te vermenigvuldig en aan te neem dat dit die finale totaal bewys.

Gedeeltelike aankope en onseker uitkomste

'n Toepassingskode van 200 kan saam met 'n waarskuwing en minder nommers as aangevra voorkom. 'n Latere mislukking maak nie die aankoop van nommers wat reeds gekoop is ongedaan nie. Bewaar die teruggestuurde bestel-ID, nommers en boodskap. Rekonsilieer daardie nommers met jou voorraad en rekeningtransaksies voordat jy besluit of jy 'n oorblywende hoeveelheid moet bestel.

'n Tydverstreking, ontkoppelde versoek, misvormde respons of fout ná indiening is nie bewys dat niks gebeur het nie. Moenie outomaties nog 'n aankoop indien nie, selfs nie met dieselfde verwysing nie. Bewaar die oorspronklike versoek, verwysing en enige teruggestuurde bestel-ID, kontroleer voorraad en rekeningtransaksies, en kontak ondersteuning wanneer die uitkoms onseker bly.

'n Onbevestigde bestelling kan toepassingskode 400 terugstuur met bewoording dat dit steeds bevestig word. Bewaar die teruggestuurde bestel-ID en rekonsilieer daardie aankoop; dit is nie 'n instruksie om dit weer in te dien nie. Herstel van aangetekende bestellings volg die oorspronklike bestelling intern. 'n Nuwe versoek aan hierdie bewerking skep 'n afsonderlike aankooppoging eerder as om 'n bestelling volgens jou verwysing te hervat, dus kan dit meer nommers koop en koste daarvoor hef. Moenie herhaalde aankoopversoeke gebruik om status te kontroleer of voorraad te deursoek nie.

Registrasie en aktivering

'n Gekoopte of toegekende nommer kan steeds registrasie of aktivering vereis. Indien needs_registration 1 is, gaan restrictions en registration_requirements na. Laasgenoemde kan v3/get_requirements met waardes vir country en number_type identifiseer. Voltooi die toepaslike identiteits-/adreswerkvloei en bevestig die nommer se status voordat jy op inkomende oproepe of boodskappe staatmaak.

features beskryf geadverteerde vermoëns; dit verifieer nie werklike roetering, veldtoggoedkeuring, SMS-aflewering of faksontvangs nie. Kontroleer die gestoorde afleweringsinstellings en voer die toepaslike dienstoets uit wanneer die nommer aktief is.

Bestelterugroepe

Terugroepe stuur met POST JSON wat die bestelstatus en respons bevat, met jou verwysing bygevoeg wanneer dit verskaf is. Hulle word vir gerapporteerde aankope gestuur, insluitend gedeeltelike resultate. 'n Mislukte terugroep maak nie die aankoop ongedaan nie. Aflewering kan weer probeer word, dus moet jy duplikate volgens bestel-ID verwerk en die nommers rekonsilieer eerder as om nog 'n aankoop in te dien.

Hierdie roete voeg nie 'n kriptografiese terugroephandtekening by nie. Behandel 'n terugroep as 'n kennisgewing om dit met jou geverifieerde voorraad te rekonsilieer, nie as onafhanklike magtiging om koste te hef, dienste te voorsien of toegang te verleen nie. Moenie API-aanmeldbesonderhede in die terugroep-URL plaas nie. As jy nog 'n aankoop met 'n ander terugroep-URL indien, werk dit nie die oorspronklike bestelling by nie; dit skep 'n afsonderlike aankooppoging. Behou die oorspronklike bestel-ID wanneer jy ondersteuning vra om die terugroep daarvan te ondersoek.

Mislukkings om te hanteer

Toepassingsuitkomste
UitkomsWat om te doen
400 en bewoording oor 'n ongeldige voorvoegselLees die voorvoegselkatalogus weer en gebruik die huidige identifiseerder daaruit. Onderskei dit van bewoording dat 'n oorspronklike bestelling steeds bevestig word.
403 of 'n mislukking weens rekeningbeleid/-saldoGaan aankooptoestemming, die rekening se prysplafonne, hoeveelheidslimiete en befondsing na. Ander toepassingskodes kan uit daardie kontroles deurgegee word; bewaar die werklike boodskap.
404 of geen beskikbare voorraad nieVerfris die beskikbaarheid. Moenie herhaaldelik aankope uit 'n voorvoegsel waarvan die voorraad uitgeput is probeer doen nie.
409 en bewoording oor aankoopbevestiging, verskafferverwerping of 'n gekanselleerde bestellingBewaar die teruggestuurde bestel-ID en werklike boodskap. Rekonsilieer die versoek met voorraad, rekeningtransaksies en ondersteuning voordat jy nog 'n aankoop indien. Die hergebruik van dieselfde verwysing maak nie nog 'n versoek veilig nie.
200 met waarskuwings of minder nommersSommige nommers is gekoop. Rekonsilieer die teruggestuurde toekenning en transaksies voordat jy meer bestel.
Bediener-/vervoermislukking of onleesbare responsBehandel die resultaat as moontlik onseker totdat voorraad en transaksies vasstel wat gebeur het.