Przejdź do treści

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

ParametrLokalizacjaTypWymaganyOpisDozwolone wartości / uwagi
x-api-keyheaderstringtakKlucz API do uwierzytelnieniaDostępny w Ustawienia > API
startDatequerystringtakData początkowa raportuFormat: YYYY-MM-DD
endDatequerystringtakData końcowa raportuFormat: YYYY-MM-DD.
groupingquerystringnieSposób agregacji zwracanych danychJedna z wartości: Date (domyślna), Month, Message, Domain, DomainFamily, IP, MessageType
domainquerystringnieFiltruje według domeny e-mail odbiorcy (np. gmail.com)Pojedyncza wartość
domainFamilyquerystringnieFiltruje według rodziny domen (np. Google, Microsoft)Pojedyncza wartość
messageTypequerystringnieFiltruje według typu wiadomościPojedyncza 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.

FiltrTypOpis
domainstringZawęża wyniki do wskazanej domeny e-mail odbiorcy (np. gmail.com)
domainFamilystringZawęża wyniki do wskazanej rodziny domen (np. Google, Microsoft)
messageTypestringZawęż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ść grupowaniaKolumna grupowania w odpowiedzi
Date (domyślna)date
Monthmonth
Messagemessage
Domaindomain
DomainFamilydomainFamily
IPip
MessageTypemessageType

Odpowiedź

Każdy obiekt zawiera następujące pola:

PoleTypOpis
datestringData kalendarzowa dla danego wiersza (YYYY-MM-DD). Obecne gdy grouping=Date.
domainstringDomena e-mail odbiorcy. Obecne gdy grouping=Domain.
sentintegerŁączna liczba wysłanych wiadomości e-mail.
bouncedintegerLiczba wiadomości, które nie zostały dostarczone.
bouncedPercentnumberWspółczynnik odrzuceń jako procent wysłanych.
deliveredintegerLiczba skutecznie dostarczonych wiadomości.
deliveredPercentnumberWspółczynnik dostarczalności jako procent wysłanych.
opensintegerŁączna liczba otwarć wiadomości (wliczając wielokrotne otwarcia przez tego samego odbiorcę).
opensPercentnumberWspółczynnik otwarć jako procent dostarczonych.
uniqueOpensintegerLiczba unikalnych odbiorców, którzy otworzyli wiadomość co najmniej raz.
clicksintegerŁączna liczba kliknięć w linki (wliczając wielokrotne kliknięcia przez tego samego odbiorcę).
clicksPercentnumberWspółczynnik kliknięć jako procent dostarczonych.
uniqueClicksintegerLiczba unikalnych odbiorców, którzy kliknęli co najmniej jeden link.
clicksToOpensPercentnumberWspółczynnik kliknięć do otwarć (CTOR).
unsubscribesintegerLiczba odbiorców, którzy wypisali się z listy za pośrednictwem np. linku wypisania.
complaintsintegerLiczba otrzymanych zgłoszeń spamu.
revenuenumberŁączny przychód przypisany do wiadomości e-mail w danym okresie.
currencystringKod 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#

KodStatusOpis
200OKZapytanie zakończone sukcesem. Dane zwrócone w treści odpowiedzi.
204No ContentZapytanie prawidłowe, ale żadne dane nie spełniają podanych kryteriów.
400Bad RequestNieprawidłowe parametry, brakujące wymagane pola, wiele filtrów lub nieprawidłowy zakres dat.
401UnauthorizedBrakujący lub nieprawidłowy klucz API.
403ForbiddenNiewystarczające uprawnienia do wykonania tej operacji.
500Internal Server ErrorBłą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

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