Objednání podle předvolby
Tuto operaci použijte, když vás katalog předvoleb vede k objednání určitého počtu čísel podle předvolby namísto výběru jednotlivých dostupných čísel. Začněte výběrem zemí, oblastí nebo států a předvoleb. Uchovejte identifikátor předvolby a cenový tarif ze stejného čerstvého výsledku. Pro konkrétní číslo vybrané ze seznamu dostupných čísel použijte Nákup vybraného telefonního čísla.
Tento požadavek může nakoupit čísla a vést k účtování poplatků. Nejde o cenovou nabídku, rezervaci ani zkušební provedení. Před odesláním zkontrolujte zřizovací a měsíční poplatky, sazby za minuty příchozích hovorů, zahrnuté minuty, kanály, registrační požadavky a nákupní limity účtu. Výsledek katalogu nerezervuje dostupná čísla ani nezaručuje neměnnost cen. Kontroly financování účtu mohou proběhnout před vyřízením; samotná chyba nedokazuje, že nedošlo k nákupu ani k doplnění prostředků na účet.
Odeslání nákupu
Použijte povolený účet API přes HTTPS z povolené zdrojové IP adresy. Nastavte proměnné podle aktuálního výběru z katalogu a schválené konfigurace doručování. Následující příkaz zakoupí jedno číslo.
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"Výše je uveden formulářový požadavek POST. Koordinátor také načítá objekt JSON, pokud má hlavička Content-Type hodnotu application/json. Pole JSON přepisují odpovídající pole formuláře či požadavku. Používejte důsledně jeden způsob kódování; neposílejte vzájemně rozporné hodnoty v parametrech dotazu a v těle požadavku.
| Parametr | Význam |
|---|---|
| identifikátor předvolby v cestě | UUID předvolby vrácené katalogem. Nelze jej nahradit identifikátorem země, oblasti, ceny ani jednotlivého čísla. |
| quantity | Odešlete celé číslo od 1 do 100. Výchozí hodnota je 1. Hodnoty menší než 1 se převedou na 1; nejde o požadavek sloužící pouze k validaci. Hodnoty větší než 100 vyvolají výjimku ještě před běžným zpracováním odpovědi tímto koordinátorem, proto u takového neplatného vstupu nespoléhejte na obvyklou strukturu JSON. |
| price_id | Veřejný identifikátor ceny vybraného tarifu. priceid je starší alias. Při neshodujícím se identifikátoru může bez upozornění dojít k náhradnímu výběru jiného tarifu; toto pole nezajišťuje pevné uzamčení ceny. Před nákupem ověřte cenové stropy účtu a poté zkontrolujte vrácenou cenu. |
| channels | Počet kanálů z vybraného tarifu. Pokud se nepoužije přesná shoda ceny, může shodný počet kanálů ovlivnit náhradní výběr. Sám o sobě nezaručuje, že bude zakoupen konkrétní tarif. |
| reference | Vaše označení nákupu nebo dávky. Použijte krátkou hodnotu ASCII, nejvýše 255 bajtů; delší hodnoty se zkrátí. Je-li uvedena, uchovává se u úspěšných nákupů a zahrnuje se do zpětných oznámení. Samostatné objednávky mohou mít stejnou referenci. Nejde o klíč idempotence: opětovné odeslání této operace může nakoupit a zpoplatnit další čísla, a to i se stejnou referencí a totožnými poli. |
| webhook_url | Volitelná URL pro zpětná oznámení. Použijte koncový bod HTTPS, který máte pod kontrolou. Adresy URL s HTTP i HTTPS projdou současnou základní validací; neplatná URL se ignoruje, místo aby vedla k odmítnutí nákupu. Zpětné oznámení je doplňkové upozornění, nikoli důkaz, že lze požadavek bezpečně opakovat. |
Nastavení doručování a obnovování
Zvolte stejná nastavení doručování, jaká byste pro číslo použili v portálu. Jde o pokročilé konfigurační hodnoty, nikoli o pokyny k vytvoření hostované pobočkové ústředny nebo trunku pro příchozí hovory. Použijte osvědčenou funkční konfiguraci účtu a po nákupu ověřte uložené číslo. Samotné přijetí nákupu nepotvrzuje funkčnost doručování hovorů ani SMS.
| Pole | Použití a kompatibilita |
|---|---|
| uri, uri2, uri3 | Primární a další cíle pro hovory. Uveďte cíle odpovídající zvoleným režimům přesměrování a vyzvánění. |
| forward_destination | Režim přesměrování hovorů. forwarding_destination a type jsou starší aliasy. Při vynechání se použije výchozí hodnota příslušné větve procesu nákupu; prázdné pole není spolehlivým způsobem, jak zrušit stávající předvolbu nastavení. |
| ring_type | Režim vyzvánění hovorů; ringtype je alias. Použijte podporovanou hodnotu z konfigurace čísel svého účtu. |
| sms_forward_destination, sms_uri | Režim a cíl doručování SMS. Starší aliasy jsou smsringtype a smsuri. Některé větve procesu nákupu při prázdné hodnotě použijí výchozí cíl SMS nastavený u účtu. Dostupnost SMS závisí na vybraném čísle a jeho aktivaci či registraci. |
| overflow | Požadované nastavení přetečení hovorů. To, zda je podporováno, závisí na dostupnosti tarifu a na větvi procesu nákupu. |
| force_codec, force_dtmf | Požadovaná nastavení kodeku a DTMF. Starší aliasy jsou forcecodec a forcedtmf. Ověřte uloženou konfiguraci pro vybranou nabídku čísel. |
| origination_trunk_id | Identifikátor existující konfigurace trunku, pokud je použitelný. Tímto se trunk nevytváří. Při vynechání se použije výchozí hodnota procesu nákupu. |
| autorenew | Požadované nastavení obnovování. Nepředpokládejte, že 0 obnovování vypne: některé větve procesu nákupu považují hodnotu vyhodnocenou jako prázdnou, včetně 0, za výchozí zapnuté nastavení. V portálu zkontrolujte obnovování zakoupeného čísla a podle potřeby je změňte. |
Tato pole se normalizují a předávají do procesu nákupu, jejich ukládání se však liší podle větve zpracování nabídky čísel. Aktuální cesta objednávání neposkytuje pole pro striktní cenové stropy nabídky popsaná v průvodci nákupem vybraného čísla jako rovnocenné ochranné mechanismy. Využijte nákupní oprávnění a cenové limity účtu a zkontrolujte výslednou konfiguraci čísla.
Přečtení celého výsledku
Zpracujte tělo JSON a zkontrolujte status.code a status.msg, i když požadavek HTTP uspěje. Tato cesta vytváří vlastní odpověď JSON a ani sdílená pomocná funkce pro odpovědi nemusí převádět aplikační kód na stav HTTP. Aplikační kódy mohou být čísla JSON nebo číselné řetězce. Nevyžadujte status.results; v běžném výsledku objednávky není přítomno.
{
"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
}
}Výše uvedený identifikátor, číslo a ceny jsou smyšlené. Identifikátor objednávky považujte za neprůhlednou hodnotu, jejíž vnitřní strukturu nevykládáte. numbers uvádí čísla, která tato odpověď hlásí jako zakoupená; porovnejte délku seznamu s požadovaným počtem. Cenové částky jsou řetězce a tato odpověď zaokrouhluje peněžní sazby na dvě desetinná místa, včetně per_minute; původní přesnost sazby zjistíte z čerstvého katalogu. Zahrnuté minuty a kanály mohou přijít jako číselné hodnoty nebo číselné řetězce.
Blok ceny popisuje vybraný tarif použitý k sestavení odpovědi, nikoli podrobnou fakturu za každé číslo nebo celkovou částku objednávky. Různí kandidáti z nabídky čísel mohou mít různé tarify. Ověřte jednotlivá zakoupená čísla a transakce na účtu, místo abyste částky z tohoto bloku násobili a předpokládali, že tím prokážete konečnou celkovou částku.
Částečné nákupy a nejisté výsledky
Aplikační kód 200 může doprovázet varování a menší počet čísel, než byl požadován. Pozdější selhání nezruší nákup již zakoupených čísel. Uchovejte vrácený identifikátor objednávky, čísla a zprávu. Než se rozhodnete, zda objednáte zbývající počet, ověřte tato čísla ve svém seznamu čísel a v transakcích na účtu.
Vypršení časového limitu, přerušení spojení při požadavku, chybně formátovaná odpověď ani chyba po odeslání nejsou důkazem, že se nic nestalo. Neodesílejte automaticky další nákup, ani se stejnou referencí. Uchovejte původní požadavek, referenci a případný vrácený identifikátor objednávky, zkontrolujte seznam čísel a transakce na účtu a při přetrvávající nejistotě kontaktujte podporu.
Nepotvrzená objednávka může vrátit aplikační kód 400 se zprávou, že její potvrzování stále probíhá. Uchovejte její vrácený identifikátor objednávky a ověřte tento nákup; nejde o pokyn k jeho opětovnému odeslání. Obnovení zpracování zaznamenané objednávky interně sleduje původní objednávku. Nový požadavek na tuto operaci vytvoří samostatný pokus o nákup, místo aby podle vaší reference navázal na objednávku, takže může nakoupit a zpoplatnit další čísla. Opakované nákupní požadavky nepoužívejte ke kontrole stavu ani k vyhledávání v nabídce čísel.
Registrace a aktivace
Zakoupené nebo přidělené číslo může stále vyžadovat registraci či aktivaci. Pokud má needs_registration hodnotu 1, zkontrolujte restrictions a registration_requirements. Posledně uvedené pole může odkazovat na v3/get_requirements s hodnotami country a number_type. Dokončete příslušný postup ověření totožnosti či adresy a ověřte stav čísla, než se začnete spoléhat na příchozí hovory nebo zprávy.
features popisuje deklarované možnosti; nepotvrzuje skutečné směrování, schválení kampaně, doručování SMS ani příjem faxů. Zkontrolujte uložená nastavení doručování a po aktivaci čísla proveďte odpovídající test služby.
Zpětná oznámení objednávky
Zpětná oznámení odesílají metodou POST JSON obsahující stav objednávky a odpověď, doplněný o vaši referenci, pokud byla uvedena. Odesílají se pro hlášené nákupy včetně částečných výsledků. Neúspěšné zpětné oznámení nákup nezruší. Doručení se může opakovat, proto zpracovávejte duplicity podle identifikátoru objednávky a ověřte čísla, místo abyste zadávali další nákup.
Tato cesta nepřidává ke zpětnému oznámení kryptografický podpis. Zpětné oznámení považujte za upozornění, které je třeba porovnat s vaším seznamem čísel získaným po ověření přístupu, nikoli za samostatné oprávnění k účtování, zřizování služeb nebo udělení přístupu. Do URL pro zpětná oznámení nevkládejte přihlašovací údaje API. Odeslání dalšího nákupu s jinou URL pro zpětná oznámení neaktualizuje původní objednávku; vytvoří samostatný pokus o nákup. Když žádáte podporu o prošetření zpětného oznámení, uchovejte původní identifikátor objednávky.
Selhání, která je třeba ošetřit
| Výsledek | Jak postupovat |
|---|---|
| 400 a zpráva o neplatné předvolbě | Znovu načtěte katalog předvoleb a použijte aktuální identifikátor předvolby. Tento případ odlišujte od zprávy, že potvrzování původní objednávky stále probíhá. |
| 403 nebo selhání kvůli pravidlům účtu či zůstatku | Zkontrolujte oprávnění k nákupu, cenové stropy účtu, množstevní limity a financování. Z těchto kontrol mohou být předány i jiné aplikační kódy; uchovejte skutečné znění zprávy. |
| 404 nebo žádná dostupná čísla | Obnovte informace o dostupnosti. Neopakujte nákupy pro předvolbu, jejíž nabídka čísel je vyčerpána. |
| 409 a zpráva o potvrzení nákupu, odmítnutí poskytovatelem nebo zrušené objednávce | Uchovejte vrácený identifikátor objednávky a skutečné znění zprávy. Před odesláním dalšího nákupu ověřte výsledek požadavku podle seznamu čísel, transakcí na účtu a s pomocí podpory. Opětovné použití stejné reference nezajišťuje bezpečnost dalšího požadavku. |
| 200 s varováními nebo menším počtem čísel | Některá čísla byla zakoupena. Před objednáním dalších ověřte vrácené přidělení čísel a transakce. |
| Selhání serveru či přenosu nebo nečitelná odpověď | Považujte výsledek za potenciálně nejistý, dokud seznam čísel a transakce neprokážou, co se stalo. |