Zamówienia – metody API
API umożliwi Ci automatyzację działań związanych z zamówieniami składanymi przez Twoich klientów. Udostępniamy trzy metody HTTP:
- POST – dodawanie nowego zamówienia lub aktualizacja danych o zamówieniu.
- GET – pozyskiwanie informacji o zamówieniu.
- PUT – zmiana statusu zamówienia.
- DELETE – usuwanie zamówienia.
Metoda POST – dodawanie informacji o zamówieniu
Działania, jakie przeprowadzisz tą metodą, to dodawanie danych o nowych zamówieniach oraz aktualizacja danych już złożonych zamówień. Służą do tego trzy tryby (modes):
- Add – dodanie zamówienia w platformie ExpertSender.
- AddOrReplace – dodanie nowego zamówienia od platformy lub wymiana jego danych, jeśli zamówienie już znajduje się w platformie.
- Replace – zmiana zestawu danych w zamówieniu.
Metoda POST – zapytanie
Żeby wysłać zapytanie z użyciem tej metody, potrzebujesz następujących informacji:
- Adres serwera (endpoint): https://api.ecdp.app/orders
- Wymagane parametry:
Parametr | Typ | Kategoria | Maksymalna liczba znaków | Opis |
x-api-key* | string | header | – | klucz API |
id* | string | body | 128 | numer ID zamówienia, |
date* | string($date-time) | body | – | data złożenia zamówienia |
totalValue* | number($double) | body | – | całkowita wartość zamówienia |
customer* | body | dane klienta; obejmuje dodatkowy zestaw parametrów >>> zobacz tabele poniżej | ||
products* | body | dane produktu; obejmuje dodatkowy zestaw parametrów >>> zobacz tabele poniżej |
Parametry customer oraz products, oraz orderAttributes posiadają jeszcze własne parametry, które pozwolą Ci na dodanie lub uzyskanie bardziej szczegółowych informacji na temat zamówień. Parametry oznaczone gwiazdką muszą znaleźć się w zapytaniu. Dla customer są to:
Parametr | Typ | Maksymalna liczba znaków | Opis |
string | 320 | adres e-mail klienta, który złożył zamówienie; wymagany, jeśli e-mail został wybrany dla danej jednostki biznesowej jako domyślne pole identyfikujące w Ustawieniach > Klienci. | |
phone | string | 20 | numer telefonu klienta, który złożył zamówienie; wymagany, jeśli numer telefonu został wybrany dla danej jednostki biznesowej jako domyślne pole identyfikujące w Ustawieniach > Klienci. |
crmId | string | 128 | numer ID CRM klienta, który złożył zamówienie; wymagany, jeśli CRM ID zostało wybrane dla danej jednostki biznesowej jako domyślne pole identyfikujące w Ustawieniach > Klienci. |
Dla products są to:
Parametr | Typ | Maksymalna liczba znaków | Opis |
id* | string | 128 | numer ID zakupionego produktu |
name* | string | 2048 | nazwa produktu |
price* | number($double) | – | cena produktu |
quantity* | integer($int32) | – | ilość zakupionego produktu; minimalna wartość: 1, maksymalna wartość: 2147483647 |
returned | integer($int32) | – | ilość zwróconych produktów; minimalna wartość: 1, maksymalna wartość: 2147483647 |
url | string | 2048 | adres URL zakupionego produktu |
imageUrl | string | 2048 | adres URL obrazka zakupionego produktu |
category | string | 2048 | kategoria zakupionego produktu |
productAttributes | Cechy produktu; obejmuje dodatkowy zestaw parametrów >>> zobacz tabelę poniżej |
Dla productAttributes są to:
Parametr | Typ | Maksymalna liczba znaków | Opis |
name* | string | 256 | nazwa cechy produktu |
value | string | – | wartość cechy produktu |
Pozostałe parametry, które możesz umieścić w zapytaniu:
Parametr | Typ | Maksymalna liczba znaków | Opis |
timeZone | string | 100 | strefa czasowa zamówienia. Wartości, jakie możesz podać znajdziesz tutaj: Obsługiwane strefy czasowe w zamówieniach |
websiteId | integer($int32) | – | numer ID strony sklepu, w którym złożono zamówienie |
status | string | – | status zamówienia: placed, paid, completed, canceled |
currency | string | min.: 3 maks.: 3 | waluta, w której złożono zamówienie |
returnsValue | number($double) | – | wartość zwróconych produktów |
orderAttributes | cechy zamówienia; obejmuje dodatkowy zestaw parametrów >>> zobacz tabele poniżej |
Parametry orderAttributes posiadają jeszcze własne parametry, które pozwolą Ci na dodanie lub uzyskanie bardziej szczegółowych informacji na temat zamówień. Parametry oznaczone gwiazdką muszą znaleźć się w zapytaniu:
Parametr | Typ | Maksymalna liczba znaków | Opis |
name* | string | 256 | nazwa cechy zamówienia |
value | string | – | wartość cechy zamówienia |
Składnia zapytania dla metody POST
Poniżej widzisz przykładową składnię zapytania, za pomocą którego dodasz (mode: Add) szczegóły zamówienia do ExpertSender.
{
"mode": "Add",
"data": [
{
"id": "12345",
"date": "2024-07-25T10:10:00.055Z",
"timeZone": "Central Europe Standard Time",
"websiteId": 1,
"status": "Completed",
"currency": "PLN",
"totalValue": 299.99,
"returnsValue": 0,
"customer": {
"email": "klient@example.com",
"phone": "+48600123456",
"crmId": "56789"
},
"products": [
{
"id": "002",
"name": "Słuchawki Bezprzewodowe",
"price": 149.99,
"quantity": 2,
"returned": 0,
"url": "https://example.com/produkty/sluchawki-bezprzewodowe",
"imageUrl": "https://example.com/zdjecia/sluchawki-bezprzewodowe.jpg",
"category": "Elektronika",
"productAttributes": [
{
"name": "Kolor",
"value": "Czarny"
},
{
"name": "Gwarancja",
"value": "2 lata"
}
]
}
],
"orderAttributes": [
{
"name": "Metoda dostawy",
"value": "Kurier"
},
{
"name": "Opakowanie na prezent",
"value": "Tak"
}
]
}
]
}
Jeśli nie wiesz, czy zamówienie zostało zarejestrowane w bazie, a chcesz dodać jego dane, zmień parametr „mode” na „AddOrReplace”.
Kody odpowiedzi na zapytanie metodą POST
201: Created
Żądanie zostało utworzone.
400: Bad request
Żądanie nie zostało przetworzone. Powodem jest zwykle brakujący lub nieprawidłowy parametr.
Przykładowa składnia odpowiedzi:
{
"type": "string",
"title": "string",
"status": 0,
"substatus": "CustomerInvalidModelState",
"detail": "string",
"instance": "string",
"errors": [
"string"
]
}
401: Unauthorized
W żądaniu brakowało klucza API lub prosisz o dostęp do informacji, do których nie masz uprawnień.
Przykładowa składnia odpowiedzi:
{
"type": "string",
"title": "string",
"status": 0,
"substatus": "CustomerInvalidModelState",
"detail": "string",
"instance": "string"
}
Metoda GET – pozyskiwanie informacji o zamówieniu
Metoda GET służy do pozyskiwania informacji z platformy ExpertSender o zamówieniu złożonym przez klienta. Na prawidłowe zapytanie metodą GET otrzymasz następującą odpowiedź o statusie ‘tylko do odczytu’.
Metoda GET – zapytanie
Żeby wysłać zapytanie z użyciem tej metody, potrzebujesz następujących informacji:
- Adres serwera (endpoint): https://api.ecdp.app/orders/{id}
- Parametry:
Parametr | Typ | Kategoria | Opis |
x-api-key | string | header | twój klucz API, który znajdziesz w Ustawienia > API |
id | string | path | numer ID zamówienia |
Prawidłowe zapytanie API o zamówienie o numerze ID 12 będzie wyglądało następująco: https://api.ecdp.app/orders/12
Kody odpowiedzi na zapytanie metodą GET{id}
200: Success
Zapytanie zostało przetworzone, serwer zwrócił odpowiedź.
Przykładowa składnia odpowiedzi:
{
"status": 0,
"data": {
"id": "string",
"date": "2024-07-24T10:23:15.493Z",
"timeZone": "string",
"websiteId": 0,
"status": "string",
"currency": "str",
"totalValue": 0,
"returnsValue": 0,
"customer": {
"id": 0,
"email": "string",
"phone": "string",
"crmId": "string"
},
"products": [
{
"id": "string",
"name": "string",
"price": 0,
"quantity": 2147483647,
"returned": 2147483647,
"url": "string",
"imageUrl": "string",
"category": "string",
"productAttributes": [
{
"name": "string",
"value": "string"
}
]
}
],
"orderAttributes": [
{
"name": "string",
"value": "string"
}
]
}
}
401: Unauthorized
W żądaniu brakowało klucza API lub prosisz o dostęp do informacji, do których nie masz uprawnień. Przykładowa składnia odpowiedzi:
{
"type": "string",
"title": "string",
"status": 0,
"substatus": "CustomerInvalidModelState",
"detail": "string",
"instance": "string"
}
404: Not found
Na serwerze nie ma danych, których szukasz.
Przykładowa składania odpowiedzi:
{
"type": "string",
"title": "string",
"status": 0,
"substatus": "CustomerInvalidModelState",
"detail": "string",
"instance": "string"
}
Metoda PUT – zmiana statusu zamówienia
Metoda PUT służy do zmiany statusu zamówienia zarejestrowanego w platformie ExpertSender CDP. Na prawidłowe zapytanie metodą PUT otrzymasz odpowiedź o statusie ‘tylko do odczytu’.
Metoda PUT – zapytanie
Żeby wysłać zapytanie z użyciem tej metody, musi ono zawierać:
- Adres serwera (endpoint): https://api.ecdp.app/orders/status
- Parametry:
Parametr | Typ | Kategoria | Opis |
x-api-key | string | header | klucz API, który znajdziesz w Ustawienia > API |
orderId* | string | body | Numer ID zamówienia; minimalna liczba znaków: 1 |
orderStatus* | string | body | status zamówienia; minimalna liczba znaków: 1 |
Składnia zapytania dla metody PUT
Poniżej widzisz przykładową składnię zapytania, za pomocą którego zmienisz status zamówienia.
{
"orderId": "12345",
"orderStatus": "placed"
}
Kody odpowiedzi na zapytanie metodą PUT
200: Success
Zapytanie zostało przetworzone, serwer zwrócił odpowiedź.
400: Bad request
Żądanie nie zostało przetworzone. Powodem jest zwykle brakujący lub nieprawidłowy parametr. Przykładowa składnia odpowiedzi:
{
"type": "string",
"title": "string",
"status": 0,
"substatus": "CustomerInvalidModelState",
"detail": "string",
"instance": "string",
"errors": [
"string"
]
}
401: Unauthorized
W żądaniu brakowało klucza API lub prosisz o dostęp do informacji, do których nie masz uprawnień. Przykładowa składania odpowiedzi:
{
"type": "string",
"title": "string",
"status": 0,
"substatus": "CustomerInvalidModelState",
"detail": "string",
"instance": "string"
}
Metoda DELETE – zmiana statusu zamówienia na IsDeleted
Metoda PUT służy do zmiany statusu zamówienia zarejestrowanego w platformie ExpertSender na Usunięty (IsDeleted).
Na prawidłowe zapytanie metodą PUT otrzymasz odpowiedź o statusie ‘tylko do odczytu’.
Metoda DELETE – zapytanie
Żeby wysłać zapytanie z użyciem tej metody, musi ono zawierać:
- Adres serwera (endpoint): https://api.ecdp.app/orders/{id}
- Parametry
Parametr | Typ | Kategoria | Opis |
x-api-key | string | header | twój klucz API, który znajdziesz w Ustawienia > API |
orderId | string | path | numer ID zamówienia |
Prawidłowe zapytanie API o zmianę statusu zamówienia o numerze 12 na Usunięty wygląda następująco: https://client.ecdp.app/orders/12
Kody odpowiedzi na zapytanie metodą DELETE{id}
200: Success
Zapytanie zostało przetworzone, serwer zwrócił odpowiedź.
Przykładowa składnia odpowiedzi:
Example Value
Schema
{
"status": 0,
"data": {
"id": "string",
"date": "2024-07-24T10:26:09.455Z",
"timeZone": "string",
"websiteId": 0,
"status": "string",
"currency": "str",
"totalValue": 0,
"returnsValue": 0,
"customer": {
"id": 0,
"email": "string",
"phone": "string",
"crmId": "string"
},
"products": [
{
"id": "string",
"name": "string",
"price": 0,
"quantity": 2147483647,
"returned": 2147483647,
"url": "string",
"imageUrl": "string",
"category": "string",
"productAttributes": [
{
"name": "string",
"value": "string"
}
]
}
],
"orderAttributes": [
{
"name": "string",
"value": "string"
}
]
}
}
401: Unauthorized
W żądaniu brakowało klucza API lub prosisz o dostęp do informacji, do których nie masz uprawnień. Przykładowa składnia odpowiedzi:
{
"type": "string",
"title": "string",
"status": 0,
"substatus": "CustomerInvalidModelState",
"detail": "string",
"instance": "string"
}
404: Not Found
Na serwerze nie ma danych, których szukasz.
Przykładowa składania odpowiedzi:
{
"type": "string",
"title": "string",
"status": 0,
"substatus": "CustomerInvalidModelState",
"detail": "string",
"instance": "string"
}