Utviklere

POST/v3/order/{prefix_id}

Bestill telefonnumre fra et prefiks

Kjøp et antall numre fra den gjeldende beholdningen for et prefiks, ta vare på bestillingsreferanser, og avstem priser, delvise tildelinger og aktivering.

På denne siden
  1. Bestill fra et prefiks
  2. Send inn kjøpet
  3. Innstillinger for levering og fornyelse
  4. Les hele resultatet
  5. Delvise kjøp og usikre utfall
  6. Registrering og aktivering
  7. Tilbakekall for bestillinger
  8. Feil som må håndteres

Bestill fra et prefiks

Bruk denne operasjonen når prefikskatalogen viser at du skal bestille et antall numre fra et prefiks i stedet for å velge enkelte tilgjengelige numre. Begynn med land, områder eller delstater, og prefikser. Behold prefiksidentifikatoren og prisplanen fra det samme ferske resultatet. For et bestemt nummer valgt fra en liste over tilgjengelige numre bruker du Kjøp et valgt telefonnummer.

Denne forespørselen kan kjøpe numre og medføre kostnader. Den er ikke et pristilbud, en reservasjon eller en prøvekjøring. Gå gjennom etablerings- og månedspriser, minuttpriser for innkommende samtaler, inkluderte minutter, kanaler, registreringskrav og kontoens kjøpsgrenser før du sender den. Et katalogresultat reserverer ikke numre og låser ikke priser. Kontroller knyttet til påfylling av kontoen kan skje før kjøpet fullføres; en feil beviser ikke i seg selv at det ikke har skjedd et kjøp eller en påfylling av kontoen.

Send inn kjøpet

Bruk en aktivert API-konto over HTTPS fra en tillatt kilde-IP-adresse. Angi variablene ut fra det gjeldende katalogvalget og den godkjente leveringskonfigurasjonen din. Følgende kommando kjø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"

POST med skjemadata er vist ovenfor. Koordinatoren leser også et JSON-objekt når Content-Type er application/json. JSON-felter overstyrer tilsvarende felt i skjemaet/forespørselen. Bruk én koding konsekvent; ikke send motstridende verdier i spørringsparametrene og forespørselskroppen.

Parametere for bestillingsvalg og varsling
ParameterBetydning
prefiksidentifikator i stienPrefiksets UUID som returneres av katalogen. En identifikator for land, område, pris eller enkeltnummer kan ikke brukes i stedet.
quantitySend et heltall fra 1 til 100. Standardverdien er 1. Verdier under 1 settes til 1; dette er ikke en forespørsel som bare validerer. Verdier over 100 utløser et unntak før denne koordinatorens vanlige svarhåndtering, så ikke stol på det vanlige JSON-formatet ved slik ugyldig inndata.
price_idDen valgte planens offentlige prisidentifikator. priceid er et eldre alias. En identifikator uten treff kan føre til at en annen plan velges uten varsel; dette feltet er ikke en streng prislås. Bekreft kontoens prisgrenser før kjøpet, og kontroller den returnerte prisen etterpå.
channelsAntall kanaler fra den valgte planen. Når et nøyaktig pristreff ikke brukes, kan et samsvarende kanalantall påvirke valget av alternativ plan. Det garanterer ikke i seg selv at en bestemt plan blir kjøpt.
referenceDin merking av kjøpet eller partiet. Bruk en kort ASCII-verdi på høyst 255 byte; lengre verdier avkortes. Verdien lagres ved vellykkede kjøp og tas med i tilbakekall når den er oppgitt. Separate bestillinger kan ha samme referanse. Den er ikke en idempotensnøkkel: Hvis du sender denne operasjonen på nytt, kan flere numre bli kjøpt og belastet, selv med samme referanse og identiske felt.
webhook_urlValgfri URL for tilbakekall. Bruk et HTTPS-endepunkt du kontrollerer. HTTP- og HTTPS-adresser godtas av den gjeldende grunnleggende validatoren; en ugyldig URL ignoreres i stedet for at kjøpet avvises. Et tilbakekall er et ekstra varsel, ikke et bevis på at en forespørsel trygt kan gjentas.

Innstillinger for levering og fornyelse

