Fejlesztők

POST/v3/order/{prefix_id}

Telefonszámok rendelése előtag alapján

Vásároljon megadott mennyiségű telefonszámot egy előtag aktuális készletéből, őrizze meg a rendelési hivatkozásokat, és egyeztesse az árakat, a részleges kiosztásokat és az aktiválást.

Ezen az oldalon
  1. Rendelés előtag alapján
  2. A vásárlás beküldése
  3. Kézbesítési és megújítási beállítások
  4. A teljes eredmény feldolgozása
  5. Részleges vásárlások és bizonytalan kimenetelek
  6. Regisztráció és aktiválás
  7. Rendelési visszahívások
  8. Kezelendő hibák

Rendelés előtag alapján

Akkor használja ezt a műveletet, ha az előtagkatalógus egy előtagból történő mennyiségi rendelést ír elő az egyes elérhető számok kiválasztása helyett. Kiindulásként tekintse át az országok, a körzetek vagy államok, valamint az előtagok listáját. Az előtag azonosítóját és a díjcsomagot ugyanabból a friss eredményből őrizze meg. Az elérhető számok listájából kiválasztott konkrét szám megvásárlásához használja a következő műveletet: Kiválasztott telefonszám megvásárlása.

Ez a kérés telefonszámokat vásárolhat, és díjakat eredményezhet. Nem árajánlat, foglalás vagy próbaüzem. Beküldés előtt tekintse át az egyszeri és havi díjakat, a bejövő hívások percdíjait, a csomagban foglalt perceket, a csatornákat, a regisztrációs követelményeket és a fiók vásárlási korlátait. A katalógus találata nem foglal le készletet, és nem rögzíti az árakat. A fiók feltöltésével kapcsolatos ellenőrzések a teljesítés előtt is megtörténhetnek; egy hiba önmagában nem bizonyítja, hogy nem történt vásárlás vagy fiókfeltöltés.

A vásárlás beküldése

Használjon engedélyezett API-fiókot HTTPS-kapcsolaton, engedélyezett forrás-IP-címről. A változókat az aktuális katalógusválasztás és a jóváhagyott kézbesítési konfiguráció alapján állítsa be. A következő parancs egy telefonszámot vásárol meg.

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"

A fenti példa űrlapadatokat küldő POST kérést mutat. A koordinátor JSON-objektumot is beolvas, ha a Content-Type értéke application/json. A JSON-mezők felülírják a megfelelő űrlap-/kérésmezőket. Következetesen egyetlen kódolást használjon; ne küldjön egymásnak ellentmondó értékeket a lekérdezésben és a kérés törzsében.

A rendelési választás és az értesítések paraméterei
ParaméterJelentés
az előtag azonosítója az útvonalbanA katalógus által visszaadott előtag-UUID. Ország, körzet, ár vagy egyedi telefonszám azonosítója nem használható helyette.
quantity1 és 100 közötti egész számot küldjön. Az alapértelmezett érték 1. Az 1 alatti értékeket a rendszer 1 értékre módosítja; ez nem pusztán ellenőrzést végző kérés. A 100 feletti értékek még a koordinátor szokásos válaszkezelése előtt kivételt váltanak ki, ezért ilyen érvénytelen bemenetnél ne támaszkodjon a megszokott JSON-szerkezetre.
price_idA kiválasztott díjcsomag nyilvános árazonosítója. A priceid egy régi alternatív név. Nem egyező azonosító esetén a rendszer külön jelzés nélkül másik díjcsomagra válthat; ez a mező nem jelent szigorú árrögzítést. Vásárlás előtt ellenőrizze a fiók árkorlátait, utána pedig vizsgálja meg a visszaadott árat.
channelsA kiválasztott díjcsomag csatornaszáma. Ha nem pontos áregyezést használ a rendszer, az egyező csatornaszám befolyásolhatja a helyettesítő díjcsomag kiválasztását. Önmagában nem garantálja egy adott díjcsomag megvásárlását.
referenceAz Ön által megadott címke a vásárláshoz vagy a köteghez. Rövid, legfeljebb 255 bájtos ASCII-értéket használjon; a hosszabb értékeket a rendszer csonkolja. Sikeres vásárlásoknál megőrzi, és ha megadták, a visszahívásokban is szerepelteti. Külön rendelésekhez tartozhat azonos hivatkozás. Ez nem idempotenciakulcs: a művelet ismételt beküldése további számokat vásárolhat, és azok díját is felszámíthatja, még azonos hivatkozás és azonos mezőértékek esetén is.
webhook_urlNem kötelező visszahívási URL. Az Ön felügyelete alatt álló HTTPS-végpontot használjon. A HTTP- és HTTPS-URL-ek átmennek a jelenlegi alapszintű ellenőrzésen; az érvénytelen URL-t a rendszer figyelmen kívül hagyja a vásárlás elutasítása helyett. A visszahívás kiegészítő értesítés, nem bizonyíték arra, hogy a kérés biztonságosan megismételhető.

Kézbesítési és megújítási beállítások

