Accesul la cont și la proiect
Folosiț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. Folosiți identificatorul unic al proiectului din fluxul comenzii de portare, nu identificatorul său numeric din baza de date sau un număr de telefon. Aplicați codificarea URL identificatorului proiectului când construiți o cerere.
Cerere
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID"Tratați acest răspuns ca fiind confidențial
Răspunsul complet include informații de facturare ale operatorului de la care se portează numerele, inclusiv valoarea stocată pentru billing_pin, contul de facturare, telefonul, adresa, compania și datele persoanei de contact autorizate. API nu maschează aceste câmpuri. Solicitați doar starea sau lista numerelor dacă acestea sunt singurele informații necesare fluxului dumneavoastră de lucru. Nu păstrați răspunsul detaliat complet în spațiul de stocare al browserului, în sistemele de analiză, în jurnalele publice sau în capturile de ecran pentru asistență și afișați doar câmpurile de care are nevoie un client autorizat.
Structura răspunsului
Exemplu fictiv cu câmpuri selectate; pot fi returnate și alte câmpuri.
{
"status": {
"code": 200,
"msg": "Project Detail"
},
"response": {
"project": {
"id": 11,
"uniqueid": "PROJECT_EXAMPLE",
"project_name": "Example transfer",
"location": "US",
"status": 0,
"status_str": "Pending"
},
"counts": {
"total": 0,
"pending": 0,
"in_progress": 0,
"completed": 0,
"rejected": 0
},
"numbers": [],
"events": [],
"uploads": []
}
}Acest exemplu, intenționat parțial, omite toate datele de autentificare pentru facturare și valorile datelor personale de contact. Omiterea lor din exemplu nu înseamnă că răspunsul real le ascunde.
| Secțiune | Conținut |
|---|---|
| project | Identificatorul numeric al înregistrării, identificatorul unic al proiectului, numele proiectului, locația, datele stocate de facturare, de contact și de adresă, momentul creării și starea calculată. Câmpul moștenit pentru operatorul de la care se portează numerele este scris loosing_carrier. |
| counts | Numărul total de înregistrări pentru numere și contoarele pentru Pending, In Progress, Completed și Rejected. |
| numbers | Aceeași proiecție a datelor despre numere ca la punctul de acces pentru lista numerelor proiectului, inclusiv comentariile clienților și valorile stocate pentru programare. |
| events | Înregistrările stocate ale evenimentelor și câmpurile brute sau analizate ale conținutului transmis, supuse limitelor de vizibilitate și de format ale punctului de acces pentru evenimente. |
| uploads | Metadatele documentelor: identificatorul numeric, upload_type, file_name, file_extension, date_created și o valoare relativă pentru download_url. Adresa URL necesită în continuare autentificarea în cont. |
Interpretarea rezumatului și a metadatelor
Starea calculată acordă prioritate valorii In Progress, apoi valorii Pending, apoi valorii Completed, apoi valorii Rejected, folosind Pending ca valoare de rezervă. Un rezumat cu starea Completed poate coexista cu numere respinse. Verificați contoarele și stările numerelor, fără a presupune că portarea fiecărui număr s-a încheiat.
Răspunsul conține metadatele documentelor, nu octeții fișierelor. Nu are paginare sau cursor incremental. Interogările pentru detalii și pentru listă sunt citiri separate, nu o singură imagine a datelor a cărei coerență tranzacțională este garantată. Datele calendaristice rămân valorile stocate, fără o conversie documentată a fusului orar. Folosiți uniqueid pentru rutele proiectului; identificatorul numeric al proiectului nu poate fi folosit în locul acestuia.
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 cerințele de autentificare ș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 și flux de lucru
Aceasta este ruta canonică pentru detalii folosită de vizualizarea comenzilor de portare din portalul actual. Portalul mapează câmpurile pentru interfața sa și aplică propria proiecție a datelor pentru clienți; nu presupuneți că răspunsul brut API este identic cu datele JSON sau cu prezentarea din portal. Rutina verificată de tratare a cererilor de detalii nu modifică proiectul și nu inițiază direct o cerere către un operator sau o taxare.