Vývojáři

POST/v3/lnp/project/{uniqueid}/addnumbers

Přidání čísel do existujícího projektu přenosu

Přidejte řádky s čísly a před opakováním požadavku s nejistým výsledkem zkontrolujte skutečný stav projektu.

Na této stránce
  1. Přístup k účtu a projektu
  2. Příprava přidání čísel
  3. Požadavek POST
  4. Hlášený výsledek
  5. Před opakováním zkontrolujte skutečný stav
  6. Chyby původního rozhraní
  7. Účtování a rozsah přenosu

Přístup k účtu a projektu

Použijte aktivovaný účet API přes HTTPS z povolené IP adresy. Projekt musí patřit tomuto účtu a nesmí být smazán. Použijte jedinečný identifikátor projektu z pracovního postupu objednávky přenosu, nikoli jeho číselný databázový identifikátor nebo telefonní číslo. Při sestavování požadavku zakódujte identifikátor projektu pro použití v URL.

Příprava přidání čísel

Tato operace mění existující projekt přenosu čísel. Nejprve prostřednictvím svého pracovního postupu objednávky přenosu potvrďte čísla a oprávnění od zákazníka. Každé číslo uveďte jako úplnou posloupnost číslic v mezinárodním formátu, sami odstraňte duplicity a zkontrolujte stávající seznam čísel projektu. Nepoužívejte tento koncový bod k testování libovolných čísel.

Současný portál před voláním této trasy ověřuje a normalizuje čísla. Původní koncový bod při přímém použití neposkytuje stejné ochrany: odstraňuje mezery na začátku a konci vstupu, ale neověřuje formát telefonních čísel, kód země, duplicity ani stav projektu v pracovním postupu.

Požadavek POST

Vytvořte místní soubor numbers.json s následující strukturou. Čísla jsou smyšlená; nahraďte je čísly, pro která máte oprávnění v rámci vybraného projektu.

{
  "numbers": [
    "12025550123",
    "12025550124"
  ],
  "isocode": "US"
}
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --header "Content-Type: application/json" \
  --data-binary @numbers.json \
  "https://api.multitel.net/v3/lnp/project/$PROJECT_ID/addnumbers"
Pole požadavku na přidání čísel
PoleVýznam
numbersPovinné neprázdné pole řetězců s čísly nebo řetězec s jedním číslem na každém řádku. Prázdné položky se zahodí a mezery na začátku a konci se odstraní. Text oddělený čárkami se nerozdělí na jednotlivá čísla.
isocodeVolitelný kód země pro přidávané řádky. Pokud je vynechán nebo prázdný, použije se umístění projektu. Obslužná rutina odstraní mezery na začátku a konci zadané hodnoty, ale nepřevede ji na velká písmena ani ji neověří. Správný kód země zadejte sami velkými písmeny.

V tomto příkladu použijte POST s application/json. Načítá se také formulářový vstup POST. Metoda nedefinuje klíč idempotence ani zaručenou bezpečnou velikost dávky pro tento koncový bod; zpracovávejte zvládnutelné dávky a kontrolujte jejich skutečný stav, místo abyste se spoléhali na odhadovaný limit.

Hlášený výsledek

Smyšlený příklad odpovědi.

{
  "status": {
    "code": 200,
    "msg": "Success add numbers"
  },
  "response": {
    "uniqueid": "PROJECT_EXAMPLE",
    "count": 2,
    "numbers": [
      {
        "id": 21,
        "number": "12025550123",
        "status": 0,
        "status_str": "Pending",
        "isocode": "US"
      },
      {
        "id": 22,
        "number": "12025550124",
        "status": 0,
        "status_str": "Pending",
        "isocode": "US"
      }
    ]
  }
}

Odpověď označuje pokusy o přidání stavem Pending. Před nahlášením výsledku neověřuje výsledek každého vložení do databáze. Samotný počet nebo vrácený identifikátor proto nedokazuje, že byl každý řádek trvale uložen. Přidání se stavem Pending neznamená přijetí operátorem, naplánovaný přenos ani dokončenou aktivaci.

Před opakováním zkontrolujte skutečný stav

  1. Před přidáním čísel načtěte seznam čísel projektu a zamýšlené přidání si uložte do vlastních záznamů o požadavcích.
  2. Požadavek na přidání odešlete jednou.
  3. Znovu načtěte seznam čísel projektu a porovnejte každé číslo, které jste zamýšleli přidat. Zkontrolujte duplicity a stavy jednotlivých čísel.
  4. Pokud požadavek překročí časový limit, vrátí chybu nebo nahlásí nejednoznačný výsledek, před opakováním znovu načtěte aktuální stav. Některé přidávané položky již mohou existovat.
  5. Chybějící nebo duplicitní řádky řešte prostřednictvím pracovního postupu objednávky přenosu nebo podpory, místo abyste naslepo opakovali celý požadavek.

Obslužná rutina vkládá položky po jedné bez transakce a ochrany proti duplicitám. Při přerušení mohou dřívější zápisy zůstat zachovány; do hlášeného počtu může být zahrnuto i neúspěšné vložení, které vrátí false. Opakování požadavku může přidat duplicitní řádky. Samotná obslužná rutina nezapisuje událost ani nedokončuje přenos u operátora.

Chyby původního rozhraní

Jiná metoda než POST vrátí kód API 403. Chybějící či smazaný projekt nebo projekt, který nepatří danému účtu, vrátí kód API 404. Prázdný vstup čísel také vrátí kód API 404. Platí požadavky na autentizaci a omezení zdrojových IP adres. Tyto kódy původního rozhraní nedokazují, že po zahájení zpracování nedošlo k žádnému předchozímu vložení.

Účtování a rozsah přenosu

Zkontrolovaná obslužná rutina vkládá řádky s čísly projektu a neobsahuje přímé stržení prostředků z účtu ani odeslání operátorovi. To neznamená, že je celá služba přenosu čísel bezplatná, ani to neruší sjednané poplatky za přenos. Než budete očekávat přenos, splňte požadavky projektu na oprávnění, dokumenty a kontrolu.