Velg de samme leveringsinnstillingene som du ville brukt for nummeret i portalen. Dette er avanserte konfigurasjonsverdier, ikke instruksjoner for å opprette en driftet telefonsentral eller en trunk for innkommende telefoni. Gjenbruk en kontokonfigurasjon som du vet fungerer, og kontroller det lagrede nummeret etter kjøpet. Et godkjent kjøp bekrefter ikke i seg selv at levering av tale eller SMS fungerer.

Flere bestillingsfelt
FeltBruk og kompatibilitet
uri, uri2, uri3Primær og ekstra destinasjoner for tale. Oppgi destinasjoner som passer til de valgte viderekoblings- og ringemodusene.
forward_destinationModus for viderekobling av tale. forwarding_destination og type er eldre aliaser. Hvis feltet utelates, brukes standardverdien for den aktuelle kjøpsflyten; et tomt felt er ikke en pålitelig måte å fjerne en eksisterende innstilling på.
ring_typeRingemodus for tale; ringtype er et alias. Bruk en støttet verdi fra kontoens nummerkonfigurasjon.
sms_forward_destination, sms_uriLeveringsmodus og destinasjon for SMS. Eldre aliaser er smsringtype og smsuri. Noen kjøpsflyter bruker kontoens standarddestinasjon for SMS når dette er tomt. Tilgjengeligheten av SMS avhenger av det valgte nummeret og aktiveringen/registreringen av det.
overflowØnsket overløpsinnstilling. Tilgjengelige planer og kjøpsflyten påvirker om den støttes.
force_codec, force_dtmfØnskede kodek- og DTMF-innstillinger. Eldre aliaser er forcecodec og forcedtmf. Kontroller den lagrede konfigurasjonen for den valgte nummerbeholdningen.
origination_trunk_idEn identifikator for en eksisterende trunkkonfigurasjon, der det er aktuelt. Dette oppretter ikke en trunk. Hvis feltet utelates, brukes standardverdien for kjøpet.
autorenewØnsket fornyelsesinnstilling. Ikke anta at 0 deaktiverer fornyelse: Noen kjøpsflyter behandler en verdi som regnes som tom, inkludert 0, som standardinnstillingen der fornyelse er aktivert. Kontroller og endre om nødvendig fornyelsen for det kjøpte nummeret i portalen.

Disse feltene normaliseres og sendes videre til kjøpsbehandlingen, men hva som lagres, varierer mellom flytene for ulike nummerbeholdninger. Den gjeldende bestillingsruten tilbyr ikke de strenge feltene for pristilbudsgrenser fra veiledningen for kjøp av et valgt nummer som tilsvarende vern. Bruk kontoens kjøpstillatelser og prisgrenser, og kontroller den resulterende nummerkonfigurasjonen.

Les hele resultatet

Tolk JSON-kroppen og kontroller status.code og status.msg selv når HTTP-forespørselen lykkes. Denne ruten skriver sitt eget JSON-svar, og den felles svarhjelperen kobler heller ikke nødvendigvis applikasjonskoden til HTTP-statusen. Applikasjonskoder kan være JSON-tall eller numeriske strenger. Ikke krev status.results; feltet finnes ikke i det vanlige bestillingsresultatet.

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

Identifikatoren, nummeret og prisene ovenfor er oppdiktet. Behandle bestillings-ID-en som en ugjennomsiktig verdi. numbers lister opp numrene som dette svaret oppgir som kjøpt; sammenlign lengden på listen med antallet du ba om. Prisbeløp er strenger, og dette svaret avrunder pengesatser til to desimaler, inkludert per_minute; bruk den ferske katalogen for den opprinnelige prisnøyaktigheten. Inkluderte minutter og kanaler kan komme som tallverdier eller numeriske strenger.

Prisblokken beskriver den valgte planen som ble brukt til å bygge svaret, ikke en detaljert faktura for hvert nummer eller bestillingens totalbeløp. Ulike kandidater i nummerbeholdningen kan ha ulike planer. Avstem de enkelte kjøpte numrene og kontotransaksjonene i stedet for å multiplisere beløpene i denne blokken og anta at det beviser det endelige totalbeløpet.

Delvise kjøp og usikre utfall

En applikasjonskode på 200 kan komme sammen med en advarsel og færre numre enn forespurt. En senere feil opphever ikke kjøp av numre som allerede er kjøpt. Ta vare på den returnerte bestillings-ID-en, numrene og meldingen. Avstem disse numrene mot nummerbeholdningen din og kontotransaksjonene før du avgjør om du skal bestille et gjenstående antall.

