Accesul la cont și la proiect
Utilizați un cont API activat, prin HTTPS, de la o adresă IP permisă. Proiectul trebuie să aparțină acelui cont și să nu fie șters. Utilizați identificatorul unic al proiectului din fluxul de comandă a portării, nu identificatorul său numeric din baza de date sau un număr de telefon. La construirea unei cereri, aplicați codificarea URL identificatorului proiectului.
Cerere
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/status"Acest punct de acces nu citește corpul cererii, parametri de paginare sau filtre de dată.
Răspuns
Exemplu fictiv de răspuns.
{
"status": {
"code": 200,
"msg": "Project Status"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"status": 2,
"status_str": "Completed",
"counts": {
"total": 2,
"pending": 0,
"in_progress": 0,
"completed": 1,
"rejected": 1
}
}
}Câmpul exterior status.code indică rezultatul API. Câmpul separat response.status reprezintă rezumatul portării, calculat pentru proiect. Nu confundați cele două câmpuri.
Un rezumat nu reprezintă rezultatul pentru toate numerele
Rezumatul selectează In Progress dacă există un număr cu această stare, în caz contrar Pending, apoi Completed, apoi Rejected. Dacă nu se găsește nicio stare cunoscută corespunzătoare, valoarea implicită este Pending. Prin urmare, un proiect care conține atât numere a căror portare s-a finalizat, cât și numere respinse raportează Completed, deși încă include numere respinse.
Verificați întotdeauna valorile contoarelor și lista numerelor individuale înainte de a decide că întregul proiect este finalizat. counts.total include fiecare înregistrare de număr din proiect; celelalte contoare acoperă doar cele patru valori de stare cunoscute, iar suma lor poate să nu fie egală cu totalul atunci când există alte valori. Un proiect fără numere raportează contoare cu valoarea zero și un rezumat Pending.
Interpretarea stării portării
| Valoare | Etichetă |
|---|---|
| 0 | Pending |
| 1 | In Progress |
| 2 | Completed |
| 9 | Rejected |
Păstrați starea numerică și permiteți valorile necunoscute. Pentru etichetele necunoscute se folosește valoarea stocată, fără a garanta o etichetă nouă. O stare de finalizare stocată sau o dată programată nu verifică, prin ea însăși, rutarea apelurilor primite sau fiecare serviciu asociat numărului.
Erori și limite
Verificați atât răspunsul HTTP, cât și status.code/status.msg. Un proiect inexistent, șters sau care nu aparține contului returnează codul API 404 cu un mesaj care indică faptul că proiectul nu a fost găsit. Se aplică și autentificarea și restricțiile privind adresa IP sursă. Exemplele nu efectuează o cerere reală, iar un răspuns reușit nu dovedește că un operator a acceptat sau a finalizat un transfer.
Efecte
Acest punct de acces citește valorile stocate ale contoarelor proiectului. În funcția de tratare analizată, nu trimite o solicitare de transfer, nu modifică o stare, nu inițiază un apel și nu debitează contul. Nu oferă interogări periodice ale operatorului în timp real și nici abonare la notificări webhook.