Udviklere

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

Køb et valgt telefonnummer

Indsend ét godkendt nummer og den tilhørende pris med pristilbudskontroller, og afstem derefter ejerskab og aktivering, før du prøver igen.

På denne side
  1. Vælg nummer og pris sammen
  2. Send en købsanmodning med sikkerhedskontroller via POST
  3. Registrering og aktivering
  4. Undgå, at abonnementet udskiftes uden varsel
  5. Avanceret: kontoens standardindstillinger for routing
  6. Svar
  7. Fejl og usikre resultater
  8. Afstem, før du prøver igen

Vælg nummer og pris sammen

Køb ét bestemt nummer, der er valgt fra en ny søgning efter ledige numre. Brug den valgte posts info.uuid som nummer-id og en af den samme posts price[].uuid-værdier som pris-id. Ruten accepterer også det fulde gemte nummer, men et lande-, område- eller præfiks-id kan ikke erstatte valget af et nummer.

Søgning eller læsning af gemte prisoplysninger reserverer ikke et nummer og fastlåser ikke prisen. Bekræft den valgte oprettelsespris, månedspris, takst pr. indgående minut, inkluderede minutter og kanaler samt kontoens købsrettigheder og registreringskrav. Det indledende grundbeløb i den gennemgåede hjælpefunktion er oprettelsesprisen plus månedsprisen; alle udbyderspecifikke gebyrer og vilkår skal bekræftes for det valgte abonnement.

Send en købsanmodning med sikkerhedskontroller via POST

Brug en aktiveret API-konto via HTTPS fra en tilladt kilde-IP-adresse. Følgende kommando foretager et køb, ikke en prisforespørgsel eller en prøvekørsel. Indstil alle variabler ud fra det samme nye valg af nummer og pris. Felterne for øvre grænser bevarer det ældre præfiks restore_quote_; den nuværende portal bruger dem også til køb af bestemte numre med sikkerhedskontroller.

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"

Brug formularindsendelse via POST som vist. Hjælpefunktionen kan også fortolke JSON og indstillinger i en omsluttende struktur, men denne gennemgang har ikke fastslået fuld overensstemmelse for alle forløb for pristilbud og udbydere. Brug ikke GET til køb, selvom denne ældre koordinator ikke har en eksplicit kontrol af anmodningsmetoden.

Købssti og pristilbudsfelter
FeltBetydning
NUMBER_IDUUID for det valgte nummer fra søgningen eller det fulde gemte nummer. Ét nummer pr. anmodning.
PRICE_IDUUID for den pris, der er knyttet til det valgte nummer og din konto. Angiv det altid eksplicit.
restore_quote_price_idSkal svare til det pris-id, der findes ved opslaget. Når feltet angives, aktiveres pristilbudskontrollerne; det er ikke en idempotensnøgle.
restore_quote_setupDen højeste accepterede oprettelsespris som en endelig, ikke-negativ numerisk værdi.
restore_quote_monthlyDen højeste accepterede månedspris som en endelig, ikke-negativ numerisk værdi.
restore_quote_per_minuteDen højeste accepterede takst pr. indgående minut som en endelig, ikke-negativ numerisk værdi.
restore_quote_channelsDet præcise heltallige antal kanaler for den valgte prisindstilling, ikke en anmodning om et abonnement med et andet antal kanaler.

Angiv alle numeriske pristilbudsfelter, hver gang du angiver pristilbuddets pris-id. Et ændret id, en pris over en øvre grænse, en manglende eller ugyldig grænse, et ændret antal kanaler eller en optaget pristilbudslås returnerer API-kode 409, før anmodningen sendes til den valgte udlejningsudbyder. Sammenligninger tillader en lille flydende-komma-tolerance; brug abonnementets faktisk viste værdier frem for en manuelt afrundet pris.

Sikkerhedskontrollerne gør ikke hele arbejdsgangen til en prøvekørsel eller en transaktion. Registreringsopslag, oprettelse af identiteter eller andet arbejde i hjælpefunktionen kan forekomme før disse kontroller. De fastlåser heller ikke den eksterne nummerbeholdning og erstatter ikke kontoens købsbegrænsninger.

Registrering og aktivering

Tilføj om nødvendigt formularfeltet RegistrationID med UUID'et for kundens egen registreringsprofil. Det er ikke id'et for et uploadet dokumentationsbilag, en leverandøradresse eller en separat identitetsentitet. Hjælpefunktionen slår profilen op under den autentificerede konto og afviser manglende eller utilgængelige profiler.

For nogle understøttede numre er køb tilladt, før registreringen er fuldført; for andre kræves en profil før købet. Operatørspecifik validering eller klargøring kan stadig være nødvendig. Fortolk ikke et vellykket køb eller en udeladt forhåndskontrol som en fritagelse fra registrering eller som øjeblikkelig aktivering.

Hvis feltet findes, angiver svarets registration_requirements det strukturerede kravopslag med land og nummertype. Brug registreringskataloget og arbejdsgangen for dokumentation til at opfylde de gældende krav. Returneret tekst og metadata udgør ikke i sig selv en godkendelse af en profil.

Undgå, at abonnementet udskiftes uden varsel

Den ældre koordinator kan udlede en udeladt pris fra cachelagrede nummerdata. Den kan også falde tilbage på kontoens nyeste pris for et cachelagret præfiks, når et eksplicit angivet pris-id ikke længere findes, og opdatere det cachelagrede valg af tilladt pris. Stol ikke på disse reservemekanismer til at vælge det abonnement, en kunde har godkendt.

