Przejdź do treści

Raporty – E-mail – raport pojedynczej wiadomości

Ta metoda zwraca metryki dostarczalności i zaangażowania dla pojedynczej wysłanej wiadomości e-mail. Dzięki niej możesz sprawdzić najważniejsze wyniki, takie jak liczba dostarczonych wiadomości, otwarcia i kliknięcia, razem z ich wartościami procentowymi.

Statystyki są dostępne dla całej wiadomości, ale możesz też zobaczyć je w podziale na domenę odbiorcy, rodzinę domen lub adres IP, z którego została wysłana wiadomość. W razie potrzeby metoda zwraca również podstawowe informacje o wiadomości, takie jak temat, parametry UTM czy data wysyłki.

Endpoint

GET /reports/email/singleMessage/{id}

Host: https://api.ecdp.app

Parametry zapytania

ParametrTypWymaganyOpisDozwolone wartości / Uwagi
x-api-keystringtakKlucz API do uwierzytelnianiaKlucz API do uwierzytelniania
idintegertakIdentyfikator wiadomości w ECDPParametr ścieżki. Nie może być pusty.
startDatestringwarunkowyPoczątek zakresu dat raportuYYYY-MM-DD. Wymagany dla Scenario i Confirmation. Niedozwolony dla Newsletter.
endDatestringwarunkowyKoniec zakresu dat raportuYYYY-MM-DD. Wymagany dla Scenario i Confirmation. Niedozwolony dla Newsletter. endDate musi być późniejszy niż startDate.
groupingenumniePoziom agregacji danych w odpowiedziMessage (domyślnie), Domain, DomainFamily, IP
domainstringnieFiltruje wyniki do określonej domeny odbiorcyPojedyncza wartość, np. gmail.com. Nie można łączyć z innymi filtrami.
domainFamilystringnieFiltruje wyniki do rodziny domenPojedyncza wartość, np. gmail. Nie można łączyć z innymi filtrami.
ipstringnieFiltruje wyniki do określonego IP nadawcy lub jego typuPojedyncza wartość: Premium, Shared lub konkretny adres IP, np. 1.2.3.4. Nie można łączyć z innymi filtrami.
includeDetailsbooleannieCzy uwzględnić metadane wiadomości w odpowiedzitrue lub false (domyślnie: false). Akceptuje też 1 lub 0.

Filtry

W jednym zapytaniu dozwolony jest tylko jeden typ filtra, a każdy filtr przyjmuje dokładnie jedną wartość. Podanie kilku filtrów lub kilku wartości zwraca błąd 400 Bad Request.

FiltrTypOpis
domainstringUwzględnia tylko zdarzenia dla podanej domeny odbiorcy, np. gmail.com.
domainFamilystringUwzględnia tylko zdarzenia dla podanej rodziny domen, np. gmail.
ipstringUwzględnia tylko zdarzenia wysłane z podanego adresu IP lub typu IP: Premium, Shared lub konkretny adres.

Opcje grupowania

W jednym zapytaniu dozwolona jest dokładnie jedna wartość grupowania. Grupowanie określa, która kolumna pojawi się w każdym wierszu tablicy data[].

Domyślnie: grouping=Message

Wartość grupowaniaKolumna grupowania w odpowiedzi
MessagemessageId, messageSubject
Domaindomain
DomainFamilydomainFamily
IPip

Odpowiedź

Email report data

Każdy obiekt w tablicy data zawiera dokładnie jedną kolumnę grupowania (określoną przez parametr grouping), po której następują pola KPI opisane poniżej.

PoleTypOpis
messageIdstringObecne gdy grouping=Message.
messageSubjectstringTemat wiadomości. Obecne gdy grouping=Message.
domainstringObecne gdy grouping=Domain.
domainFamilystringObecne gdy grouping=DomainFamily.
ipstringObecne gdy grouping=IP.
bouncedintegerLiczba odbitych wiadomości.
bouncedPercentnumberUdział odbitych wiadomości w łącznej liczbie wysłanych.
deliveredintegerLiczba skutecznie dostarczonych wiadomości.
deliveredPercentnumberUdział dostarczonych wiadomości w łącznej liczbie wysłanych.
opensintegerŁączna liczba otwarć (wliczając wielokrotne otwarcia).
opensPercentnumberUdział otwarć w liczbie dostarczonych wiadomości.
uniqueOpensintegerLiczba odbiorców, którzy otworzyli wiadomość co najmniej raz.
clicksintegerŁączna liczba kliknięć w linki.
clicksPercentnumberUdział kliknięć w liczbie dostarczonych wiadomości.
uniqueClicksintegerLiczba odbiorców, którzy kliknęli co najmniej raz.
clicksToOpensPercentnumberUdział kliknięć w liczbie otwarć.
unsubscribesintegerLiczba wypisań.
complaintsintegerLiczba zgłoszeń spamu.
revenuenumberPrzychód przypisany do tej wiadomości.
currencystringKod waluty dla wartości przychodu (ISO 4217).

