Ontwikkelaars

POST/v3/rentnumber/{number_id}/{price_id}

Koop 'n gekose telefoonnommer

Dien een goedgekeurde nommer en prys met kwotasiewaarborge in en rekonsilieer dan eienaarskap en aktivering voordat jy weer probeer.

Op hierdie bladsy
  1. Kies die nommer en prys saam
  2. POST 'n aankoopversoek met waarborge
  3. Registrasie en aktivering
  4. Vermy ongemerkte planvervanging
  5. Gevorderd: verstekroetering vir die rekening
  6. Antwoord
  7. Foute en onsekere resultate
  8. Rekonsilieer voordat jy weer probeer

Kies die nommer en prys saam

Koop een spesifieke nommer wat uit 'n nuwe soektog na beskikbare nommers gekies is. Gebruik die gekose inskrywing se info.uuid as die nommer-ID en een van dieselfde inskrywing se price[].uuid-waardes as die prys-ID. Die roete aanvaar ook die volledige gestoorde nommer, maar 'n land-, gebied- of voorvoegsel-ID is nie 'n plaasvervanger vir die keuse van 'n nommer nie.

Om te soek of gestoorde pryse te lees, bespreek nie 'n nommer of vries die prys daarvan nie. Bevestig die gekose opstelprys, maandelikse prys, tarief per inkomende minuut, ingeslote minute en kanale, asook die rekening se aankooptoestemmings en registrasievereistes. Die aanvanklike basisbedrag in die nagegane hulpfunksie is die opstelprys plus die maandelikse prys; die volledige verskafferspesifieke heffings en voorwaardes moet vir die gekose plan bevestig word.

POST 'n aankoopversoek met waarborge

Gebruik 'n geaktiveerde API-rekening oor HTTPS vanaf 'n toegelate bron-IP-adres. Die volgende opdrag voer 'n aankoop uit, nie 'n kwotasie of proeflopie nie. Stel elke veranderlike volgens dieselfde nuwe nommer-en-pryskeuse. Die limietvelde behou die verouderde restore_quote_-voorvoegsel; die huidige portaal gebruik hulle ook vir aankope van spesifieke nommers met waarborge.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode "restore_quote_price_id=$PRICE_ID" \
  --data-urlencode "restore_quote_setup=$SETUP_PRICE" \
  --data-urlencode "restore_quote_monthly=$MONTHLY_PRICE" \
  --data-urlencode "restore_quote_per_minute=$PER_MINUTE_PRICE" \
  --data-urlencode "restore_quote_channels=$CHANNELS" \
  "https://api.multitel.net/v3/rentnumber/$NUMBER_ID/$PRICE_ID"

Gebruik 'n vorm-POST soos getoon. Die hulpfunksie kan ook JSON en 'n opsie-omhulsel ontleed, maar hierdie oorsig bevestig nie volledige gelykwaardigheid vir alle kwotasie- en verskafferpaaie nie. Moenie GET vir aankope gebruik nie, al het hierdie verouderde koördineerder geen uitdruklike metodekontrole nie.

Aankooppad en kwotasievelde
VeldBetekenis
NUMBER_IDDie gekose nommer se UUID uit die soektog, of die volledige gestoorde nommer. Een nommer per versoek.
PRICE_IDDie prys-UUID wat met daardie gekose nommer en jou rekening geassosieer word. Verskaf dit altyd uitdruklik.
restore_quote_price_idMoet ooreenstem met die prys-ID wat bepaal is. Die verskaffing van hierdie veld aktiveer die kwotasiekontroles; dit is nie 'n idempotensiesleutel nie.
restore_quote_setupMaksimum aanvaarde opstelprys, as 'n eindige, nie-negatiewe numeriese waarde.
restore_quote_monthlyMaksimum aanvaarde maandelikse prys, as 'n eindige, nie-negatiewe numeriese waarde.
restore_quote_per_minuteMaksimum aanvaarde tarief per inkomende minuut, as 'n eindige, nie-negatiewe numeriese waarde.
restore_quote_channelsDie presiese heelgetal kanaalhoeveelheid van die gekose prysopsie, nie 'n versoek vir 'n ander kanaalplan nie.

