Institution Person

Zasób przechowujący referentów/urzędników przypisanych do urzędów (institution_persons). Każdy urzędnik należy do jednego urzędu przez institution_id.

Endpointy obsługujące żądanie:

  • https://api.5ways.com

Walidacje

  • first_name: wymagane (NOT EMPTY, bez samych spacji)
  • last_name: wymagane (NOT EMPTY, bez samych spacji)
  • email: wymagane (NOT EMPTY) + poprawny format + unikalność w ramach (customer_id, email)
  • institution_id: wymagane (NOT EMPTY) + musi wskazywać istniejący rekord w institutions.id należący do bieżącego klienta

Szczegóły walidacji institution_id

Pole institution_id jest sprawdzane pod kątem:

  1. Wymagalność - nie może być puste
  2. Istnienie instytucji - musi istnieć rekord w tabeli institutions o podanym ID
  3. Przynależność do klienta - instytucja musi należeć do bieżącego użytkownika (customer_id)

Przykład błędu walidacji

HTTP/1.1 400 Bad Request
{
  "status": "error",
  "errorMessages": {
    "institution_id": "Wybrana instytucja nie istnieje."
  }
}

Uwaga dotycząca powiązań

  • Pole institution_id jest kluczem obcym do tabeli institutions i musi się zgadzać z istniejącym institutions.id.

Pobieranie listy urzędników

GET /rest/institution_person

Zwracane dane (przykład)

HTTP/1.1 200 OK
[
  {
    "InstitutionPerson": {
      "id": "10",
      "customer_id": "82",
      "institution_id": "1",
      "first_name": "Anna",
      "last_name": "Kowalska",
      "description": null,
      "email": "anna.kowalska@us.gov.pl",
      "phone": "+48 22 000 00 01",
      "created": "2025-09-17 10:05:00",
      "modified": "2025-09-17 10:05:00"
    }
  }
]

Pobieranie urzędnika

GET /rest/institution_person/{id}

Tworzenie urzędnika

POST /rest/institution_person

Treść żądania

{
  "InstitutionPerson": {
    "institution_id": 1,   // musi odpowiadać istniejącemu institutions.id
    "first_name": "Anna",
    "last_name": "Kowalska",
    "email": "anna.kowalska@us.gov.pl",
    "phone": "+48 22 000 00 01",
    "description": null
  }
}

Modyfikowanie urzędnika

PUT /rest/institution_person/{id}

Usuwanie urzędnika

DELETE /rest/institution_person/{id}

Odpowiedź

HTTP/1.1 200 OK
{
  "status": "OK"
}