Utvecklare

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

Köp ett valt telefonnummer

Skicka in ett godkänt nummer och pris med offertkontroller och stäm sedan av ägarskap och aktivering innan du försöker igen.

På denna sida
  1. Välj nummer och pris tillsammans
  2. Skicka en köpbegäran med skyddskontroller via POST
  3. Registrering och aktivering
  4. Undvik att abonnemanget byts ut utan att det märks
  5. Avancerat: kontots standardinställningar för dirigering
  6. Svar
  7. Fel och osäkra resultat
  8. Stäm av innan du försöker igen

Välj nummer och pris tillsammans

Köp ett specifikt nummer som valts från en ny sökning efter tillgängliga nummer. Använd den valda postens info.uuid som nummer-ID och ett av samma posts price[].uuid-värden som pris-ID. Anropsvägen accepterar också hela det lagrade numret, men ett lands-, områdes- eller prefix-ID ersätter inte valet av ett nummer.

Att söka eller läsa sparade prisuppgifter reserverar inte ett nummer och låser inte priset. Bekräfta den valda startavgiften, månadsavgiften, minutpriset för inkommande samtal, inkluderade minuter och kanaler samt kontots köpbehörigheter och registreringskrav. Det inledande grundbeloppet i den granskade hjälpfunktionen är startavgiften plus månadsavgiften; samtliga leverantörsspecifika avgifter och villkor måste bekräftas för det valda abonnemanget.

Skicka en köpbegäran med skyddskontroller via POST

Använd ett aktiverat API-konto över HTTPS från en tillåten käll-IP-adress. Följande kommando genomför ett köp, inte en offertförfrågan eller provkörning. Ange varje variabel utifrån samma nya val av nummer och pris. Fälten för maxgränser behåller det äldre prefixet restore_quote_; den nuvarande portalen använder dem även för köp av specifika nummer med skyddskontroller.

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"

Använd POST med formulärdata enligt exemplet. Hjälpfunktionen har även stöd för parsning av JSON och omslutande alternativobjekt, men denna granskning har inte fastställt fullständig likvärdighet för alla offert- och leverantörsflöden. Använd inte GET för köp även om denna äldre koordinator saknar en uttrycklig kontroll av HTTP-metoden.

Anropsväg för köp och offertfält
FältBetydelse
NUMBER_IDDet valda numrets UUID från sökningen eller hela det lagrade numret. Ett nummer per begäran.
PRICE_IDPrisets UUID som är kopplat till det valda numret och ditt konto. Ange det alltid uttryckligen.
restore_quote_price_idMåste matcha det pris-ID som systemet har fastställt. När detta fält anges aktiveras offertkontrollerna; det är inte en idempotensnyckel.
restore_quote_setupHögsta accepterade startavgift, som ett ändligt numeriskt värde som inte är negativt.
restore_quote_monthlyHögsta accepterade månadsavgift, som ett ändligt numeriskt värde som inte är negativt.
restore_quote_per_minuteHögsta accepterade minutpris för inkommande samtal, som ett ändligt numeriskt värde som inte är negativt.
restore_quote_channelsDet exakta antalet kanaler i det valda prisalternativet, angivet som heltal, inte en begäran om ett annat kanalabonnemang.

Ange alla numeriska offertfält när du anger offertens pris-ID. Ett ändrat ID, ett pris över en maxgräns, en saknad eller ogiltig maxgräns, ett ändrat kanalantal eller ett upptaget offertlås ger API-kod 409 innan begäran skickas till den valda uthyrningsleverantören. Jämförelserna tillåter en liten flyttalstolerans; använd abonnemangets faktiska visade värden i stället för ett manuellt avrundat pris.

Skyddskontrollerna gör inte hela arbetsflödet till en provkörning eller transaktion. Uppslagning av registreringsprofiler, provisionering av identiteter eller annat arbete i hjälpfunktionen kan ske före dessa kontroller. De låser inte heller det externa nummerbeståndet och ersätter inte köpbegränsningar på kontonivå.

Registrering och aktivering

När det krävs lägger du till formulärfältet RegistrationID med UUID för den registreringsprofil som kunden äger. Det är inte ID för ett uppladdat styrkande dokument, en leverantörsadress eller en separat identitetsentitet. Hjälpfunktionen slår upp profilen mot det autentiserade kontot och avvisar profiler som saknas eller inte är tillgängliga.

Vissa nummer i det nummerbestånd som stöds kan köpas innan registreringen är klar; andra kräver en profil före köp. Operatörsspecifik validering eller provisionering kan fortfarande krävas. Tolka inte ett lyckat köp eller en utebliven förhandskontroll som ett undantag från registreringskraven eller som omedelbar aktivering.

När det finns anger svarsfältet registration_requirements den strukturerade kravuppslagningen med land och nummertyp. Använd registreringskatalogen och arbetsflödet för styrkande dokument för att uppfylla de tillämpliga kraven. Returnerad text och metadata innebär inte i sig att en profil godkänns.

Undvik att abonnemanget byts ut utan att det märks

Den äldre koordinatorn kan härleda ett utelämnat pris från cachade nummeruppgifter. Den kan också falla tillbaka på kontots senaste pris för ett cachat prefix när ett uttryckligen angivet pris-ID inte längre finns, och uppdatera det cachade valet av tillåtet pris. Förlita dig inte på dessa reservlösningar för att välja det abonnemang som kunden har godkänt.