Verskaf al die numeriese kwotasievelde wanneer jy die kwotasie se prys-ID verskaf. 'n Veranderde ID, 'n prys bo 'n limiet, 'n ontbrekende of ongeldige limiet, 'n veranderde kanaalhoeveelheid of 'n besette kwotasieslot lewer API-kode 409 voordat die versoek na die gekose huurverskaffer gestuur word. Vergelykings laat 'n klein drywende-punt-toleransie toe; gebruik die werklike vertoonde planwaardes eerder as 'n handmatig afgeronde prys.

Die waarborge maak nie die hele werkvloei 'n proeflopie of transaksie nie. Registrasienasoeke, identiteitsvoorsiening of ander werk deur die hulpfunksie kan voor hierdie kontroles plaasvind. Hulle vries ook nie eksterne voorraad of vervang aankoopbeperkings op rekeningvlak nie.

Registrasie en aktivering

Voeg, wanneer dit vereis word, die RegistrationID-vormveld by wat die UUID bevat van die registrasieprofiel wat aan die kliënt behoort. Dit is nie die ID van 'n opgelaaide bewysstuk, 'n verskafferadres of 'n afsonderlike identiteitsentiteit nie. Die hulpfunksie soek die profiel teen die geverifieerde rekening op en verwerp ontbrekende of onbeskikbare profiele.

Sommige ondersteunde voorraad laat aankope toe voordat registrasie voltooi is; ander voorraad vereis 'n profiel voor aankoop. Netwerkoperateurspesifieke validering of voorsiening kan steeds vereis word. Moenie 'n suksesvolle aankoop of die weglating van 'n voorafkontrole as 'n vrystelling van registrasie of onmiddellike aktivering vertolk nie.

Waar dit voorkom, dui die antwoord se registration_requirements die gestruktureerde vereistenasoek met land en nommertipe aan. Gebruik die registrasiekatalogus en die werkvloei vir bewysstukke om aan die toepaslike vereistes te voldoen. Teruggestuurde teks en metadata keur nie op sigself 'n profiel goed nie.

Vermy ongemerkte planvervanging

Die verouderde koördineerder kan 'n weggelate prys uit nommerdata in die kasgeheue aflei. Dit kan ook terugval op die nuutste rekeningprys vir 'n voorvoegsel in die kasgeheue wanneer 'n uitdruklik verskafde prys-ID nie meer bestaan nie, en die toegelate pryskeuse in die kasgeheue bywerk. Moenie op hierdie terugvalopsies staatmaak om die plan te kies wat 'n kliënt goedgekeur het nie.

Verskaf die uitdruklik gekose prys en die ooreenstemmende kwotasiewaarborgvelde. Die kwotasie-ID-waarborg verwerp 'n terugval na 'n ander ID voordat die huurversoek gestuur word. Verfris die soektog en verkry 'n nuut goedgekeurde keuse ná 'n konflik weens 'n verouderde prys, eerder as om die waarborge te verwyder om die aankoop af te dwing.

Daar is geen gewaarborgde besprekingstydperk of kasgeheueleeftyd wat universeel vir elke pad afgedwing word nie. Nommerbeskikbaarheid, rekeningpryslimiete en aankoopbeleide word weer in die werkvloei nagegaan, maar die volledige verskafferspesifieke gedrag word nog ondersoek.

Gevorderd: verstekroetering vir die rekening

'n Aankoop kan die rekening se bestaande stembestemmings, oorskakelbestemmings vir foutgevalle, SMS-bestemming en voorkeur vir die oorsprongstrunk erf. Gaan daardie verstekinstellings na voordat jy bestel; die weglating van roeteringsopsies waarborg nie 'n ongekonfigureerde nommer nie. Die nagegane hulpfunksie aktiveer outomatiese hernuwing by verstek.

Herkende roeteringsopsies in die gedeelde hulpfunksie
OpsieGedrag by waardebepaling
uri, uri2, uri3Weggelate waardes erf die ooreenstemmende rekeningverstekke. Uitdruklike leë waardes maak die hulpfunksie se waarde skoon in plaas daarvan om dit te erf. Gebruik geldige bestemmings wat by die gekose roeteringsmodus pas.
smsuri'n Weggelate waarde erf die rekening se SMS-bestemming; 'n uitdruklike leë waarde maak dit in die hulpfunksie skoon.
origintrunk'n Herkende uitdruklike trunk-ID geniet voorrang. 'n Waarde wat nie bepaal kan word nie, kan terugval op die rekeningvoorkeur of die verouderde verstek in plaas daarvan om 'n fout te lewer.
forward_destination, forwarding_destination, typeNie-leë aliasse vir die roeteringsmodus, in daardie voorrangsvolgorde. Gebruik ondersteunde waardes uit die rekening se roeteringskonfigurasie, nie 'n geraaide numeriese modus nie.
RegistrationIDRegistrasieprofielnasoek, beperk tot die kliënt; dit staan los van roeteringsbestemmings.
autorenewDie verstekwaarde is 1. Die hulpfunksie kontroleer of die waarde nie leeg is nie, dus deaktiveer 0 nie hernuwing betroubaar deur hierdie aankoopveld nie. Gebruik die ondersteunde hernuwingsbestuur vir die rekening en bevestig die gestoorde instelling.

