Raporty – SMS – raport zbiorczy
Ta metoda zwraca podsumowanie skuteczności kanału SMS dla wybranego okresu. Możesz jej użyć, żeby sprawdzić, jak działają Twoje wiadomości SMS, na przykład:
- porównać dzienne współczynniki odrzuceń,
- śledzić trendy kliknięć dla różnych nadawców,
- sprawdzić, ile przychodów generują Twoje kampanie newsletterowe.
Endpoint
GET /reports/sms/channelSummary
Host: https://api.ecdp.app
Parametry zapytania
| Parametr | Typ | Wymagany | Opis | Dozwolone wartości / uwagi |
| x-api-key | string | Tak | Klucz API do uwierzytelnienia | Dostępny w Ustawienia > API |
| startDate | string | Tak | Początek okresu raportowania (włącznie) | Format: YYYY-MM-DD |
| endDate | string | Tak | Koniec okresu raportowania (włącznie) | Format: YYYY-MM-DD. Musi być późniejszy niż startDate |
| grouping | enum | Nie | Poziom agregacji wyników. Domyślnie: Date | Jedna z wartości: Date, Month, Gateway, Sender, Message, MessageType |
| gateway | string | Nie | Filtr: uwzględnia tylko zdarzenia wysłane przez wskazaną bramkę | Pojedyncza wartość. Nie można łączyć z innymi filtrami |
| sender | string | Nie | Filtr: uwzględnia tylko zdarzenia wysłane przez wskazanego nadawcę | Pojedyncza wartość. Nie można łączyć z innymi filtrami |
| messageType | string | Nie | Filtr: uwzględnia tylko zdarzenia dla wskazanego typu wiadomości | Newsletter, Scenario. Pojedyncza wartość |
Filtry
Filtry pozwalają zawęzić wyniki do wybranego podzbioru ruchu SMS. Obowiązują następujące zasady:
- W jednym żądaniu można użyć tylko jednego typu filtru.
- Każdy filtr przyjmuje dokładnie jedną wartość.
- Podanie wielu filtrów lub wielu wartości zwraca błąd 400 Bad Request.
- Filtry działają jako warunek AND w połączeniu z zakresem dat.
| Filtr | Typ | Opis |
| gateway | string | Ogranicza wyniki do wskazanej bramki (wartość alfanumeryczna lub numeryczna) |
| sender | string | Ogranicza wyniki do wskazanego nadawcy (wartość alfanumeryczna lub numeryczna) |
| messageType | string | Ogranicza wyniki do jednego typu wiadomości SMS: Newsletter lub Scenario |
Opcje grupowania#
W jednym żądaniu można podać dokładnie jedną wartość grupowania. Domyślnie: grouping=Date. Podanie wielu wartości grupowania zwraca błąd 400 Bad Request.
| Wartość grupowania | Kolumna grupowania w odpowiedzi |
| Date | date (YYYY-MM-DD) |
| Month | month (YYYY-MM) |
| Gateway | gateway |
| Sender | sender |
| Message | messageId, messageName |
| MessageType | messageType |
Odpowiedź
Każdy obiekt zawiera dokładnie jedną kolumnę grupowania (zgodnie z wybranym parametrem grouping) oraz poniższe wskaźniki KPI.
| Pole | Typ | Opis |
| sent | integer | Łączna liczba wysłanych wiadomości SMS |
| bounced | integer | Liczba wiadomości, których dostarczenie się nie powiodło |
| bouncedPercent | number | Odsetek odrzuconych względem wysłanych. |
| delivered | integer | Liczba skutecznie dostarczonych wiadomości |
| deliveredPercent | number | Odsetek dostarczonych względem wysłanych. |
| clicks | integer | Łączna liczba kliknięć w linki |
| clicksPercent | number | Odsetek kliknięć względem dostarczonych. |
| clickers | integer | Liczba unikalnych odbiorców, którzy kliknęli co najmniej jeden link |
| unsubscribes | integer | Liczba odbiorców, którzy zrezygnowali z subskrypcji |
| revenue | number | Przychód przypisany do tego ruchu SMS, w domyślnej walucie jednostki biznesowej |
Przykładowe zapytania i odpowiedzi
Domyślne grupowanie według daty
GET /reports/sms/channelSummary?startDate=2025-09-01&endDate=2025-09-02
Odpowiedź: OK 200
{
"data": [
{
"date": "2025-09-01",
"sent": 18000,
"bounced": 90,
"bouncedPercent": 0.50,
"delivered": 17850,
"deliveredPercent": 99.17,
"clicks": 820,
"clicksPercent": 4.59,
"clickers": 610,
"unsubscribes": 22,
"revenue": 2100.00
},
{
"date": "2025-09-02",
"sent": 16500,
"bounced": 75,
"bouncedPercent": 0.45,
"delivered": 16425,
"deliveredPercent": 99.55,
"clicks": 760,
"clicksPercent": 4.63,
"clickers": 565,
"unsubscribes": 18,
"revenue": 1895.50
}
]
}
Grupowanie według nadawcy, z filtrem według typu wiadomości
GET /reports/sms/channelSummary?startDate=2025-09-01&endDate=2025-09-30&grouping=Sender&messageType=Newsletter
Odpowiedź: OK 200
{
"data": [
{
"sender": "SHOP24",
"sent": 92000,
"bounced": 540,
"bouncedPercent": 0.59,
"delivered": 91460,
"deliveredPercent": 99.41,
"clicks": 4120,
"clicksPercent": 4.50,
"clickers": 3010,
"unsubscribes": 190,
"revenue": 10450.00
}
]
}Kody odpowiedzi
| Kod | Status | Opis |
| 200 | Sukces | Żądanie zostało przetworzone pomyślnie. Odpowiedź zawiera zagregowane dane SMS. |
| 204 | Brak treści | Żądanie było poprawne, ale żadne dane nie spełniają podanych kryteriów. |
| 400 | Błędne żądanie | Nieprawidłowe lub brakujące parametry — na przykład startDate > endDate, wiele filtrów lub nieobsługiwana wartość grupowania. |
| 401 | Brak autoryzacji | Klucz API jest nieprawidłowy, brakuje go lub wygasł. Sprawdź swój klucz w Ustawienia > API. |
| 403 | Brak dostępu | Klucz API nie ma uprawnień do tego zasobu. |
| 500 | Błąd serwera | Błąd po stronie serwera. Ponów żądanie lub skontaktuj się z pomocą techniczną, jeśli problem się powtarza. |
Reguły walidacji i działania
- startDate musi być wcześniejszy lub równy endDate. Odwrócone daty zwracają błąd 400 Bad Request.
- W jednym żądaniu dozwolona jest tylko jedna wartość grupowania. Podanie wielu grupowań zwraca błąd 400 Bad Request.
- W jednym żądaniu dozwolony jest tylko jeden typ filtru. Każdy filtr przyjmuje dokładnie jedną wartość. Podanie wielu filtrów lub wielu wartości zwraca błąd 400 Bad Request.
- Nieobsługiwane lub nierozpoznane wartości parametrów zwracają błąd 400 Bad Request.