Message details

Obecne tylko gdy includeDetails=true.

PoleTypOpis
messageIdstringIdentyfikator wiadomości.
typestringTyp wiadomości: Newsletter, Scenario lub Confirmation.
subjectstringTemat wiadomości e-mail.
utms[]arrayTablica obiektów parametrów UTM, każdy z polami name i value.
sentDatestring (ISO-8601 UTC)Data i godzina wysłania wiadomości. Obecne tylko dla wiadomości typu Newsletter.

Przykładowe zapytania i odpowiedzi

Newsletter z domyślnym grupowaniem i szczegółami wiadomości

GET /reports/email/singleMessage/12345?includeDetails=true

Odpowiedź: OK 200

{
  "messageDetails": {
    "messageId": "12345",
    "type": "Newsletter",
    "subject": "Wiosenna promocja",
    "utms": [
      { "name": "utm_source", "value": "newsletter" },
      { "name": "utm_campaign", "value": "marzec" }
    ],
    "sentDate": "2025-02-14T10:05:00Z"
  },
  "data": [
    {
      "messageId": "12345",
      "messageSubject": "Wiosenna promocja",
      "bounced": 20,
      "bouncedPercent": 0.002,
      "delivered": 9980,
      "deliveredPercent": 0.998,
      "opens": 5400,
      "opensPercent": 0.541,
      "uniqueOpens": 4200,
      "clicks": 1200,
      "clicksPercent": 0.120,
      "uniqueClicks": 950,
      "clicksToOpensPercent": 0.222,
      "unsubscribes": 10,
      "complaints": 3,
      "revenue": 3500.45,
      "currency": "PLN"
    }
  ]
}

Wiadomość e-mail użyta w scenariuszu, zgrupowana według domeny, z filtrem do gmail.com

GET /reports/email/singleMessage/123?startDate=2025-03-01&endDate=2025-03-07&grouping=Domain&domain=gmail.com

Odpowiedź: OK 200

{
  "data": [
    {
      "domain": "gmail.com",
      "bounced": 5,
      "bouncedPercent": 0.001,
      "delivered": 4995,
      "deliveredPercent": 0.999,
      "opens": 3200,
      "opensPercent": 0.640,
      "uniqueOpens": 2500,
      "clicks": 650,
      "clicksPercent": 0.130,
      "uniqueClicks": 500,
      "clicksToOpensPercent": 0.203,
      "unsubscribes": 4,
      "complaints": 1,
      "revenue": 1780.25,
      "currency": "PLN"
    }
  ]
}

Kody odpowiedzi#

KodStatusOpis
200OKZapytanie przetworzone pomyślnie. Odpowiedź zawiera statystyki wiadomości.
204No contentZapytanie jest prawidłowe, ale dla podanych parametrów nie ma dostępnych danych.
400Bad requestNieprawidłowe lub brakujące parametry. Sprawdź ograniczenia filtrów i grupowania, reguły zakresu dat oraz pola wymagane.
401UnauthorizedKlucz API jest brakujący, nieprawidłowy lub wygasły. Zweryfikuj klucz w Ustawienia > API.
403ForbiddenKlucz API nie ma uprawnień dostępu do tego zasobu.
500Internal server errorBłąd po stronie serwera. Ponów żądanie lub skontaktuj się z pomocą techniczną, jeśli problem się powtarza.

Reguły walidacji i działania#

  • Dla wiadomości Newsletter: parametry startDate i endDate są niedozwolone. Ich podanie zwraca błąd 400 Bad Request.
  • Dla wiadomości Scenario i Confirmation: oba parametry startDate i endDate są wymagane. Pominięcie któregokolwiek z nich zwraca błąd 400 Bad Request.
  • W jednym żądaniu dozwolona jest dokładnie jedna wartość grupowania. Podanie kilku wartości zwraca błąd 400 Bad Request.
  • W jednym żądaniu dozwolony jest dokładnie jeden typ filtra z dokładnie jedną wartością. Podanie kilku filtrów lub kilku wartości zwraca błąd 400 Bad Request.

Dokumentacja referencyjna

Swagger — Reports email

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