Skip to content

Contacte

Contactele sunt persoanele de legătură ale unei companii. Listarea și crearea sunt imbricate sub companie (un contact nu poate fi orfan sau atribuit greșit); citirea, actualizarea și ștergerea sunt pe calea plată /api/v1/contacts/{id}.

Endpoint-uri

MetodăCaleDescriere
GET/api/v1/companies/{company}/contactsListă paginată a contactelor companiei; filtru search.
POST/api/v1/companies/{company}/contactsCreează un contact pentru companie.
GET/api/v1/contacts/{id}Citește un contact (cu compania părinte).
PUT/api/v1/contacts/{id}Actualizează un contact (parțial).
DELETE/api/v1/contacts/{id}Șterge un contact.

Filtre la listare

ParametruTipNote
searchstringCaută în first_name, last_name, email.
per_pageintegerImplicit 50, plafonat la 200.

Rezultatele sunt ordonate cu contactele principale (is_primary) primele, apoi alfabetic după prenume.

Schema unui contact

Câmpuri acceptate la POST / PUT. La POST, atât first_name cât și last_name sunt obligatorii (coloana e NOT NULL pe ambele); la PUT, toate sunt opționale.

CâmpTipNote
first_namestring ≤ 100Obligatoriu la POST.
last_namestring ≤ 100Obligatoriu la POST.
emailemail ≤ 255
phonestring ≤ 30Stocat criptat; returnat în clar în răspuns.
mobilestring ≤ 30Stocat criptat; returnat în clar în răspuns.
positionstring ≤ 100
departmentstring ≤ 100
job_titlestring ≤ 255
is_primarybooleanImplicit false. Nu este exclusiv — poți avea mai mulți contacte primare pe aceeași companie; API-ul nu dezactivează automat celelalte, la fel ca interfața web.
is_decision_makerbooleanImplicit false.
preferred_languagestring ≤ 10Implicit ro.
notestext
birth_datedate
genderstring ≤ 20
timezonestring ≤ 64

Răspunsul mai conține câmpuri needitabile prin API: id, company_id, metadata, last_contacted_at, created_at, updated_at, deleted_at, și full_name (calculat din first_name + last_name). La GET /api/v1/contacts/{id} este inclusă în plus compania părinte: company: {id, name}.

Exemplu — creare contact

bash
curl -X POST https://wartung.notsocrm.ro/api/v1/companies/1/contacts \
  -H "Authorization: Bearer wartung.crm_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Ion",
    "last_name": "Popescu",
    "email": "ion@wartung.ro",
    "position": "Director",
    "is_primary": true
  }'

Răspuns 201:

json
{
    "data": {
        "id": 1,
        "company_id": 1,
        "first_name": "Ion",
        "last_name": "Popescu",
        "email": "ion@wartung.ro",
        "position": "Director",
        "department": null,
        "is_primary": true,
        "is_decision_maker": false,
        "preferred_language": "ro",
        "notes": null,
        "metadata": null,
        "last_contacted_at": null,
        "created_at": "2026-07-31T22:18:51.000000Z",
        "updated_at": "2026-07-31T22:18:51.000000Z",
        "deleted_at": null,
        "birth_date": null,
        "gender": null,
        "job_title": null,
        "timezone": null,
        "full_name": "Ion Popescu",
        "phone": null,
        "mobile": null
    }
}

Ștergere

bash
curl -X DELETE https://wartung.notsocrm.ro/api/v1/contacts/1 \
  -H "Authorization: Bearer wartung.crm_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
json
{ "message": "Contact deleted." }