Angiv den valgte pris eksplicit sammen med de tilhørende felter til pristilbudskontrol. Kontrollen af pristilbuddets id afviser et tilbagefald til et andet id, før lejeanmodningen sendes videre. Opdater søgningen, og få et nyt valg godkendt efter en konflikt med en forældet pris, frem for at fjerne kontrollerne for at gennemtvinge købet.

Der er ingen garanteret reservationsperiode eller cachelevetid, der håndhæves ens i alle forløb. Nummerets tilgængelighed, kontoens prisgrænser og købsregler kontrolleres igen i arbejdsgangen, men den fulde udbyderspecifikke adfærd er stadig under gennemgang.

Avanceret: kontoens standardindstillinger for routing

Et køb kan overtage kontoens eksisterende destinationer for taleopkald, reservedestinationer ved fejl, SMS-destination og foretrukne trunk til indgående opkald. Gennemgå disse standardindstillinger før bestilling; udeladelse af routingindstillinger er ingen garanti for et ukonfigureret nummer. Den gennemgåede hjælpefunktion aktiverer automatisk fornyelse som standard.

Genkendte routingindstillinger i den fælles hjælpefunktion
IndstillingSådan fastlægges værdien
uri, uri2, uri3Udeladte værdier overtager de tilsvarende standardværdier fra kontoen. Eksplicit tomme værdier rydder hjælpefunktionens værdi i stedet for at overtage standardværdien. Brug gyldige destinationer, der passer til den valgte routingtilstand.
smsuriEn udeladt værdi overtager kontoens SMS-destination; en eksplicit tom værdi rydder den i hjælpefunktionen.
origintrunkEt eksplicit angivet trunk-id, som genkendes, har forrang. En værdi, der ikke kan findes ved opslag, kan falde tilbage på kontoens foretrukne værdi eller den ældre standardværdi i stedet for at udløse en fejl.
forward_destination, forwarding_destination, typeIkke-tomme aliaser for routingtilstand, i den angivne prioritetsrækkefølge. Brug understøttede værdier fra kontoens routingkonfiguration, ikke en gættet numerisk tilstand.
RegistrationIDOpslag af registreringsprofil, afgrænset til kunden; dette er adskilt fra routingdestinationer.
autorenewStandardværdien er 1. Hjælpefunktionen kontrollerer, om værdien er ikke-tom, så 0 deaktiverer ikke pålideligt fornyelse via dette købsfelt. Brug kontoens understøttede administration af fornyelse, og kontrollér den gemte indstilling.

Dette beskriver den fælles hjælpefunktions virkemåde og er ikke en garanti for, at alle leverandører gemmer alle valgfrie indstillinger på samme måde. Der findes andre ældre felter for tale, telefonsvarer, fax og SMS, men de kræver stadig en fuldstændig udbyderspecifik gennemgang. Kontrollér det købte nummers gemte konfiguration via kontoens arbejdsgang, før du forlader dig på opkald eller beskeder.

Svar

Fiktivt eksempel på et ukompliceret køb; værdier og funktioner varierer med det valgte abonnement.

{
  "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 bruger sine egne status.code/status.msg og svarstrukturen response uden garanti for et status.results-felt. Ved en fejl er svarlisten normalt tom. Ved succes skal du kontrollere det returnerede nummer og den returnerede pris og derefter afstemme kontoens nummerbeholdning og registreringsstatus. Udbyderens accept er ikke en test af tale, SMS eller fax i drift.

Fejl og usikre resultater

Koordinatorens vigtigste resultatkoder
API-kodeBetydning
403Kontoens pris- eller købsbegrænsninger, et utilgængeligt prisvalg eller en registreringsprofil, der ikke kan tilgås, kan blokere behandlingen.
404Manglende eller utilgængeligt valg af nummer, pris eller præfiks.
409Nummeret er allerede aktivt, en pristilbudskontrol stemmer ikke længere overens, eller en anden operation med sikkerhedskontrol holder låsen.
422Registreringsoplysninger er påkrævede, ufuldstændige eller kan ikke oprettes i de gennemgåede registreringsforløb.
500 og andre udbyder- eller kontokoderFejl hos udbyderen, i lokal behandling eller som følge af regler. Disse er ikke i alle tilfælde bevis for, at der ikke er foretaget et køb eller en opkrævning.

Læs selve API-svarets indhold såvel som HTTP-status. En ekstern udbyder kan acceptere en leje, før lokal underretning, registrering eller anden behandling fejler. Nogle tildelinger fra den lokale nummerbeholdning bruger databasetransaktioner, men der findes ingen generel tilbagerulning af ordrer hos eksterne udbydere. Denne koordinator har ingen idempotensnøgle til klienten.

Afstem, før du prøver igen

  1. Gem det godkendte nummer, prisen og pristilbuddets øvre grænser i din applikations ordrepost, før du indsender anmodningen én gang.
  2. Læs beholdningen af købte numre og nummerdetaljerne for den samme konto efter anmodningen, også efter en timeout eller fejl.
  3. Hvis nummeret findes, skal du kontrollere dets pris, fornyelse, routing og registreringsstatus i stedet for at sende endnu en købsanmodning.
  4. Hvis resultatet stadig er usikkert, skal du få support til at afstemme ordren hos udbyderen og kontoens fakturering, før du prøver igen. En fejlmeddelelse eller en succesmarkering i en ældre log er ikke i sig selv tilstrækkelig dokumentation.
  5. Når ejerskab og aktivering er bekræftet, skal du gennemføre kontoens normale routingkontroller og tjenestetests.