Pseudo-zasób bez własnej tabeli. Aktualizuje dane klienta po identyfikatorze wFirmy: e-mail, imię, nazwisko i nazwę firmy w koncie klienta, w koncie eksperckim w instancji biura (gdy istnieje) oraz w wizytówkach (osobach kontaktowych) we wszystkich instancjach, do których klient jest wpięty.
Uprawnienia:
0) — POST. Każda inna rola dostaje 403.POST /rest/wfirma_client_data
Semantyka patch — pole nieprzysłane znaczy „nie zmieniaj". external_user_id jest wymagany,
pozostałe pola opcjonalne.
{
"WfirmaClientData": {
"external_user_id": "12345",
"email": "klient@example.com",
"firstname": "Jan",
"lastname": "Kowalski",
"company_name": "Firma Jan Kowalski"
}
}
Odpowiedź jest zawsze 200 — zasób niczego nie tworzy.
// HTTP/1.1 200 OK
{
"status": "success",
"message": {
"updated": true,
"user_client_id": "1920",
"updated_initiators": 2
}
}
Gdy żadne przysłane pole nie różni się od aktualnej wartości, zapis jest pomijany:
// HTTP/1.1 200 OK
{
"status": "success",
"message": {
"updated": false
}
}
Brak wizytówki klienta w którejś z instancji jest pomijany i liczy się jako sukces — nie jest wliczany
do updated_initiators.
Nieznany identyfikator wFirmy — albo konto jest zbanowane lub usunięte:
// HTTP/1.1 404 Not Found
{
"status": "error",
"errorMessages": "Nie znaleziono klienta o podanym identyfikatorze wFirmy.",
"errorCode": "CLIENT_USER_NOT_FOUND"
}
Niepoprawny format adresu e-mail albo przekroczona długość (maksymalnie 64 znaki — tyle mieści kolumna, mimo że SSO dopuszcza 255):
// HTTP/1.1 400 Bad Request
{
"status": "error",
"errorMessages": "Nieprawidłowy format lub długość adresu e-mail.",
"errorCode": "VALIDATION_FAILED"
}
Nowy adres e-mail należący do konta niebędącego klientem — eksperta albo pracownika biura:
// HTTP/1.1 403 Forbidden
{
"status": "error",
"errorMessages": "Podany adres e-mail należy do innego użytkownika.",
"errorCode": "EMAIL_TAKEN_BY_USER"
}
Nowy adres e-mail należący do innego klienta (u nas albo w SSO):
// HTTP/1.1 403 Forbidden
{
"status": "error",
"errorMessages": "Podany adres e-mail należy do innego klienta.",
"errorCode": "EMAIL_TAKEN_BY_CLIENT"
}
SSO niedostępne — żadne dane nie zostały zmienione, można ponowić:
// HTTP/1.1 503 Service Unavailable
{
"status": "error",
"errorMessages": "Nie udało się zaktualizować adresu konta w SSO.",
"errorCode": "SSO_UNAVAILABLE"
}