Ugyanazokat a kézbesítési beállításokat válassza, amelyeket a portálon használna a telefonszámhoz. Ezek speciális konfigurációs értékek, nem utasítások hosztolt alközpont vagy hívásfogadási trönk létrehozására. Használjon újra egy ismerten működő fiókkonfigurációt, és vásárlás után ellenőrizze az elmentett telefonszámot. A vásárlás elfogadása önmagában nem igazolja, hogy a hanghívások vagy az SMS-ek kézbesítése működik.

További rendelési mezők
MezőHasználat és kompatibilitás
uri, uri2, uri3Elsődleges és további hanghívási célok. A kiválasztott átirányítási és csengetési módoknak megfelelő célokat adjon meg.
forward_destinationA hanghívások átirányítási módja. A forwarding_destination és a type régi alternatív nevek. Ha elhagyja, az adott vásárlási folyamat alapértelmezése érvényesül; az üres mező nem megbízható módja egy meglévő beállítás törlésének.
ring_typeA hanghívások csengetési módja; a ringtype alternatív név. A fiók telefonszám-konfigurációjában szereplő támogatott értéket használjon.
sms_forward_destination, sms_uriAz SMS-kézbesítés módja és célja. Régi alternatív nevek: smsringtype és smsuri. Egyes vásárlási folyamatok a fiók alapértelmezett SMS-célját alkalmazzák, ha ez üres. Az SMS elérhetősége a kiválasztott számtól és annak aktiválásától/regisztrációjától függ.
overflowA kért túlcsordulási beállítás. A díjcsomag elérhetősége és a vásárlási folyamat befolyásolja, hogy támogatott-e.
force_codec, force_dtmfA kért kodek- és DTMF-beállítások. Régi alternatív nevek: forcecodec és forcedtmf. Ellenőrizze a kiválasztott készlethez elmentett konfigurációt.
origination_trunk_idMeglévő trönkkonfiguráció azonosítója, ahol alkalmazható. Ez nem hoz létre trönköt. Ha elhagyja, a vásárlási folyamat alapértelmezése érvényesül.
autorenewA kért megújítási beállítás. Ne feltételezze, hogy a 0 kikapcsolja a megújítást: egyes vásárlási folyamatok az üresnek tekintett értékeket, köztük a 0 értéket is, az alapértelmezett bekapcsolt beállításként kezelik. A portálon ellenőrizze, és szükség esetén módosítsa a megvásárolt telefonszám megújítási beállítását.

Ezeket a mezőket a rendszer egységesíti és átadja a vásárlási folyamatnak, de megőrzésük a készletkezelési útvonaltól függően eltér. A jelenlegi rendelési útvonal nem teszi elérhetővé egyenértékű védelmi korlátként a kiválasztott szám megvásárlásáról szóló útmutató szigorú árajánlati felső korlátot megadó mezőit. Használja a fiók vásárlási jogosultságait és árkorlátait, és ellenőrizze az eredményül kapott telefonszám-konfigurációt.

A teljes eredmény feldolgozása

Dolgozza fel a JSON-törzset, és akkor is ellenőrizze a status.code és a status.msg értékét, ha a HTTP-kérés sikeres. Ez az útvonal saját JSON-választ ír, és a közös válaszkezelő segéd sem feltétlenül felelteti meg az alkalmazáskódot a HTTP-állapotkódnak. Az alkalmazáskódok JSON-számok vagy számot tartalmazó karakterláncok lehetnek. Ne követelje meg a status.results jelenlétét; a szokásos rendelési eredményben nem szerepel.

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

A fenti azonosító, telefonszám és árak kitaláltak. A rendelésazonosítót kezelje átlátszatlan értékként, amelynek belső szerkezetét nem értelmezi. A numbers azokat a telefonszámokat sorolja fel, amelyeket ez a válasz megvásároltként jelent; hasonlítsa össze a lista hosszát a kért mennyiséggel. Az árösszegek karakterláncok, és ez a válasz két tizedesjegyre kerekíti a pénzbeli díjtételeket, a per_minute értékét is beleértve; az eredeti díjtétel-pontosságért használja a friss katalógust. A csomagban foglalt percek és a csatornák számértékként vagy számot tartalmazó karakterláncként is érkezhetnek.

Az árblokk a válasz összeállításához használt kiválasztott díjcsomagot írja le, nem pedig az egyes számok részletes számláját vagy a rendelés végösszegét. A készletből szóba jövő különböző számokhoz eltérő díjcsomagok tartozhatnak. Egyeztesse az egyes megvásárolt számokat és a fióktranzakciókat; ne szorozza fel egyszerűen e blokk értékeit azt feltételezve, hogy ez igazolja a végösszeget.

Részleges vásárlások és bizonytalan kimenetelek

A 200 alkalmazáskód mellett figyelmeztetés és a kértnél kevesebb telefonszám is érkezhet. Egy későbbi hiba nem vonja vissza a már megvásárolt számokat. Őrizze meg a visszaadott rendelésazonosítót, telefonszámokat és üzenetet. Egyeztesse ezeket a számokat a saját készletében és a fióktranzakciókban, mielőtt eldönti, megrendeli-e a fennmaradó mennyiséget.

