Przejdź do treści

Raporty – atrybucja zamówień

Ta metoda zwraca listę zamówień, które ECDP przypisał do konkretnych wiadomości marketingowych w wybranym zakresie dat.

Każdy rekord (zestaw danych) zawiera informacje o zamówieniu, kliencie, kanale i wiadomości, które doprowadziły do konwersji, oraz wartość zamówienia zarówno w oryginalnej walucie, jak i w walucie raportowania jednostki biznesowej. Użyj tej metody, aby weryfikować poprawność atrybucji, uzgadniać przychody i analizować skuteczność kampanii w kanałach e-mail, SMS i web push.

Endpoint

Adres serwera dla tego zapytania to https://api.ecdp.app/reports/attribution/orders

Parametry zapytania

ParametrLokalizacjaTypWymaganyOpisDozwolone wartości / uwagi
x-api-keynagłówekstringtakKlucz API do uwierzytelnieniaDostępny w Ustawienia > API
startDatequerystringtakPoczątek okna raportowania atrybucjiFormat: YYYY-MM-DD. Musi być prawidłową datą
endDatequerystringtakKoniec okna raportowania atrybucjiFormat: YYYY-MM-DD. Musi być prawidłową datą. endDate musi być późniejszy niż startDate
websiteIdqueryintegernieOgranicz wyniki do jednej stronyDodatnia liczba całkowita
channelqueryenumnieOgranicz wyniki do jednego kanałuEmail, Sms, WebPush. Wymagany, gdy podano messageId
messageTypequeryenumnieOgranicz wyniki do jednego typu wiadomościNewsletter, Scenario, Confirmation. Confirmation dostępny wyłącznie dla kanału Email
messageIdqueryintegernieOgranicz wyniki do zamówień przypisanych do konkretnej wiadomościDodatnia liczba całkowita. Wymaga podania parametru channel
includeDetailsquerybooleannieUwzględnij pozycje produktów dla każdego zamówieniatrue lub false. Domyślnie: false

Odpowiedź

Odpowiedź zawiera tablicę data. Każdy element reprezentuje jedno przypisane zamówienie.

Report data

PoleTypOpis
orderIdstringUnikalny identyfikator zamówienia
orderDateTimestringData i godzina złożenia zamówienia w formacie ISO-8601 UTC
websiteIdintegerStrona, z której pochodzi zamówienie
channelstringKanał, który doprowadził do atrybucji: Email, Sms, PopUp, WebPush, Banner, Mobile
messageTypestringTyp wiadomości: Newsletter, Scenario lub Confirmation
messageIdintegerIdentyfikator przypisanej wiadomości
customerDane klienta. Zobacz tabelę Customer data

Customer data

Obiekt customer zawiera następujące pola.

PoleTypOpis
idintegerWewnętrzny identyfikator klienta w ECDP
emailstringAdres e-mail klienta
phonestringNumer telefonu klienta
crmIdstringIdentyfikator klienta w systemie CRM

Wartość i podsumowanie zamówienia#

PoleTypOpis
orderValueConvertednumberWartość zamówienia przeliczona na walutę raportowania jednostki biznesowej
originalTotalValuenumberWartość zamówienia w oryginalnej walucie transakcji
originalCurrencystringKod waluty oryginalnej transakcji zgodny ze standardem ISO 4217
productsCountintegerLiczba odrębnych pozycji produktów w zamówieniu

Order attributes

orderAttributes to tablica par { name, value } zawierająca niestandardowe cechy zamówienia (np. kody kuponów lub metody wysyłki). Pole jest pomijane, gdy żadne cechy nie są zdefiniowane.

Order details

Gdy includeDetails=true, każde zamówienie zawiera tablicę orderDetails z pozycjami produktów.

PoleTypOpis
idstringIdentyfikator produktu zgodny ze źródłem e-commerce
namestringNazwa produktu
pricenumberCena jednostkowa w oryginalnej walucie transakcji
quantitynumberZakupiona ilość
returnednumberZwrócona ilość. Pomijane, jeśli nie dotyczy
categorystringKategoria produktu. Pomijane, jeśli nie ustawiono
productAttributesarrayTablica par { name, value } z niestandardowymi cechami produktu. Pomijane, jeśli brak
recommendationAttributionobjectObecne, gdy produkt został dodany za pośrednictwem rekomendacji ECDP. Zobacz strukturę poniżej

Recommendation attribution – atrybucja rekomendacji

