Tilaa etuliitteen perusteella
Käytä tätä toimintoa, kun etuliiteluettelo ohjaa tilaamaan tietyn määrän numeroita etuliitteen perusteella yksittäisten saatavilla olevien numeroiden valitsemisen sijaan. Aloita tarkastelemalla maita, alueita tai osavaltioita sekä etuliitteitä. Säilytä etuliitteen tunniste ja hinnoittelupaketti samasta tuoreesta tuloksesta. Jos haluat ostaa tietyn numeron saatavilla olevien numeroiden luettelosta, käytä toimintoa Osta valittu puhelinnumero.
Tämä pyyntö voi ostaa numeroita ja aiheuttaa maksuja. Se ei ole hintatarjous, varaus eikä koeajo. Tarkista avaus- ja kuukausimaksut, saapuvien puhelujen minuuttihinnat, hintaan sisältyvät minuutit, kanavat, rekisteröintivaatimukset ja tilin ostorajat ennen lähettämistä. Luettelon tulos ei varaa numeroita eikä lukitse hintoja. Tilin rahoitusta koskevia tarkistuksia voidaan tehdä ennen tilauksen täyttämistä; virhe ei yksinään todista, ettei ostoa tai tilin rahoittamista tapahtunut.
Lähetä ostopyyntö
Käytä käytössä olevaa API-tiliä HTTPS-yhteydellä sallitusta lähde-IP-osoitteesta. Aseta muuttujat luettelosta tekemäsi nykyisen valinnan ja hyväksyttyjen välitysasetustesi perusteella. Seuraava komento ostaa yhden numeron.
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"Yllä on esitetty lomakemuotoinen POST-pyyntö. Koordinaattori lukee myös JSON-olion, kun Content-Type on application/json. JSON-kentät ohittavat vastaavat lomake- tai pyyntökentät. Käytä johdonmukaisesti yhtä koodaustapaa; älä lähetä ristiriitaisia arvoja kyselyparametreissa ja pyynnön rungossa.
| Parametri | Merkitys |
|---|---|
| etuliitteen tunniste polussa | Luettelon palauttama etuliitteen UUID. Maan, alueen, hinnan tai yksittäisen numeron tunniste ei korvaa sitä. |
| quantity | Lähetä kokonaisluku väliltä 1–100. Oletusarvo on 1. Alle 1 olevat arvot muunnetaan arvoon 1; tämä ei ole pelkkä validointipyyntö. Yli 100 olevat arvot aiheuttavat poikkeuksen ennen tämän koordinaattorin normaalia vastauksen käsittelyä, joten älä luota sen tavanomaiseen JSON-rakenteeseen tällaisen virheellisen syötteen yhteydessä. |
| price_id | Valitun hinnoittelupaketin julkinen hintatunniste. priceid on vanha vaihtoehtoinen nimi. Jos tunniste ei täsmää, valinta voi siirtyä toiseen pakettiin ilman ilmoitusta; tämä kenttä ei lukitse hintaa ehdottomasti. Varmista tilin hintakatot ennen ostoa ja tarkista palautettu hinta sen jälkeen. |
| channels | Valitun hinnoittelupaketin kanavamäärä. Kun täsmällistä hintavastaavuutta ei käytetä, vastaava kanavamäärä voi vaikuttaa varavaihtoehdon valintaan. Se ei yksin takaa tietyn paketin ostamista. |
| reference | Ostolle tai erälle antamasi tunniste. Käytä lyhyttä ASCII-arvoa, enintään 255 tavua; pidemmät arvot katkaistaan. Annettu viite säilytetään onnistuneiden ostojen yhteydessä ja sisällytetään takaisinkutsuihin. Eri tilauksilla voi olla sama viite. Se ei ole idempotenssiavain: tämän toiminnon lähettäminen uudelleen voi ostaa lisää numeroita ja veloittaa niistä, vaikka viite ja kaikki kentät olisivat samat. |
| webhook_url | Valinnainen takaisinkutsun URL-osoite. Käytä hallinnassasi olevaa HTTPS-päätepistettä. HTTP- ja HTTPS-osoitteet läpäisevät nykyisen perustarkistuksen; virheellinen URL-osoite jätetään huomiotta sen sijaan, että osto hylättäisiin. Takaisinkutsu on lisäilmoitus, ei todiste siitä, että pyynnön voi toistaa turvallisesti. |
Välitys- ja uusimisasetukset
Valitse samat välitysasetukset, joita käyttäisit numerolle portaalissa. Nämä ovat lisäasetusten arvoja, eivät ohjeita isännöidyn puhelinvaihteen tai saapuvien puhelujen runkoyhteyden luomiseen. Käytä tilin ennestään toimivaksi todettua kokoonpanoa ja tarkista tallennettu numero oston jälkeen. Hyväksytty osto ei yksin varmista puhelujen tai tekstiviestien välityksen toimivuutta.
| Kenttä | Käyttö ja yhteensopivuus |
|---|---|
| uri, uri2, uri3 | Puhelujen ensisijainen kohde ja lisäkohteet. Anna valittuihin siirto- ja soittotiloihin sopivat kohteet. |
| forward_destination | Puhelujen siirtotila. forwarding_destination ja type ovat vanhoja vaihtoehtoisia nimiä. Jos kenttä puuttuu, käytetään ostoprosessin kyseisen käsittelypolun oletusta; tyhjä kenttä ei ole luotettava tapa poistaa olemassa olevaa asetusta. |
| ring_type | Puhelujen soittotila; ringtype on vaihtoehtoinen nimi. Käytä tilisi numeroasetuksissa tuettua arvoa. |
| sms_forward_destination, sms_uri | Tekstiviestien välitystapa ja kohde. Vanhat vaihtoehtoiset nimet ovat smsringtype ja smsuri. Jotkin ostoprosessin käsittelypolut käyttävät tilin tekstiviestien oletuskohdetta, kun tämä on tyhjä. Tekstiviestien saatavuus riippuu valitusta numerosta ja sen aktivoinnista tai rekisteröinnistä. |
| overflow | Pyydetty ylivuotoasetus. Hinnoittelupaketin saatavuus ja ostoprosessin käsittelypolku vaikuttavat siihen, tuetaanko asetusta. |
| force_codec, force_dtmf | Pyydetyt koodekki- ja DTMF-asetukset. Vanhat vaihtoehtoiset nimet ovat forcecodec ja forcedtmf. Tarkista valitulle numerovalikoimalle tallennettu kokoonpano. |
| origination_trunk_id | Olemassa olevan runkoyhteyskokoonpanon tunniste, kun se on sovellettavissa. Tämä ei luo runkoyhteyttä. Jos kenttä puuttuu, käytetään ostoprosessin oletusta. |
| autorenew | Pyydetty uusimisasetus. Älä oleta, että 0 poistaa uusimisen käytöstä: jotkin ostoprosessin käsittelypolut tulkitsevat tyhjää vastaavan arvon, myös arvon 0, oletusasetukseksi, jossa uusiminen on käytössä. Tarkista ostetun numeron uusimisasetus portaalissa ja muuta sitä tarvittaessa. |
Nämä kentät normalisoidaan ja välitetään ostoprosessille, mutta niiden tallentuminen vaihtelee numerovalikoiman käsittelypolun mukaan. Nykyinen tilausreitti ei tarjoa valitun numeron osto-oppaassa kuvattuja ehdottoman tarjoushintakaton kenttiä vastaaviksi suojauksiksi. Käytä tilin osto-oikeuksia ja hintarajoja sekä tarkista tuloksena syntyvät numeroasetukset.
Lue koko tulos
Jäsennä JSON-runko ja tarkista status.code ja status.msg myös silloin, kun HTTP-pyyntö onnistuu. Tämä reitti kirjoittaa oman JSON-vastauksensa, eikä yhteinen vastauksen apufunktiokaan välttämättä muunna sovelluskoodia vastaavaksi HTTP-tilakoodiksi. Sovelluskoodit voivat olla JSON-lukuja tai numeerisia merkkijonoja. Älä edellytä kenttää status.results; sitä ei ole normaalissa tilaustuloksessa.
{
"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
}
}Yllä olevat tunniste, numero ja hinnat ovat kuvitteellisia. Käsittele tilaustunnistetta tulkitsematta sen sisäistä rakennetta. numbers luettelee numerot, jotka tämä vastaus ilmoittaa ostetuiksi; vertaa luettelon pituutta pyytämääsi määrään. Hintasummat ovat merkkijonoja, ja tämä vastaus pyöristää rahamääräiset hinnat kahteen desimaaliin, myös kentän per_minute; katso alkuperäinen hintatarkkuus tuoreesta luettelosta. Hintaan sisältyvät minuutit ja kanavat voivat tulla lukuarvoina tai numeerisina merkkijonoina.
Hintaosio kuvaa vastauksen muodostamiseen käytettyä valittua hinnoittelupakettia, ei kunkin numeron yksityiskohtaista laskua eikä tilauksen kokonaissummaa. Saatavilla olevilla numerovaihtoehdoilla voi olla eri hinnoittelupaketit. Täsmäytä yksittäiset ostetut numerot ja tilitapahtumat sen sijaan, että kertoisit tämän osion hinnat määrällä ja olettaisit tuloksen todistavan lopullisen kokonaissumman.
Osittaiset ostot ja epävarmat lopputulokset
Sovelluskoodin 200 yhteydessä voi olla varoitus ja pyydettyä vähemmän numeroita. Myöhempi virhe ei peru jo ostettuja numeroita. Säilytä palautetut tilaustunniste, numerot ja viesti. Täsmäytä nämä numerot numeroluetteloosi ja tilitapahtumiisi ennen kuin päätät, tilaatko puuttuvan määrän.
Aikakatkaisu, pyynnön yhteyden katkeaminen, virheellisesti muodostettu vastaus tai lähettämisen jälkeinen virhe ei todista, ettei mitään tapahtunut. Älä lähetä uutta ostopyyntöä automaattisesti edes samalla viitteellä. Säilytä alkuperäinen pyyntö, viite ja mahdollinen palautettu tilaustunniste, tarkista numeroluettelo ja tilitapahtumat sekä ota yhteyttä tukeen, jos lopputulos jää epävarmaksi.
Vahvistamaton tilaus voi palauttaa sovelluskoodin 400 ja viestin, jonka mukaan sen vahvistaminen on vielä kesken. Säilytä sen palautettu tilaustunniste ja täsmäytä kyseinen osto; tämä ei ole kehotus lähettää sitä uudelleen. Tallennetun tilauksen palautusmenettely seuraa alkuperäistä tilausta sisäisesti. Uusi pyyntö tähän toimintoon luo erillisen ostoyrityksen sen sijaan, että se jatkaisi tilausta viitteesi perusteella, joten se voi ostaa lisää numeroita ja veloittaa niistä. Älä käytä toistuvia ostopyyntöjä tilan tarkistamiseen tai numeroiden hakemiseen.
Rekisteröinti ja aktivointi
Ostettu tai käyttöösi varattu numero voi edelleen vaatia rekisteröinnin tai aktivoinnin. Jos needs_registration on 1, tarkista restrictions ja registration_requirements. Jälkimmäinen voi osoittaa toimintoon v3/get_requirements arvoilla country ja number_type. Suorita sovellettava henkilöllisyyden tai osoitteen varmistusprosessi ja varmista numeron tila ennen kuin luotat saapuvien puhelujen tai viestien toimivuuteen.
features kuvaa ilmoitettuja ominaisuuksia; se ei varmista käytössä olevan reitityksen toimivuutta, kampanjan hyväksyntää, tekstiviestien välitystä eikä faksien vastaanottoa. Tarkista tallennetut välitysasetukset ja tee asianmukainen palvelutesti, kun numero on aktiivinen.
Tilausten takaisinkutsut
Takaisinkutsut lähettävät POST-menetelmällä JSON-tietoa, joka sisältää tilauksen tilan ja vastauksen sekä viitteesi, jos se on annettu. Niitä lähetetään ilmoitetuista ostoista, myös osittaisista tuloksista. Epäonnistunut takaisinkutsu ei peru ostoa. Toimitusta voidaan yrittää uudelleen, joten käsittele kaksoiskappaleet tilaustunnisteen perusteella ja täsmäytä numerot uuden ostopyynnön lähettämisen sijaan.
Tämä reitti ei lisää takaisinkutsuun kryptografista allekirjoitusta. Käsittele takaisinkutsua ilmoituksena, joka täsmäytetään todennetun yhteyden kautta haettuun numeroluetteloosi, älä itsenäisenä valtuutuksena veloittaa, ottaa palveluja käyttöön tai myöntää käyttöoikeuksia. Älä sisällytä API-tunnuksia takaisinkutsun URL-osoitteeseen. Uuden ostopyynnön lähettäminen eri takaisinkutsuosoitteella ei päivitä alkuperäistä tilausta; se luo erillisen ostoyrityksen. Säilytä alkuperäinen tilaustunniste, kun pyydät tukea tutkimaan sen takaisinkutsua.
Käsiteltävät virhetilanteet
| Tulos | Toimintaohje |
|---|---|
| 400 ja virheellistä etuliitettä koskeva viesti | Lue etuliiteluettelo uudelleen ja käytä sen nykyistä tunnistetta. Erota tämä viestistä, jonka mukaan alkuperäisen tilauksen vahvistaminen on vielä kesken. |
| 403 tai tilin käytäntöön tai saldoon liittyvä virhe | Tarkista osto-oikeus, tilin hintakatot, määrärajoitukset ja rahoitus. Näistä tarkistuksista voidaan välittää myös muita sovelluskoodeja; säilytä varsinainen viesti. |
| 404 tai ei saatavilla olevia numeroita | Päivitä saatavuustiedot. Älä lähetä toistuvia ostopyyntöjä etuliitteelle, jonka numerot ovat loppuneet. |
| 409 ja oston vahvistamista, palveluntarjoajan hylkäystä tai peruttua tilausta koskeva viesti | Säilytä palautettu tilaustunniste ja varsinainen viesti. Täsmäytä pyyntö numeroluetteloon ja tilitapahtumiin sekä selvitä tilanne tuen kanssa ennen uuden ostopyynnön lähettämistä. Saman viitteen käyttäminen uudelleen ei tee uudesta pyynnöstä turvallista. |
| 200 ja varoituksia tai vähemmän numeroita | Osa numeroista on ostettu. Täsmäytä palautetut käyttöösi varatut numerot ja tilitapahtumat ennen lisätilausta. |
| Palvelin- tai tiedonsiirtovirhe tai lukukelvoton vastaus | Pidä lopputulosta mahdollisesti epävarmana, kunnes numeroluettelo ja tilitapahtumat osoittavat, mitä tapahtui. |