Az időtúllépés, a kérés kapcsolatának megszakadása, a hibás formátumú válasz vagy a beküldés utáni hiba nem bizonyítja, hogy semmi sem történt. Ne küldjön be automatikusan újabb vásárlást, még azonos hivatkozással sem. Őrizze meg az eredeti kérést, a hivatkozást és az esetleg visszaadott rendelésazonosítót, ellenőrizze a készletet és a fióktranzakciókat, és forduljon az ügyfélszolgálathoz, ha a kimenetel továbbra is bizonytalan.

Egy még meg nem erősített rendelés 400 alkalmazáskódot adhat vissza olyan üzenettel, amely szerint a megerősítés még folyamatban van. Őrizze meg a visszaadott rendelésazonosítót, és egyeztesse ezt a vásárlást; ez nem felszólítás az ismételt beküldésre. A rögzített rendelések helyreállítása belsőleg követi az eredeti rendelést. Az ehhez a művelethez küldött új kérés külön vásárlási kísérletet hoz létre ahelyett, hogy az Ön hivatkozása alapján folytatna egy rendelést, ezért további számokat vásárolhat, és azok díját is felszámíthatja. Ne használjon ismételt vásárlási kéréseket állapotellenőrzésre vagy készletkeresésre.

Regisztráció és aktiválás

A megvásárolt vagy kiosztott telefonszámhoz még szükség lehet regisztrációra vagy aktiválásra. Ha a needs_registration értéke 1, vizsgálja meg a restrictions és a registration_requirements értékét. Az utóbbi megadhatja a következő végpontot: v3/get_requirements, a country és a number_type értékeivel együtt. Végezze el a vonatkozó személyazonosság-/címellenőrzési folyamatot, és ellenőrizze a telefonszám állapotát, mielőtt bejövő hívásokra vagy üzenetküldésre támaszkodna.

A features a meghirdetett képességeket írja le; nem igazolja az éles hívásirányítást, a kampány jóváhagyását, az SMS-kézbesítést vagy a faxfogadást. Ellenőrizze az elmentett kézbesítési beállításokat, és amikor a telefonszám aktív, végezze el a megfelelő szolgáltatástesztet.

Rendelési visszahívások

A visszahívások POST kéréssel küldenek JSON-adatokat, amelyek tartalmazzák a rendelés állapotát és válaszát, valamint az Ön hivatkozását is, ha megadta. A jelentett vásárlásokról küldi őket a rendszer, a részleges eredményeket is beleértve. A sikertelen visszahívás nem vonja vissza a vásárlást. A kézbesítés újra megkísérelhető, ezért a duplikátumokat a rendelésazonosító alapján kezelje, és egyeztesse a telefonszámokat ahelyett, hogy újabb vásárlást indítana.

Ez az útvonal nem ad kriptográfiai aláírást a visszahíváshoz. A visszahívást olyan értesítésként kezelje, amelyet össze kell vetnie a hitelesített hozzáféréssel lekért készletével, ne pedig önálló felhatalmazásként díjterhelésre, szolgáltatáslétesítésre vagy hozzáférés megadására. Ne helyezzen API-hitelesítő adatokat a visszahívási URL-be. Egy másik visszahívási URL-lel beküldött újabb vásárlás nem frissíti az eredeti rendelést; külön vásárlási kísérletet hoz létre. Őrizze meg az eredeti rendelésazonosítót, amikor az ügyfélszolgálattól a visszahívás kivizsgálását kéri.

Kezelendő hibák

Alkalmazásszintű kimenetelek
KimenetelTeendő
400 és érvénytelen előtagra utaló üzenetKérje le újra az előtagkatalógust, és használja az aktuális azonosítóját. Különböztesse meg ezt attól az üzenettől, amely szerint egy eredeti rendelés megerősítése még folyamatban van.
403 vagy a fiókszabályzattal/egyenleggel kapcsolatos hibaTekintse át a vásárlási jogosultságot, a fiók árkorlátait, a mennyiségi korlátokat és a feltöltést. Ezek az ellenőrzések más alkalmazáskódokat is továbbíthatnak; őrizze meg a tényleges üzenetet.
404 vagy nincs elérhető készletFrissítse az elérhetőségi adatokat. Ne indítson ismételt vásárlásokat olyan előtagra, amelynek készlete elfogyott.
409 és vásárlásmegerősítésre, szolgáltatói elutasításra vagy törölt rendelésre utaló üzenetŐrizze meg a visszaadott rendelésazonosítót és a tényleges üzenetet. Újabb vásárlás beküldése előtt egyeztesse a kérést a készlettel, a fióktranzakciókkal és az ügyfélszolgálattal. Ugyanannak a hivatkozásnak az újrafelhasználása nem tesz biztonságossá egy újabb kérést.
200 figyelmeztetésekkel vagy kevesebb telefonszámmalNéhány telefonszám megvásárlása megtörtént. További rendelés előtt egyeztesse a visszaadott kiosztást és a tranzakciókat.
Kiszolgáló-/adatátviteli hiba vagy olvashatatlan válaszKezelje az eredményt esetlegesen bizonytalanként mindaddig, amíg a készlet és a tranzakciók alapján meg nem állapítható, mi történt.