API

Documentatie pentru integrarea cu api.mobilizat.ro

Prin API-ul nostru puteti solicita interventii direct din sistemele dumneavoastra — alarme, senzori, centrale de monitorizare sau dispecerate externe. Acest lucru permite integrarea cu o varietate de dispozitive si centre de comanda, automatizand procesul de la detectie la interventie.

URL de baza

Toate request-urile API se fac catre:

URL
https://api.mobilizat.ro

Autentificare

Pentru a utiliza API-ul, trebuie sa obtineti un token de autentificare. Trimiteti credentialele dumneavoastra la endpoint-ul de autentificare:

POST/auth/token
curl -X POST https://api.mobilizat.ro/auth/token \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "your_password"
  }'

Raspuns:

200Response
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expiresIn": 3600
}

Folositi token-ul primit in header-ul Authorization pentru toate request-urile ulterioare:

Authorization: Bearer YOUR_API_KEY

Creare interventie noua

Pentru a crea o interventie noua, trimiteti un request POST catre endpoint-ul /interventii cu urmatoarele campuri:

CampTipObligatoriuDescriere
namestringDaNumele interventiei
descriptionstringNuDescrierea detaliata a interventiei
dateStartstring (ISO 8601)NuData si ora de inceput (ex: 2026-03-29T14:30:00)
dateEndstring (ISO 8601)NuData si ora de sfarsit
statusstringNuplanned, in_progress, done
prioritystringNulow, medium, high
typestringNumaintenance, inspection, repair, other
objectiveTypestringDaobiective/cladiri, obiective/bunuri, obiective/persoane
objectiveIdnumberDaID-ul obiectivului asociat
crewsnumberNuNumarul de echipaje (minim 1)
policebooleanNuSolicita echipaj politie
ambulancebooleanNuSolicita ambulanta
firetruckbooleanNuSolicita echipaj pompieri
notesstringNuNote suplimentare

Exemplu cURL

POST/interventii
curl -X POST https://api.mobilizat.ro/interventii \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "name": "Alarma sediu central",
    "description": "Alarma declansata la sediul central",
    "dateStart": "2026-03-29T14:30:00",
    "dateEnd": "2026-03-29T16:00:00",
    "status": "planned",
    "priority": "high",
    "type": "maintenance",
    "objectiveType": "obiective/cladiri",
    "objectiveId": 1,
    "crews": 2,
    "police": true,
    "ambulance": false,
    "firetruck": false,
    "notes": "Verificare perimetru necesara"
  }'

Raspuns (201 Created):

201Response
{
  "id": 1234,
  "name": "Alarma sediu central",
  "description": "Alarma declansata la sediul central",
  "dateStart": "2026-03-29T14:30:00",
  "dateEnd": "2026-03-29T16:00:00",
  "status": "planned",
  "priority": "high",
  "type": "maintenance",
  "objectiveType": "obiective/cladiri",
  "objectiveId": 1,
  "crews": 2,
  "police": true,
  "ambulance": false,
  "firetruck": false,
  "notes": "Verificare perimetru necesara",
  "dispeceratId": 2,
  "invoicePdf": null
}

Ghid complet: Setup interventie pas-cu-pas

Exemplu detaliat cu autentificare, identificare obiectiv, creare, verificare si script complet.

Vezi ghidul

Coduri de eroare

CodDescriere
400Request invalid - campuri lipsa sau format gresit
401Neautorizat - token invalid sau expirat
403Acces interzis - permisiuni insuficiente
404Resursa negasita
500Eroare interna de server