Ange det valda priset uttryckligen tillsammans med matchande fält för offertkontrollerna. Kontrollen av offertens pris-ID avvisar ett återfall till ett annat ID innan uthyrningsbegäran skickas. Uppdatera sökningen och få ett nytt val godkänt efter en konflikt på grund av ett inaktuellt pris, i stället för att ta bort skyddskontrollerna för att tvinga igenom köpet.

Det finns ingen garanterad reservationstid eller cachelivslängd som genomdrivs enhetligt i alla flöden. Numrets tillgänglighet, kontots prisgränser och köpregler kontrolleras på nytt i arbetsflödet, men det fullständiga leverantörsspecifika beteendet granskas fortfarande.

Avancerat: kontots standardinställningar för dirigering

Ett köp kan ärva kontots befintliga samtalsdestinationer, reservdestinationer, SMS-destination och inställning för originationstrunk. Granska dessa standardinställningar innan du beställer; att utelämna dirigeringsalternativ garanterar inte ett okonfigurerat nummer. Den granskade hjälpfunktionen aktiverar automatisk förnyelse som standard.

Dirigeringsalternativ som känns igen av den gemensamma hjälpfunktionen
AlternativHur värdet fastställs
uri, uri2, uri3Utelämnade värden ärver motsvarande standardinställningar för kontot. Uttryckligen tomma värden tömmer hjälpfunktionens värde i stället för att ärva standardvärdet. Använd giltiga destinationer som passar det valda dirigeringsläget.
smsuriEtt utelämnat värde ärver kontots SMS-destination; ett uttryckligen tomt värde tömmer den i hjälpfunktionen.
origintrunkEtt uttryckligen angivet trunk-ID som känns igen har företräde. Ett värde som inte kan matchas kan leda till att kontots inställning eller det äldre standardvärdet används i stället för att ett fel returneras.
forward_destination, forwarding_destination, typeIcke-tomma alias för dirigeringsläge, i denna prioritetsordning. Använd värden som stöds från kontots dirigeringskonfiguration, inte ett gissat numeriskt läge.
RegistrationIDUppslagning av registreringsprofil, avgränsad till kunden; den är separat från dirigeringsdestinationerna.
autorenewStandardvärdet är 1. Hjälpfunktionen kontrollerar om värdet är icke-tomt, så 0 inaktiverar inte förnyelse på ett tillförlitligt sätt via detta köpfält. Använd kontots förnyelsehantering som stöds och verifiera den sparade inställningen.

Detta beskriver den gemensamma hjälpfunktionens beteende och garanterar inte att varje leverantör sparar varje valfri inställning på samma sätt. Det finns andra äldre fält för samtal, röstbrevlåda, fax och SMS, men de kräver fortfarande en fullständig leverantörsspecifik granskning. Verifiera det köpta numrets sparade konfiguration via kontots arbetsflöde innan du förlitar dig på samtal eller meddelanden.

Svar

Fiktivt exempel på ett okomplicerat köp; värden och funktioner varierar beroende på det valda abonnemanget.

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

Koordinatorn använder sina egna status.code/status.msg och response som svarsstruktur, utan något garanterat status.results-fält. Vid fel är svarslistan vanligtvis tom. Vid framgång granskar du det returnerade numret och priset och stämmer sedan av kontots nummerbestånd och registreringsstatus. Att leverantören accepterar beställningen är inte ett test av samtal, SMS eller fax i skarp drift.

Fel och osäkra resultat

Koordinatorns huvudsakliga resultatkoder
API-kodBetydelse
403Kontots pris- eller köpbegränsningar, ett otillgängligt prisval eller en registreringsprofil som inte går att komma åt kan blockera behandlingen.
404Valt nummer, pris eller prefix saknas eller är inte tillgängligt.
409Numret är redan aktivt, en offertkontroll matchar inte längre eller en annan skyddad åtgärd håller låset.
422Registreringsuppgifter krävs, är ofullständiga eller kan inte provisioneras i de granskade registreringsflödena.
500 och andra leverantörs- eller kontokoderFel hos leverantören, i den lokala behandlingen eller på grund av regler. Dessa koder är inte i alla fall bevis för att inget köp eller ingen debitering har skett.

Läs den faktiska API-svarskroppen och även HTTP-statusen. En extern leverantör kan acceptera en uthyrning innan lokal avisering, registrering eller annan behandling misslyckas. Vissa tilldelningar från det lokala nummerbeståndet använder databastransaktioner, men det finns ingen generell återställning av beställningar hos externa leverantörer. Denna koordinator har ingen idempotensnyckel för klienten.

Stäm av innan du försöker igen

  1. Spara det godkända numret, priset och offertens maxgränser i applikationens orderpost innan du skickar begäran en gång.
  2. Läs beståndet av köpta nummer och nummerdetaljerna för samma konto efter begäran, även efter en timeout eller ett fel.
  3. Om numret finns verifierar du dess pris, förnyelse, dirigering och registreringsstatus i stället för att skicka en ny köpbegäran.
  4. Om resultatet fortfarande är osäkert låter du supporten stämma av leverantörsbeställningen och kontots fakturering innan du försöker igen. Ett felmeddelande eller en framgångsflagga i en äldre logg räcker inte ensamt som bevis.
  5. När ägarskap och aktivering har bekräftats genomför du kontots vanliga dirigeringskontroller och tjänstetester.