Velg nummer og pris sammen
Kjøp ett bestemt nummer valgt fra et nytt søk etter tilgjengelige numre. Bruk den valgte oppføringens info.uuid som nummer-ID og én av den samme oppføringens price[].uuid-verdier som pris-ID. Ruten godtar også hele det lagrede nummeret, men en land-, område- eller prefiks-ID kan ikke erstatte valget av et nummer.
Søk eller lesing av lagrede priser reserverer ikke et nummer og låser ikke prisen. Bekreft den valgte etableringsprisen, månedsprisen, minuttprisen for innkommende samtaler, inkluderte minutter og kanaler, samt kontoens kjøpstillatelser og registreringskrav. Det innledende grunnbeløpet i den gjennomgåtte hjelpefunksjonen er etableringspris pluss månedspris; alle leverandørspesifikke kostnader og vilkår må bekreftes for det valgte abonnementet.
Send en kjøpsforespørsel med kontrollbetingelser via POST
Bruk en aktivert API-konto over HTTPS fra en tillatt kilde-IP-adresse. Kommandoen nedenfor utfører et kjøp, ikke en prisforespørsel eller prøvekjøring. Angi alle variablene ut fra det samme, nylig utførte valget av nummer og pris. Feltene for øvre grenser beholder det eldre prefikset restore_quote_; den nåværende portalen bruker dem også til kjøp av bestemte numre med kontrollbetingelser.
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"Bruk POST med skjemadata som vist. Hjelpefunksjonen kan også tolke JSON og en omsluttende alternativstruktur, men denne gjennomgangen har ikke fastslått at disse fungerer helt likt for alle behandlingsløp for pristilbud og leverandører. Ikke bruk GET til kjøp, selv om denne eldre koordinatoren ikke har noen eksplisitt metodekontroll.
| Felt | Betydning |
|---|---|
| NUMBER_ID | UUID-en til det valgte nummeret fra søket, eller hele det lagrede nummeret. Ett nummer per forespørsel. |
| PRICE_ID | Prisens UUID, knyttet til det valgte nummeret og kontoen din. Oppgi den alltid eksplisitt. |
| restore_quote_price_id | Må samsvare med pris-ID-en som blir fastslått. Når dette feltet oppgis, aktiveres kontrollene av pristilbudet; det er ikke en idempotensnøkkel. |
| restore_quote_setup | Høyeste aksepterte etableringspris, som en endelig, ikke-negativ tallverdi. |
| restore_quote_monthly | Høyeste aksepterte månedspris, som en endelig, ikke-negativ tallverdi. |
| restore_quote_per_minute | Høyeste aksepterte minuttpris for innkommende samtaler, som en endelig, ikke-negativ tallverdi. |
| restore_quote_channels | Det nøyaktige heltallsantallet kanaler i det valgte prisalternativet, ikke en forespørsel om et annet kanalabonnement. |
Oppgi alle numeriske felt for pristilbudet hver gang du oppgir pris-ID-en for pristilbudet. En endret ID, en pris over en øvre grense, en manglende eller ugyldig grense, et endret kanalantall eller en opptatt pristilbudslås gir API-kode 409 før forespørselen sendes til den valgte utleieleverandøren. Sammenligningene tillater en liten flyttallstoleranse; bruk de faktiske abonnementsverdiene som vises, fremfor en manuelt avrundet pris.
Kontrollbetingelsene gjør ikke hele arbeidsflyten til en prøvekjøring eller transaksjon. Oppslag i registreringsprofiler, opprettelse av identiteter eller annet arbeid i hjelpefunksjonen kan skje før disse kontrollene. De låser heller ikke ekstern nummerbeholdning og erstatter ikke kjøpsbegrensninger på kontonivå.
Registrering og aktivering
Når det kreves, legg til skjemafeltet RegistrationID med UUID-en til registreringsprofilen som kunden eier. Dette er ikke ID-en til opplastet dokumentasjon, en leverandøradresse eller en separat identitetsenhet. Hjelpefunksjonen slår opp profilen mot den autentiserte kontoen og avviser manglende eller utilgjengelige profiler.
Noen av numrene som støttes, kan kjøpes før registreringen er fullført; andre krever en profil før kjøp. Operatørspesifikk validering eller klargjøring kan fortsatt være nødvendig. Ikke tolk et vellykket kjøp eller en utelatt forhåndskontroll som fritak fra registrering eller som umiddelbar aktivering.
Når det finnes i svaret, angir registration_requirements det strukturerte oppslaget for krav, med land og nummertype. Bruk registreringskatalogen og arbeidsflyten for dokumentasjon til å oppfylle de gjeldende kravene. Returnert tekst og metadata godkjenner ikke i seg selv en profil.
Unngå at abonnementet byttes uten varsel
Den eldre koordinatoren kan utlede en utelatt pris fra hurtigbufrede nummerdata. Den kan også falle tilbake på den nyeste kontoprisen for et hurtigbufret prefiks når en eksplisitt oppgitt pris-ID ikke lenger finnes, og oppdatere det hurtigbufrede valget av tillatt pris. Ikke stol på at disse reserveløsningene velger abonnementet kunden har godkjent.
Oppgi den valgte prisen eksplisitt sammen med samsvarende kontrollfelt for pristilbudet. Kontrollen av pristilbudets ID avviser tilbakefall til en annen ID før leieforespørselen sendes. Oppdater søket og få et nytt valg godkjent etter en konflikt som skyldes en utdatert pris, i stedet for å fjerne kontrollbetingelsene for å tvinge gjennom kjøpet.
Det finnes ingen garantert reservasjonsperiode eller levetid for hurtigbufferen som håndheves konsekvent i alle behandlingsløp. Nummerets tilgjengelighet, kontoens prisgrenser og kjøpsregler kontrolleres på nytt i arbeidsflyten, men den fullstendige leverandørspesifikke virkemåten er fortsatt under gjennomgang.
Avansert: kontoens standardinnstillinger for ruting
Et kjøp kan arve kontoens eksisterende destinasjoner for tale, reservedestinasjoner ved feil, SMS-destinasjon og foretrukne trunk for originering. Gjennomgå disse standardinnstillingene før du bestiller; utelatte rutingsalternativer garanterer ikke et ukonfigurert nummer. Den gjennomgåtte hjelpefunksjonen aktiverer automatisk fornyelse som standard.
| Alternativ | Hvordan verdien fastsettes |
|---|---|
| uri, uri2, uri3 | Utelatte verdier arver de tilsvarende standardverdiene fra kontoen. Eksplisitt tomme verdier tømmer verdien i hjelpefunksjonen i stedet for å arve den. Bruk gyldige destinasjoner som passer til den valgte rutingsmodusen. |
| smsuri | En utelatt verdi arver kontoens SMS-destinasjon; en eksplisitt tom verdi tømmer den i hjelpefunksjonen. |
| origintrunk | En gjenkjent, eksplisitt trunk-ID har forrang. En verdi som ikke kan fastslås, kan falle tilbake på kontoens foretrukne verdi eller den eldre standardverdien i stedet for å gi en feil. |
| forward_destination, forwarding_destination, type | Ikke-tomme aliaser for rutingsmodus, i denne prioritetsrekkefølgen. Bruk støttede verdier fra kontoens rutingskonfigurasjon, ikke en numerisk modus du gjetter deg til. |
| RegistrationID | Oppslag i registreringsprofiler, avgrenset til kunden; dette er atskilt fra rutingsdestinasjoner. |
| autorenew | Standardverdien er 1. Hjelpefunksjonen kontrollerer om verdien er ikke-tom, så 0 deaktiverer ikke fornyelse pålitelig gjennom dette kjøpsfeltet. Bruk kontoens støttede administrasjon av fornyelse, og kontroller den lagrede innstillingen. |
Dette beskriver virkemåten i den delte hjelpefunksjonen og garanterer ikke at alle leverandører lagrer alle valgfrie innstillinger på samme måte. Det finnes andre eldre felt for tale, telefonsvarer, faks og SMS, men disse krever fortsatt en fullstendig leverandørspesifikk gjennomgang. Kontroller det kjøpte nummerets lagrede konfigurasjon gjennom kontoens arbeidsflyt før du baserer deg på at samtaler eller meldinger fungerer.
Svar
Oppdiktet eksempel på et ukomplisert kjøp; verdier og funksjoner varierer med det valgte abonnementet.
{
"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
}
}Koordinatoren bruker sine egne status.code/status.msg og en response-omslutning, uten noe garantert status.results-felt. Ved feil er svarlisten vanligvis tom. Ved et vellykket kjøp kontrollerer du nummeret og prisen som returneres, og avstemmer deretter kontoens nummerbeholdning og registreringsstatus. Leverandørens aksept er ikke en reell test av tale, SMS eller faks.
Feil og usikre resultater
| API-kode | Betydning |
|---|---|
| 403 | Kontoens pris- eller kjøpsbegrensninger, et utilgjengelig prisvalg eller en registreringsprofil som ikke kan åpnes, kan blokkere behandlingen. |
| 404 | Manglende eller utilgjengelig valg av nummer, pris eller prefiks. |
| 409 | Nummeret er allerede aktivt, en kontrollbetingelse for pristilbudet samsvarer ikke lenger, eller en annen operasjon med kontrollbetingelser holder låsen. |
| 422 | Registreringsinformasjon er påkrevd, ufullstendig eller kan ikke klargjøres i de gjennomgåtte registreringsløpene. |
| 500 og andre leverandør- eller kontokoder | Feil hos leverandøren, i lokal behandling eller som følge av regler. Disse er ikke et generelt bevis på at det ikke har skjedd et kjøp eller en belastning. |
Les selve API-svarkroppen i tillegg til HTTP-statusen. En ekstern leverandør kan godta en leiebestilling før lokal varsling, registrering eller annen behandling feiler. Noen tildelinger fra lokal nummerbeholdning bruker databasetransaksjoner, men det finnes ingen generell tilbakeføring av bestillinger hos eksterne leverandører. Denne koordinatoren har ingen idempotensnøkkel for klienten.
Avstem før du prøver på nytt
- Lagre det godkjente nummeret, den godkjente prisen og pristilbudets øvre grenser i applikasjonens ordreoppføring før du sender forespørselen én gang.
- Les beholdningen av kjøpte numre og nummerdetaljene for den samme kontoen etter forespørselen, også etter et tidsavbrudd eller en feil.
- Hvis nummeret finnes, kontrollerer du pris, fornyelse, ruting og registreringsstatus i stedet for å sende en ny kjøpsforespørsel.
- Hvis resultatet fortsatt er usikkert, må kundestøtte avstemme leverandørbestillingen og kontoens fakturering før du prøver på nytt. En feilmelding eller et suksessflagg i en eldre logg er alene ikke tilstrekkelig dokumentasjon.
- Når eierskap og aktivering er bekreftet, gjennomfører du kontoens vanlige rutingskontroller og tjenestetester.