Sari la conținut

Clienți

Proprietarii vehiculelor și ai comenzilor de service — persoane fizice (individual) sau firme (business).

Endpoint-uri

MetodăCaleDescriere
GET/api/v1/service/customersListă paginată; filtre search, customer_type.
GET/api/v1/service/customers/{id}Citește un client (cu numărul de vehicule și comenzi).
POST/api/v1/service/customersCreează un client.
PUT/api/v1/service/customers/{id}Actualizează un client.
DELETE/api/v1/service/customers/{id}Șterge un client (doar dacă nu are comenzi de service).

Filtre la listare

ParametruTipNote
searchstringCaută în first_name, last_name, company_name, phone, email, vat_id.
customer_typeenumindividual | business.
per_pageintegerImplicit 50.

Schema unui client

Câmpuri acceptate la POST / PUT. La POST, customer_type este obligatoriu; restul sunt opționale. La PUT, toate sunt opționale.

CâmpTipNote
customer_typeenumindividual | business. Obligatoriu la POST.
first_namestring ≤ 64Prenume (persoană fizică).
last_namestring ≤ 64Nume.
company_namestring ≤ 128Denumire firmă.
phonestring ≤ 32Telefon, format liber.
phone_e164string ≤ 16Telefon normalizat E.164 (ex. +40712345678).
emailemail ≤ 128
address_line1string ≤ 255
address_line2string ≤ 255
citystring ≤ 100
countystring ≤ 100Județ.
postal_codestring ≤ 16
countrystring (2)Cod ISO 3166-1 alpha-2 (ex. RO).
tax_idstring ≤ 32CUI / CIF.
vat_idstring ≤ 32Cod TVA.
preferred_languagestring (2)Cod ISO 639-1 (ex. ro).
preferred_channelenumwhatsapp | sms | email | phone | none.
credit_limit_centsinteger ≥ 0Limită de credit, în bani.
notestext
tagsarrayEtichete libere.
is_blacklistedboolean
blacklist_reasonstring ≤ 255

La GET /api/v1/service/customers/{id}, răspunsul include în plus vehicles_count și work_orders_count.

Exemplu — creare client

bash
curl -X POST https://tenant.notsowms.ro/api/v1/service/customers \
  -H "Authorization: Bearer tenant.7c4a8d09ca3762af61e59520943dc26494f8941b" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_type": "individual",
    "first_name": "Andrei",
    "last_name": "Popescu",
    "phone_e164": "+40712345678",
    "email": "andrei@example.com",
    "preferred_channel": "whatsapp",
    "country": "RO"
  }'

Răspuns 201:

json
{
  "data": {
    "id": 42,
    "customer_type": "individual",
    "first_name": "Andrei",
    "last_name": "Popescu",
    "phone_e164": "+40712345678",
    "email": "andrei@example.com",
    "preferred_channel": "whatsapp",
    "country": "RO",
    "created_at": "2026-05-25T09:14:02.000000Z",
    "updated_at": "2026-05-25T09:14:02.000000Z"
  }
}

Ștergere

bash
curl -X DELETE https://tenant.notsowms.ro/api/v1/service/customers/42 \
  -H "Authorization: Bearer tenant.7c4a8d09ca3762af61e59520943dc26494f8941b"

Dacă clientul are deja comenzi de service, ștergerea este refuzată cu 422:

json
{ "error": "Cannot delete a customer with work orders." }

Documentație API notso WMS