Raporty – E-mail – raport zbiorczy
Ta metoda zwraca podsumowanie najważniejszych statystyk dla całego kanału e-mail w wybranym przedziale czasu.
Endpoint
GET reports/email/channelSummary
Host: https://api.ecdp.app
Parametry zapytania
| Parametr | Lokalizacja | Typ | Wymagany | Opis | Dozwolone wartości / uwagi |
| x-api-key | header | string | tak | Klucz API do uwierzytelnienia | Dostępny w Ustawienia > API |
| startDate | query | string | tak | Data początkowa raportu | Format: YYYY-MM-DD |
| endDate | query | string | tak | Data końcowa raportu | Format: YYYY-MM-DD. |
| grouping | query | string | nie | Sposób agregacji zwracanych danych | Jedna z wartości: Date (domyślna), Month, Message, Domain, DomainFamily, IP, MessageType |
| domain | query | string | nie | Filtruje według domeny e-mail odbiorcy (np. gmail.com) | Pojedyncza wartość |
| domainFamily | query | string | nie | Filtruje według rodziny domen (np. Google, Microsoft) | Pojedyncza wartość |
| messageType | query | string | nie | Filtruje według typu wiadomości | Pojedyncza wartość |
Filtry
Dodatkowy parametr. Który służy do zawężenia wyników. W jednym zapytniu można zastosować tylko jeden filtr. Każdy filtr przyjmuje dokładnie jedną wartość. Podanie wielu filtrów lub wielu wartości zwraca błąd 400 Bad Request.
| Filtr | Typ | Opis |
| domain | string | Zawęża wyniki do wskazanej domeny e-mail odbiorcy (np. gmail.com) |
| domainFamily | string | Zawęża wyniki do wskazanej rodziny domen (np. Google, Microsoft) |
| messageType | string | Zawęża wyniki do wskazanego typu wiadomości |
Opcje grupowania
W jednym zapytaniu dozwolona jest dokładnie jedna wartość grupowania. Domyślne grupowanie: Date. Podanie wielu wartości grupowania zwraca błąd 400 Bad Request.
| Wartość grupowania | Kolumna grupowania w odpowiedzi |
| Date (domyślna) | date |
| Month | month |
| Message | message |
| Domain | domain |
| DomainFamily | domainFamily |
| IP | ip |
| MessageType | messageType |
Odpowiedź
Każdy obiekt zawiera następujące pola:
| Pole | Typ | Opis |
| date | string | Data kalendarzowa dla danego wiersza (YYYY-MM-DD). Obecne gdy grouping=Date. |
| domain | string | Domena e-mail odbiorcy. Obecne gdy grouping=Domain. |
| sent | integer | Łączna liczba wysłanych wiadomości e-mail. |
| bounced | integer | Liczba wiadomości, które nie zostały dostarczone. |
| bouncedPercent | number | Współczynnik odrzuceń jako procent wysłanych. |
| delivered | integer | Liczba skutecznie dostarczonych wiadomości. |
| deliveredPercent | number | Współczynnik dostarczalności jako procent wysłanych. |
| opens | integer | Łączna liczba otwarć wiadomości (wliczając wielokrotne otwarcia przez tego samego odbiorcę). |
| opensPercent | number | Współczynnik otwarć jako procent dostarczonych. |
| uniqueOpens | integer | Liczba unikalnych odbiorców, którzy otworzyli wiadomość co najmniej raz. |
| clicks | integer | Łączna liczba kliknięć w linki (wliczając wielokrotne kliknięcia przez tego samego odbiorcę). |
| clicksPercent | number | Współczynnik kliknięć jako procent dostarczonych. |
| uniqueClicks | integer | Liczba unikalnych odbiorców, którzy kliknęli co najmniej jeden link. |
| clicksToOpensPercent | number | Współczynnik kliknięć do otwarć (CTOR). |
| unsubscribes | integer | Liczba odbiorców, którzy wypisali się z listy za pośrednictwem np. linku wypisania. |
| complaints | integer | Liczba otrzymanych zgłoszeń spamu. |
| revenue | number | Łączny przychód przypisany do wiadomości e-mail w danym okresie. |
| currency | string | Kod waluty. |
Przykładowe zapytania i odpowiedzi
Dzienny raport zbiorczy
GET /reports/email/channelSummary?startDate=2025-09-01&endDate=2025-09-07
Odpowiedź: 200 OK
{
"data": [
{
"date": "2025-09-01",
"sent": 52000,
"bounced": 520,
"bouncedPercent": 1.0,
"delivered": 51480,
"deliveredPercent": 99.0,
"opens": 90500,
"opensPercent": 175.8,
"uniqueOpens": 23800,
"clicks": 20592,
"clicksPercent": 40.0,
"uniqueClicks": 9800,
"clicksToOpensPercent": 41.2,
"unsubscribes": 62,
"complaints": 9,
"revenue": 6840.25,
"currency": "PLN"
},
{
"date": "2025-09-02",
"sent": 48000,
"bounced": 480,
"bouncedPercent": 1.0,
"delivered": 47520,
"deliveredPercent": 99.0,
"opens": 86000,
"opensPercent": 181.0,
"uniqueOpens": 21050,
"clicks": 16632,
"clicksPercent": 35.0,
"uniqueClicks": 8200,
"clicksToOpensPercent": 39.0,
"unsubscribes": 55,
"complaints": 8,
"revenue": 5720.00,
"currency": "PLN"
}
]
}Raport zbiorczy pogrupowany według domen z filtrem
GET /reports/email/channelSummary?startDate=2025-09-01&endDate=2025-09-30&grouping=Domain&domain=gmail.com&messageType=Newsletter&ip=192.0.2.15
Odpowiedź: 200 OK
{
"data": [
{
"domain": "gmail.com",
"sent": 90000,
"bounced": 720,
"bouncedPercent": 0.8,
"delivered": 89280,
"deliveredPercent": 99.2,
"opens": 178560,
"opensPercent": 200.0,
"uniqueOpens": 40200,
"clicks": 31248,
"clicksPercent": 35.0,
"uniqueClicks": 15100,
"clicksToOpensPercent": 37.6,
"unsubscribes": 120,
"complaints": 18,
"revenue": 12900.50,
"currency": "PLN"
}
]
}Kody odpowiedzi#
| Kod | Status | Opis |
| 200 | OK | Zapytanie zakończone sukcesem. Dane zwrócone w treści odpowiedzi. |
| 204 | No Content | Zapytanie prawidłowe, ale żadne dane nie spełniają podanych kryteriów. |
| 400 | Bad Request | Nieprawidłowe parametry, brakujące wymagane pola, wiele filtrów lub nieprawidłowy zakres dat. |
| 401 | Unauthorized | Brakujący lub nieprawidłowy klucz API. |
| 403 | Forbidden | Niewystarczające uprawnienia do wykonania tej operacji. |
| 500 | Internal Server Error | Błąd po stronie serwera. Ponów żądanie z wykładniczym opóźnieniem (exponential backoff). |
Reguły walidacji i zachowania#
- W jednym żądaniu dozwolone jest tylko jedno grupowanie. Podanie wielu grupowań zwraca błąd 400 Bad Request.
- W jednym zapytaniu dozwolony jest tylko jeden typ filtra z jedną wartością. Łączenie wielu filtrów (np. domain i domainFamily) lub podanie wielu wartości zwraca błąd 400 Bad Request.
- Pusty zestaw wyników (prawidłowe żądanie bez pasujących danych) zwraca 200 OK z pustą tablicą data lub 204 No Content.
Dokumentacja referencyjna#
Swagger — Raporty e-mail