Sari la conținut

Vehicule

Parcul de vehicule al atelierului — motociclete, ATV-uri, UTV-uri, scutere etc. Un vehicul poate fi legat de un client prin customer_id, dar poate exista și fără proprietar (ex. unitate în consignație).

Endpoint-uri

MetodăCaleDescriere
GET/api/v1/service/vehiclesListă paginată; filtre customer_id, search.
GET/api/v1/service/vehicles/{id}Citește un vehicul (cu client și istoricul proprietarilor).
POST/api/v1/service/vehiclesCreează un vehicul.
PUT/api/v1/service/vehicles/{id}Actualizează un vehicul.
DELETE/api/v1/service/vehicles/{id}Soft-delete.

Filtre la listare

ParametruTipNote
customer_idintegerDoar vehiculele unui client.
searchstringCaută în make, model, registration_plate, frame_number, vin.
per_pageintegerImplicit 50.

Schema unui vehicul

La POST, vehicle_kind, make și model sunt obligatorii. La PUT, toate sunt opționale.

CâmpTipNote
customer_idintegerFK la customers. Trebuie să existe.
vehicle_kindenummotorcycle | atv | utv | scooter | moped | snowmobile | pwc | bicycle | other. Obligatoriu la POST.
makestring ≤ 64Marcă. Obligatoriu la POST.
modelstring ≤ 128Model. Obligatoriu la POST.
model_yearinteger1900–2100.
model_variantstring ≤ 64Variantă / versiune.
frame_numberstring ≤ 32Serie de șasiu (nu este unică între tenanți).
vinstring ≤ 17VIN (17 caractere).
engine_numberstring ≤ 32Serie motor.
registration_platestring ≤ 16Număr de înmatriculare.
registration_countrystring (2)Cod ISO 3166-1 alpha-2.
first_registration_datedatePrima înmatriculare.
engine_ccinteger ≥ 0Capacitate cilindrică (cm³).
engine_kwnumeric ≥ 0Putere (kW).
colorstring ≤ 32
key_codestring ≤ 32Cod cheie (criptat la stocare).
immobiliser_codestring ≤ 64Cod imobilizator (criptat la stocare).
current_odometerinteger ≥ 0Kilometraj / ore curente.
odometer_unitenumkm | mi | hr.
notestext
attributesarray / objectJSON liber (anvelope, combustibil, modificări etc.).
statusenumactive | sold | scrapped | stolen | archived.

Exemplu — creare vehicul

bash
curl -X POST https://tenant.notsowms.ro/api/v1/service/vehicles \
  -H "Authorization: Bearer tenant.7c4a8d09ca3762af61e59520943dc26494f8941b" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": 42,
    "vehicle_kind": "motorcycle",
    "make": "Yamaha",
    "model": "MT-07",
    "model_year": 2024,
    "vin": "JYARM33E5PA001234",
    "registration_plate": "B123XYZ",
    "engine_cc": 689,
    "current_odometer": 8450,
    "odometer_unit": "km"
  }'

Răspuns 201:

json
{
  "data": {
    "id": 17,
    "customer_id": 42,
    "vehicle_kind": "motorcycle",
    "make": "Yamaha",
    "model": "MT-07",
    "model_year": 2024,
    "registration_plate": "B123XYZ",
    "engine_cc": 689,
    "current_odometer": 8450,
    "odometer_unit": "km",
    "status": "active",
    "created_at": "2026-05-25T09:20:11.000000Z",
    "updated_at": "2026-05-25T09:20:11.000000Z"
  }
}

Crearea și actualizarea unui vehicul emit un eveniment pe canalul tenant.{tenantId}.vehicles (Reverb).

Documentație API notso WMS