Zasób przechowujący osoby kontaktowe przypisane do dostawców (provider_persons). Każda osoba należy do jednego dostawcy przez provider_id.
Endpointy obsługujące żądanie:
https://api.5ways.comcustomer_id, email)providers.id należący do bieżącego klientaPole provider_id jest sprawdzane pod kątem:
providers o podanym IDcustomer_id)HTTP/1.1 400 Bad Request
{
"status": "error",
"errorMessages": {
"provider_id": "Wybrany dostawca nie istnieje."
}
}
provider_id jest kluczem obcym do tabeli providers i musi się zgadzać z istniejącym providers.id.GET /rest/provider_person
HTTP/1.1 200 OK
[
{
"ProviderPerson": {
"id": "10",
"customer_id": "82",
"provider_id": "1",
"issue_initiator_id": null,
"first_name": "Jan",
"last_name": "Kowalski",
"description": "Kierownik sprzedaży",
"email": "jan.kowalski@abc-dostawy.pl",
"phone": "+48 22 123 45 68",
"created": "2025-01-06 12:10:00",
"modified": "2025-01-06 12:10:00"
},
"Provider": {
"name": "ABC Dostawy Sp. z o.o."
}
}
]
GET /rest/provider_person/{id}
HTTP/1.1 200 OK
{
"ProviderPerson": {
"id": "10",
"customer_id": "82",
"provider_id": "1",
"issue_initiator_id": null,
"first_name": "Jan",
"last_name": "Kowalski",
"description": "Kierownik sprzedaży",
"email": "jan.kowalski@abc-dostawy.pl",
"phone": "+48 22 123 45 68",
"created": "2025-01-06 12:10:00",
"modified": "2025-01-06 12:10:00"
},
"Provider": {
"name": "ABC Dostawy Sp. z o.o."
}
}
POST /rest/provider_person
{
"ProviderPerson": {
"provider_id": 1, // musi odpowiadać istniejącemu providers.id
"first_name": "Anna",
"last_name": "Nowak",
"email": "anna.nowak@abc-dostawy.pl",
"phone": "+48 22 123 45 69",
"description": "Specjalista ds. logistyki"
}
}
HTTP/1.1 201 Created
{
"ProviderPerson": {
"id": "11",
"customer_id": "82",
"provider_id": "1",
"issue_initiator_id": null,
"first_name": "Anna",
"last_name": "Nowak",
"email": "anna.nowak@abc-dostawy.pl",
"phone": "+48 22 123 45 69",
"description": "Specjalista ds. logistyki",
"created": "2025-01-06 12:15:00",
"modified": "2025-01-06 12:15:00"
}
}
PUT /rest/provider_person/{id}
{
"ProviderPerson": {
"provider_id": 1,
"first_name": "Anna",
"last_name": "Nowak-Kowalska",
"email": "anna.nowak@abc-dostawy.pl",
"phone": "+48 22 123 45 69",
"description": "Kierownik ds. logistyki"
}
}
DELETE /rest/provider_person/{id}
HTTP/1.1 200 OK
{
"status": "OK"
}
HTTP/1.1 400 Bad Request
{
"status": "error",
"errorMessages": {
"first_name": "Pole \"first_name\" jest obowiązkowe.",
"last_name": "Pole \"last_name\" jest obowiązkowe.",
"email": "Pole \"email\" jest obowiązkowe."
}
}
HTTP/1.1 400 Bad Request
{
"status": "error",
"errorMessages": {
"email": "Adres e-mail jest niepoprawny."
}
}
HTTP/1.1 400 Bad Request
{
"status": "error",
"errorMessages": {
"email": "Ten adres e-mail jest już używany przez inną osobę."
}
}
HTTP/1.1 400 Bad Request
{
"status": "error",
"errorMessages": {
"provider_id": "Wybrany dostawca nie istnieje."
}
}