PoleTypOpis
scopestringZakres atrybucji: Channel lub Onsite
typestringEtykieta typu rekomendatora
idintegerIdentyfikator rekomendatora (np. ID banera)
channelstringPowierzchnia rekomendacji: Banner, Email lub PopUp

Kody odpowiedzi

KodStatusOpis
200OKŻądanie zostało przetworzone pomyślnie. Odpowiedź zawiera listę przypisanych zamówień
204Brak treściŻądanie jest prawidłowe, ale żadne zamówienia nie spełniają podanych kryteriów
400Błędne żądanieNieprawidłowe lub brakujące parametry
401Brak autoryzacjiKlucz API jest brakujący, nieprawidłowy lub wygasł
403Brak dostępuKlucz API nie ma uprawnień do tego zasobu
500Wewnętrzny błąd serweraBłąd po stronie serwera. Ponów żądanie lub skontaktuj się z pomocą techniczną, jeśli problem się utrzymuje

Przykładowe zapytania i odpowiedzi

Raport zbiorczy dla konkretnej strony i kanału komunikacji

GET /reports/attribution/orders?startDate=2025-03-01&endDate=2025-03-07&websiteId=21&channel=Email

Odpowiedź (200 OK):

{
  "data": [
    {
      "orderId": "100042",
      "orderDateTime": "2025-03-03T11:24:15Z",
      "websiteId": 21,
      "channel": "Email",
      "messageType": "Newsletter",
      "messageId": 12045,
      "customer": { "id": 981245, "email": "anna@poczta.pl", "phone": "", "crmId": "778" },
      "orderValueConverted": 249.99,
      "originalTotalValue": 249.99,
      "originalCurrency": "PLN",
      "productsCount": 3
    },
    {
      "orderId": "100057",
      "orderDateTime": "2025-03-05T19:02:41Z",
      "websiteId": 21,
      "channel": "Email",
      "messageType": "Scenario",
      "messageId": 11880,
      "customer": { "id": 771100, "email": "jan@poczta.pl", "phone": "", "crmId": "101" },
      "orderValueConverted": 89.99,
      "originalTotalValue": 89.99,
      "originalCurrency": "PLN",
      "productsCount": 1
    }
  ]
}

Raport filtrowany według wiadomości, z pozycjami produktów

GET /reports/attribution/orders?startDate=2025-03-15&endDate=2025-03-15&channel=WebPush&messageType=Newsletter&messageId=9021&websiteId=21&includeDetails=true

Odpowiedź (200 OK):

{
  "data": [
    {
      "orderId": "100042",
      "orderDateTime": "2025-03-15T09:41:06Z",
      "websiteId": 21,
      "channel": "WebPush",
      "messageType": "Newsletter",
      "messageId": 9021,
      "customer": { "id": 332100, "email": "", "phone": "", "crmId": "551" },
      "orderValueConverted": 142.70,
      "originalTotalValue": 142.70,
      "originalCurrency": "PLN",
      "productsCount": 2,
      "orderAttributes": [
        { "name": "kupon", "value": "LATO10" }
      ],
      "orderDetails": [
        {
          "id": "SKU-101",
          "name": "Torba shopperka",
          "price": 39.90,
          "quantity": 1,
          "category": "Torby",
          "productAttributes": [{ "name": "color", "value": "naturalny" }]
        },
        {
          "id": "SKU-225",
          "name": "Butelka na wodę",
          "price": 102.80,
          "quantity": 1,
          "returned": 1,
          "category": "Akcesoria",
          "recommendationAttribution": {
            "scope": "Onsite",
            "type": "Bestsellery",
            "id": 12,
            "channel": "Banner"
          }
        }
      ]
    }
  ]
}

Reguły walidacji i zachowania#

  • startDate i endDate są wymagane. startDate musi być wcześniejszy lub równy endDate.
  • channel jest wymagany, gdy podano messageId.
  • Wartość Confirmation parametru messageType jest prawidłowa wyłącznie gdy channel=Email.
  • Każdy parametr filtra przyjmuje dokładnie jedną wartość. Powtórzenie tego samego parametru lub podanie pustej wartości zwraca błąd ‘400 Bad Request’.
  • includeDetails przyjmuje wyłącznie wartości true lub false. Każda inna wartość zwraca błąd ‘400 Bad Request’.
  • Gdy żadne zamówienia nie spełniają kryteriów zapytania, endpoint zwraca ‘204 No Content’.

Dokumentacja referencyjna#

Swagger — Raport atrybucji zamówień

https://api.ecdp.app/swagger/index.html