Beställ från ett prefix
Använd den här operationen när prefixkatalogen hänvisar dig till att beställa ett antal nummer från ett prefix i stället för att välja enskilda tillgängliga nummer. Börja med länder, områden eller delstater samt prefix. Hämta prefixidentifieraren och prisplanen från samma aktuella resultat. För ett visst nummer som valts ur en lista över tillgängliga nummer använder du Köp ett valt telefonnummer.
Den här begäran kan köpa nummer och medföra avgifter. Den är ingen prisoffert, reservation eller provkörning. Granska startavgifter och månadsavgifter, minutpriser för inkommande samtal, inkluderade minuter, kanaler, registreringskrav och kontots köpgränser innan du skickar begäran. Ett katalogresultat reserverar inte nummer och låser inte priser. Kontroller av kontofinansiering kan ske innan beställningen fullgörs; ett fel bevisar inte i sig att inget köp eller ingen påfyllning av kontot har skett.
Skicka köpbegäran
Använd ett aktiverat API-konto via HTTPS från en tillåten käll-IP-adress. Ange variablerna utifrån ditt aktuella val i katalogen och din godkända leveranskonfiguration. Följande kommando köper ett nummer.
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"Ovan visas POST med formulärdata. Koordinatorn läser även ett JSON-objekt när Content-Type är application/json. JSON-fält åsidosätter motsvarande formulärfält eller begärandefält. Använd ett och samma kodningsformat konsekvent; skicka inte motstridiga värden i frågesträngen och meddelandekroppen.
| Parameter | Betydelse |
|---|---|
| prefixidentifierare i sökvägen | Prefixets UUID som returneras av katalogen. En identifierare för land, område, pris eller enskilt nummer kan inte användas i stället. |
| quantity | Skicka ett heltal från 1 till 100. Standardvärdet är 1. Värden under 1 omvandlas till 1; begäran är inte enbart till för validering. Värden över 100 utlöser ett undantag före koordinatorns normala svarshantering, så förlita dig inte på dess vanliga JSON-struktur för sådan ogiltig indata. |
| price_id | Den valda planens publika prisidentifierare. priceid är ett äldre alias. En identifierare som inte matchar kan leda till att en annan plan väljs utan något meddelande; det här fältet är ingen strikt prislåsning. Kontrollera kontots pristak före köpet och granska det returnerade priset efteråt. |
| channels | Antalet kanaler i den valda planen. När ingen exakt prismatchning används kan ett matchande kanalantal påverka valet av alternativ plan. Det garanterar inte i sig att en viss plan köps. |
| reference | Din beteckning för köpet eller beställningsgruppen. Använd ett kort ASCII-värde på högst 255 byte; längre värden trunkeras. Det sparas med genomförda köp och tas med i återanrop om det har angetts. Separata beställningar kan ha samma referens. Det är ingen idempotensnyckel: om du skickar den här operationen igen kan ytterligare nummer köpas och debiteras, även med samma referens och identiska fält. |
| webhook_url | Valfri URL för återanrop. Använd en HTTPS-slutpunkt som du kontrollerar. HTTP- och HTTPS-adresser godkänns av den nuvarande grundläggande valideringen; en ogiltig URL ignoreras i stället för att köpet avvisas. Ett återanrop är en extra avisering, inte ett bevis på att en begäran säkert kan upprepas. |
Inställningar för leverans och förnyelse
Välj samma leveransinställningar som du skulle använda för numret i portalen. Det här är avancerade konfigurationsvärden, inte instruktioner för att skapa en Hosted PBX eller en trunk för inkommande trafik. Återanvänd en kontokonfiguration som du vet fungerar och kontrollera det sparade numret efter köpet. Att köpet har godkänts bekräftar inte i sig att samtals- eller SMS-leverans fungerar.
| Fält | Användning och kompatibilitet |
|---|---|
| uri, uri2, uri3 | Primär och ytterligare destinationer för röstsamtal. Ange destinationer som passar de valda lägena för vidarekoppling och ringsignal. |
| forward_destination | Läge för vidarekoppling av röstsamtal. forwarding_destination och type är äldre alias. Om fältet utelämnas används standardvärdet för det aktuella köpflödet; ett tomt fält är inget tillförlitligt sätt att ta bort en befintlig inställning. |
| ring_type | Ringläge för röstsamtal; ringtype är ett alias. Använd ett värde som stöds i kontots nummerkonfiguration. |
| sms_forward_destination, sms_uri | Leveransläge och destination för SMS. Äldre alias är smsringtype och smsuri. Vissa köpflöden använder kontots standarddestination för SMS när detta är tomt. Tillgången till SMS beror på det valda numret och dess aktivering/registrering. |
| overflow | Begärd inställning för överflödeshantering. Tillgängliga planer och det aktuella köpflödet påverkar om den stöds. |
| force_codec, force_dtmf | Begärda inställningar för kodek och DTMF. Äldre alias är forcecodec och forcedtmf. Kontrollera den sparade konfigurationen för de valda numren i utbudet. |
| origination_trunk_id | En identifierare för en befintlig trunkkonfiguration, där det är tillämpligt. Detta skapar ingen trunk. Om fältet utelämnas används köpflödets standardvärde. |
| autorenew | Begärd förnyelseinställning. Utgå inte från att 0 inaktiverar förnyelse: vissa köpflöden behandlar ett värde som likställs med tomt, inklusive 0, som den aktiverade standardinställningen. Kontrollera och ändra vid behov förnyelsen för det köpta numret i portalen. |
Dessa fält normaliseras och skickas vidare till köpflödet, men hur de sparas varierar mellan olika flöden för nummerutbud. Den nuvarande order-rutten tillhandahåller inte de strikta fälten för offerttak från guiden för köp av ett valt nummer som likvärdiga skydd. Använd kontots köpbehörigheter och prisgränser och granska den resulterande nummerkonfigurationen.
Läs hela resultatet
Tolka JSON-kroppen och granska status.code och status.msg även när HTTP-begäran lyckas. Den här rutten skriver sitt eget JSON-svar, och den gemensamma hjälpfunktionen för svar översätter inte heller nödvändigtvis applikationskoden till HTTP-statusen. Applikationskoder kan vara JSON-tal eller numeriska strängar. Kräv inte status.results; det finns inte i det normala beställningsresultatet.
{
"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
}
}Identifieraren, numret och priserna ovan är fiktiva. Behandla order-ID:t som ett opakt värde. numbers listar de nummer som svaret rapporterar som köpta; jämför listans längd med det antal du begärde. Prisbelopp är strängar och det här svaret avrundar monetära taxor till två decimaler, inklusive per_minute; använd den aktuella katalogen för taxans ursprungliga precision. Inkluderade minuter och kanaler kan levereras som numeriska värden eller numeriska strängar.
Prisblocket beskriver den valda plan som användes för att bygga svaret, inte en detaljerad faktura för varje nummer eller beställningens totalsumma. Olika kandidater i nummerutbudet kan ha olika planer. Stäm av de enskilda köpta numren och kontotransaktionerna i stället för att multiplicera beloppen i blocket och anta att det bevisar den slutliga totalsumman.
Delvisa köp och osäkra utfall
Applikationskoden 200 kan förekomma tillsammans med en varning och färre nummer än begärt. Ett senare fel upphäver inte köp av nummer som redan har genomförts. Spara det returnerade order-ID:t, numren och meddelandet. Stäm av numren mot ditt nummerinnehav och kontotransaktionerna innan du beslutar om du ska beställa det återstående antalet.
En tidsgräns som överskrids, en avbruten anslutning, ett felaktigt formaterat svar eller ett fel efter att begäran har skickats är inte bevis på att ingenting hände. Skicka inte automatiskt en ny köpbegäran, inte ens med samma referens. Spara den ursprungliga begäran, referensen och eventuellt returnerat order-ID, kontrollera nummerinnehavet och kontotransaktionerna och kontakta supporten om utfallet fortfarande är osäkert.
En obekräftad beställning kan returnera applikationskoden 400 med ett meddelande om att bekräftelse fortfarande pågår. Spara dess returnerade order-ID och stäm av köpet; detta är ingen instruktion om att skicka det igen. Återställning av registrerade beställningar följer den ursprungliga beställningen internt. En ny begäran till den här operationen skapar ett separat köpförsök i stället för att återuppta en beställning med hjälp av din referens, så den kan köpa och debitera fler nummer. Använd inte upprepade köpbegäranden för att kontrollera status eller söka i nummerutbudet.
Registrering och aktivering
Ett köpt eller tilldelat nummer kan fortfarande behöva registreras eller aktiveras. Om needs_registration är 1 ska du granska restrictions och registration_requirements. Det sistnämnda fältet kan ange v3/get_requirements med värden för country och number_type. Slutför det tillämpliga flödet för identitets-/adresskontroll och bekräfta numrets status innan du förlitar dig på inkommande samtal eller meddelanden.
features beskriver angivna funktioner; det bekräftar inte fungerande dirigering i drift, kampanjgodkännande, SMS-leverans eller faxmottagning. Kontrollera de sparade leveransinställningarna och utför ett lämpligt tjänstetest när numret är aktivt.
Återanrop för beställningar
Återanrop skickar med POST JSON som innehåller beställningens status och svar, med din referens tillagd om den har angetts. De skickas för rapporterade köp, inklusive delvisa resultat. Ett misslyckat återanrop återställer inte köpet. Leveransen kan göras om, så hantera dubbletter utifrån order-ID och stäm av numren i stället för att skicka en ny köpbegäran.
Den här rutten lägger inte till någon kryptografisk signatur för återanrop. Behandla ett återanrop som en avisering att stämma av mot ditt nummerinnehav via autentiserad åtkomst, inte som en fristående behörighet att debitera, tillhandahålla tjänster eller ge åtkomst. Lägg inte API-inloggningsuppgifter i återanropsadressen. Att skicka en ny köpbegäran med en annan återanropsadress uppdaterar inte den ursprungliga beställningen; det skapar ett separat köpförsök. Behåll det ursprungliga order-ID:t när du ber supporten att undersöka dess återanrop.
Fel att hantera
| Utfall | Åtgärd |
|---|---|
| 400 och ett meddelande om ogiltigt prefix | Läs prefixkatalogen på nytt och använd dess aktuella identifierare. Skilj detta från ett meddelande om att en ursprunglig beställning fortfarande håller på att bekräftas. |
| 403 eller ett fel som gäller kontoregler eller saldo | Granska köpbehörighet, kontots pristak, antalsgränser och finansiering. Andra applikationskoder kan vidarebefordras från dessa kontroller; spara det faktiska meddelandet. |
| 404 eller inga tillgängliga nummer | Uppdatera tillgängligheten. Gör inte upprepade köpförsök för ett prefix där numren är slut. |
| 409 och ett meddelande om köpbekräftelse, avvisande från leverantören eller annullerad beställning | Spara det returnerade order-ID:t och det faktiska meddelandet. Stäm av begäran mot nummerinnehavet, kontotransaktionerna och med supporten innan du skickar en ny köpbegäran. Att återanvända samma referens gör inte en ny begäran säker. |
| 200 med varningar eller färre nummer | Vissa nummer har köpts. Stäm av den returnerade tilldelningen och transaktionerna innan du beställer fler. |
| Server-/transportfel eller oläsbart svar | Betrakta resultatet som potentiellt osäkert tills nummerinnehavet och transaktionerna klarlägger vad som hände. |