Et tidsavbrudd, en brutt forespørsel, et feilformatert svar eller en feil etter innsending er ikke bevis på at ingenting skjedde. Ikke send inn et nytt kjøp automatisk, selv med samme referanse. Ta vare på den opprinnelige forespørselen, referansen og eventuell returnert bestillings-ID, kontroller nummerbeholdningen og kontotransaksjonene, og kontakt kundestøtte hvis utfallet fortsatt er usikkert.

En ubekreftet bestilling kan returnere applikasjonskode 400 med en melding om at den fortsatt er under bekreftelse. Ta vare på den returnerte bestillings-ID-en og avstem kjøpet; dette er ikke en instruksjon om å sende det inn på nytt. Gjenopprettingen av registrerte bestillinger følger den opprinnelige bestillingen internt. En ny forespørsel til denne operasjonen oppretter et separat kjøpsforsøk i stedet for å gjenoppta en bestilling ut fra referansen din, og kan derfor kjøpe og belaste for flere numre. Ikke bruk gjentatte kjøpsforespørsler til å kontrollere status eller søke i nummerbeholdningen.

Registrering og aktivering

Et kjøpt eller tildelt nummer kan fortsatt kreve registrering eller aktivering. Hvis needs_registration er 1, kontrollerer du restrictions og registration_requirements. Sistnevnte kan angi v3/get_requirements med verdier for country og number_type. Fullfør den aktuelle prosessen for identitets-/adressekontroll, og bekreft nummerets status før du baserer deg på innkommende samtaler eller meldinger.

features beskriver oppgitte funksjoner; det bekrefter ikke at ruting fungerer i drift, at kampanjer er godkjent, at SMS leveres eller at faks mottas. Kontroller de lagrede leveringsinnstillingene, og utfør den aktuelle tjenestetesten når nummeret er aktivt.

Tilbakekall for bestillinger

Tilbakekall sender JSON med POST, med bestillingens status og svar samt referansen din hvis den er oppgitt. De sendes for rapporterte kjøp, inkludert delvise resultater. Et mislykket tilbakekall reverserer ikke kjøpet. Levering kan forsøkes på nytt, så håndter duplikater etter bestillings-ID og avstem numrene i stedet for å sende inn et nytt kjøp.

Denne ruten legger ikke til en kryptografisk signatur i tilbakekallet. Behandle et tilbakekall som et varsel som skal avstemmes mot nummerbeholdningen du har tilgang til gjennom autentisering, ikke som en selvstendig tillatelse til å belaste, klargjøre tjenester eller gi tilgang. Ikke legg API-påloggingsopplysninger i URL-en for tilbakekall. Hvis du sender inn et nytt kjøp med en annen URL for tilbakekall, oppdateres ikke den opprinnelige bestillingen; det opprettes et separat kjøpsforsøk. Ta vare på den opprinnelige bestillings-ID-en når du ber kundestøtte undersøke tilbakekallet.

Feil som må håndteres

Applikasjonsutfall
UtfallHva du bør gjøre
400 og en melding om ugyldig prefiksLes prefikskatalogen på nytt, og bruk den gjeldende identifikatoren derfra. Skill dette fra en melding om at en opprinnelig bestilling fortsatt er under bekreftelse.
403 eller en feil knyttet til kontoregler eller saldoGå gjennom kjøpstillatelsen, kontoens prisgrenser, antallsgrenser og finansiering. Andre applikasjonskoder kan videresendes fra disse kontrollene; ta vare på den faktiske meldingen.
404 eller ingen tilgjengelige numreOppdater tilgjengeligheten. Ikke gjør gjentatte kjøpsforsøk mot et prefiks uten flere tilgjengelige numre.
409 og en melding om kjøpsbekreftelse, avvisning fra leverandøren eller kansellert bestillingTa vare på den returnerte bestillings-ID-en og den faktiske meldingen. Avstem forespørselen mot nummerbeholdningen og kontotransaksjonene, og avklar med kundestøtte før du sender inn et nytt kjøp. Gjenbruk av samme referanse gjør ikke en ny forespørsel trygg.
200 med advarsler eller færre numreNoen numre ble kjøpt. Avstem den returnerte tildelingen og transaksjonene før du bestiller flere.
Server-/transportfeil eller uleselig svarBehandle resultatet som potensielt usikkert til nummerbeholdningen og transaksjonene fastslår hva som skjedde.