Przejdź do treści

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:

  1. POST – dodawanie nowego zamówienia lub aktualizacja danych o zamówieniu.
  2. GET{id} – pozyskiwanie informacji o zamówieniu.
  3. PUT – zmiana statusu zamówienia.
  4. DELETE{id} – 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:

  1. Adres serwera (endpoint): https://api.ecdp.app/orders
  2. Parametry:
ParametrTypKategoriaOpis
x-api-keystringheaderklucz API
idstringbodynumer ID zamówienia, minimalna ilość znaków: 1
datestring($date-time)bodydata złożenia zamówienia
totalValuenumber($double)bodycałkowita wartość zamówienia, minimalna ilość znaków: 0
customerbodydane klienta; obejmuje dodatkowy zestaw parametrów >>> zobacz tabele poniżej
productsbodydane 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:

ParametrTypOpis
emailstringadres e-mail klienta, który złożył zamówienie
phonestringnumer telefonu klienta, który złożył zamówienie
crmIdstringnumer ID CRM klienta, który złożył zamówienie

Dla products są to:

ParametrTypOpis
id*stringnumer ID zakupionego produktu; minimalna ilość znaków: 1
name*stringnazwa produktu; minimalna ilość znaków: 1
price*number($double)cena produktu; minimalna ilość znaków: 0
quantity*integer($int32)ilość zakupionego produktu; minimalna ilość znaków: 1, maksymalna ilość znaków: 2147483647
returnedinteger($int32)ilość zwróconych produktów; minimalna ilość znaków: 0, maksymalna ilość znaków: 2147483647
urlstringadres URL zakupionego produktu
imageUrlstringadres URL obrazka zakupionego produktu
categorystringkategoria zakupionego produktu
productAttributes Cechy produktu; obejmuje dodatkowy zestaw parametrów >>> zobacz tabelę poniżej

Dla productAttributes są to:

ParametrTypOpis
name*stringnazwa cechy produktu; minimalna ilość znaków: 1
valuestringwartość cechy produktu

Pozostałe parametry, które możesz umieścić w zapytaniu:

ParametrTypOpis
timeZonestringstrefa czasowa zamówienia
websiteIdinteger($int32)numer ID strony sklepu, w którym złożono zamówienie
currencystringwaluta, w której złożono zamówienie, minimalna ilość znaków: 3, maksymalna ilość znaków: 3
returnsValuenumber($double)wartość zwróconych produktów, minimalna ilość znaków: 0
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:

ParametrTypOpis
name*stringnazwa cechy zamówienia; minimalna ilość znaków: 1
valuestringwartość 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": "string",
      "date": "2023-07-26T07:33:13.787Z",
      "timeZone": "string",
      "websiteId": 0,
      "currency": "str",
      "totalValue": 0,
      "returnsValue": 0,
      "customer": {
        "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"
        }
      ]
    }
  ]
}

W przypadku aktualizacji danych zamówienia zmień parametr „mode” na „Replace”. 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:

żądanie nie zostało przetworzone. Powodem jest zwykle brakujący lub nieprawidłowy parametr
Składnia odpowiedzi:
{
  "type": "string",
  "title": "string",
  "status": 0,
  "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,
  "detail": "string",
  "instance": "string"
}

Metoda GET{id} – 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{id} zapytanie

Żeby wysłać zapytanie z użyciem tej metody, potrzebujesz następujących informacji:

  1. Adres serwera (endpoint): https://api.ecdp.app/orders/{id}
  2. Parametry:
ParametrTypKategoriaOpis
x-api-keystringheadertwój klucz API, który znajdziesz w Ustawienia > API
idstringpathnumer ID zamówienia

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": "2023-07-26T08:03:15.291Z",
    "timeZone": "string",
    "websiteId": 0,
    "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,
  "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,
  "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ć:

  1. Adres serwera (endpoint): https://api.ecdp.app/orders
  2. Parametry:
ParametrTypKategoriaOpis
x-api-keystringheaderklucz API, który znajdziesz w Ustawienia > API
orderId*stringbodyNumer ID zamówienia; minimalna ilość znaków: 1
orderStatus*stringbodystatus zamówienia; minimalna ilość 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": "string",
  "orderStatus": "string"
}

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{id} – 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{id} – zapytanie

Żeby wysłać zapytanie z użyciem tej metody, musi ono zawierać:

  1. Adres serwera (endpoint): https://api.ecdp.app/orders
  2. Parametry
ParametrTypKategoriaOpis
x-api-keystringheadertwój klucz API, który znajdziesz w Ustawienia > API
orderIdstringpathnumer 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:

{
  "status": 0,
  "data": {
    "id": "string",
    "date": "2023-07-26T08:32:22.590Z",
    "timeZone": "string",
    "websiteId": 0,
    "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,
  "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,
  "detail": "string",
  "instance": "string"
}
Na tej stronie
Do góry