Dit is die semantiek van die gedeelde hulpfunksie, nie 'n waarborg dat elke verskaffer elke opsionele instelling op dieselfde manier stoor nie. Ander verouderde velde vir stem, stempos, faks en SMS bestaan, maar vereis steeds 'n volledige verskafferspesifieke oorsig. Bevestig die gekoopte nommer se gestoorde konfigurasie deur die rekeningwerkvloei voordat jy op oproepe of boodskappe staatmaak.

Antwoord

Fiktiewe voorbeeld van 'n ongekompliseerde aankoop; waardes en kenmerke wissel volgens die gekose plan.

{
  "status": {
    "code": 200,
    "msg": ""
  },
  "response": {
    "number": "12025550123",
    "price": {
      "per_minute": "0.0100",
      "free_minutes": "100",
      "setup_price": "2.00",
      "monthly_price": "4.00",
      "channels": "2",
      "overflow": "0"
    },
    "features": [
      "voice"
    ],
    "needs_registration": 0,
    "registration_requirements": null
  }
}

Die koördineerder gebruik sy eie status.code/status.msg en response-omhulsel, sonder 'n gewaarborgde status.results-veld. 'n Fout het gewoonlik 'n leë antwoordlys. By sukses moet jy die teruggestuurde nommer en prys nagaan en dan die rekeningvoorraad en registrasiestatus rekonsilieer. Aanvaarding deur die verskaffer is nie 'n werklike stem-, SMS- of fakstoets nie.

Foute en onsekere resultate

Belangrikste resultaatkodes van die koördineerder
API-kodeBetekenis
403Prys- of aankoopbeperkings op die rekening, 'n onbeskikbare pryskeuse of 'n ontoeganklike registrasieprofiel kan verwerking blokkeer.
404Ontbrekende of onbeskikbare nommer-, prys- of voorvoegselkeuse.
409Die nommer is reeds aktief, 'n kwotasiewaarborg stem nie meer ooreen nie, of 'n ander bewerking met waarborge hou die slot.
422Registrasie-inligting word vereis, is onvolledig of kan nie in die nagegane registrasiepaaie voorsien word nie.
500 en ander verskaffer- of rekeningkodesVerskaffer-, plaaslike verwerkings- of beleidsfout. Dit is nie universele bewys dat geen aankoop of heffing plaasgevind het nie.

Lees die werklike API-antwoordinhoud sowel as die HTTP-status. 'n Eksterne verskaffer kan 'n huur aanvaar voordat plaaslike kennisgewing, registrasie of ander verwerking misluk. Sommige toewysings uit plaaslike voorraad gebruik databasistransaksies, maar daar is geen universele terugrol van bestellings by eksterne verskaffers nie. Hierdie koördineerder het geen kliënt-idempotensiesleutel nie.

Rekonsilieer voordat jy weer probeer

  1. Bewaar die goedgekeurde nommer, prys en kwotasielimiete in jou toepassing se bestelrekord voordat jy dit een keer indien.
  2. Lees die voorraad van gekoopte nommers en die nommerbesonderhede vir dieselfde rekening ná die versoek, ook ná 'n uittelfout of ander fout.
  3. As die nommer bestaan, bevestig die prys, hernuwing, roetering en registrasiestatus daarvan in plaas daarvan om nog 'n aankoopversoek te plaas.
  4. As die resultaat steeds onseker is, laat die ondersteuningsdiens die verskafferbestelling en rekeningfakturering rekonsilieer voordat jy weer probeer. 'n Foutboodskap of 'n suksesmerker in 'n verouderde logboek alleen is onvoldoende bewys.
  5. Nadat eienaarskap en aktivering bevestig is, voltooi die rekening se normale roeteringskontroles en dienstoetse.