Przejdź do treści

Raporty – SMS – raport pojedynczej wiadomości

Ta metoda zwraca statystyki dostarczalności i zaangażowania dla pojedynczej wiadomości SMS typu newsletter lub scenariusz. Użyj go, aby pobrać takie dane jak liczba wysłanych wiadomości, współczynnik dostarczalności, kliknięcia i przychód dla konkretnej wiadomości.

Endpoint

GET reports/sms/singleMessage/{id}

Host: https://api.ecdp.app

Parametry zapytania

ParametrLokalizacjaTypWymaganyOpisDozwolone wartości / Uwagi
x-api-keyheaderstringtakLlucz API do uwierzytelnieniaDostępny w Ustawienia > API
idpathintegertakIdentyfikator wiadomości SMS w ECDPNie może być pusty.
includeDetailsqueryintegernieOkreśla, czy odpowiedź ma zawierać szczegóły wiadomości0 (domyślnie) lub 1
startDatequerystringwarunkowyPoczątek zakresu dat raportuFormat: YYYY-MM-DD. Wymagany dla wiadomości typu Scenariusz. Niedozwolony dla wiadomości typu Newsletter.
endDatequerystringwarunkowyKoniec zakresu dat raportuFormat: YYYY-MM-DD. Wymagany dla wiadomości typu Scenariusz. Niedozwolony dla wiadomości typu Newsletter. startDate ≤ endDate.
senderquerystringnieZawęża wyniki do konkretnego nadawcyDozwolony tylko jeden typ filtra na żądanie. Podanie wielu filtrów lub wielu wartości zwraca błąd 400 Bad Request.
groupingquerystringniePoziom agregacji danych w odpowiedziMessage (domyślnie), Sender. Dozwolona tylko jedna wartość grupowania. Podanie wielu wartości zwraca błąd 400 Bad Request.
messageDetailsquerybooleannieWyświetla szczegóły wiadomości w odpowiedzitrue lub false (domyślnie)

Opcje grupowania

Na jedno żądanie dozwolona jest dokładnie jedna wartość grupowania. Domyślnie: grouping=Message.

Wartość grupowaniaKolumna grupowania w odpowiedzi
MessagemessageId, messageName
Sendersender

Odpowiedź

Odpowiedź zawiera następujące dane w zależności od użytych filtrów.

SMS message details

Obecne tylko gdy includeDetails=1.

PoleTypOpis
messageIdstringIdentyfikator wiadomości SMS
namestringNazwa wiadomości skonfigurowana w ECDP
typestringTyp wiadomości: Newsletter lub Scenariusz
senderstringNazwa nadawcy wyświetlana odbiorcom
sentDatestringData i godzina wysłania wiadomości. Format: YYYY-MM-DD
utms[]arrayParametry śledzenia UTM. Każdy element zawiera name i value.

SMS report data

Każdy obiekt w tablicy reprezentuje jeden wiersz zagregowanych statystyk, określony przez wybrane grupowanie.

PoleTypOpis
messageIdstringObecne gdy grouping=Message
messageNamestringObecne gdy grouping=Message
senderstringObecne gdy grouping=Sender
sentintegerŁączna liczba wiadomości SMS przekazanych do dostarczenia
partsSentintegerŁączna liczba wysłanych części SMS (długa wiadomość może składać się z wielu części)
bouncedintegerLiczba wiadomości, których nie udało się dostarczyć
bouncedPercentnumberBounced / sent. Zwraca 0.0, jeśli sent = 0.
deliveredintegerLiczba wiadomości potwierdzonych jako dostarczone
deliveredPercentnumberDelivered / sent. Zwraca 0.0, jeśli sent = 0.
clicksintegerŁączna liczba kliknięć linków
clicksPercentnumberClicks / sent. Zwraca 0.0, jeśli sent = 0.
clickersintegerLiczba unikalnych odbiorców, którzy kliknęli co najmniej jeden link
clicksToDeliveredPercentnumberClicks / delivered. Zwraca 0.0, jeśli delivered = 0.
unsubscribesintegerLiczba odbiorców, którzy wypisali się po otrzymaniu wiadomości
revenuenumberŁączny przypisany przychód z tej wiadomości
currencystringKod waluty dla wartości revenue (ISO 4217)

Kody odpowiedzi#

KodStatusOpis
200OKŻądanie przetworzone pomyślnie. Odpowiedź zawiera statystyki wiadomości.
204No contentŻądanie jest poprawne, ale żadne dane nie pasują do podanych parametrów.
400Bad requestNieprawidłowe lub brakujące parametry. Sprawdź reguły zakresu dat, filtrów i grupowania.
401UnauthorizedKlucz API jest brakujący, nieprawidłowy lub wygasł. Zweryfikuj klucz w Settings > 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ę utrzymuje.

Przykładowe zapytania i odpowiedzi

Pobierz szczegóły wybranej wiadomości SMS (newsletter)

Zapytanie:

GET /reports/sms/singleMessage/8421?includeDetails=1

Odpowiedź: 200 OK

{
  "messageDetails": {
    "messageId": "8421",
    "type": "Newsletter",
    "name": "kampania ZIMA",
    "sender": "SKLEP",
    "sentDate": "2025-01-18T09:30:00Z",
    "utms": [
      { "name": "utm_source", "value": "sms" },
      { "name": "utm_campaign", "value": "zima-10" }
    ]
  },
  "data": [
    {
      "messageId": "8421",
      "messageName": "zima-2025",
      "sent": 10000,
      "partsSent": 11250,
      "bounced": 15,
      "bouncedPercent": 0.0015,
      "delivered": 9985,
      "deliveredPercent": 0.9985,
      "clicks": 720,
      "clicksPercent": 0.0720,
      "clickers": 610,
      "clicksToDeliveredPercent": 0.0721,
      "unsubscribes": 22,
      "revenue": 5140.90,
      "currency": "PLN"
    }
  ]
}

Pobierz szczegóły wiadomości scenariuszowej filtrując po dacie oraz nadawcy

Zapytanie:

GET /reports/sms/singleMessage/301?startDate=2025-03-01&endDate=2025-03-07&sender=ECOMMERCE

Odpowiedź: 200 OK

{
  "data": [
    {
      "messageId": "301",
      "messageName": "latnia-wyprzedaz",
      "sent": 5200,
      "partsSent": 5650,
      "bounced": 6,
      "bouncedPercent": 0.0012,
      "delivered": 5194,
      "deliveredPercent": 0.9988,
      "clicks": 390,
      "clicksPercent": 0.0751,
      "clickers": 335,
      "clicksToDeliveredPercent": 0.0755,
      "unsubscribes": 11,
      "revenue": 1896.40,
      "currency": "PLN"
    }
  ]
}

Reguły walidacji i zachowania

  • id musi wskazywać na istniejącą wiadomość SMS w ECDP.
  • includeDetails przyjmuje tylko wartości 0 lub 1. Każda inna wartość zwraca błąd 400 Bad Request.
  • Wiadomości typu Newsletter nie obsługują filtrowania według zakresu dat. Podanie parametru startDate lub endDate dla wiadomości Newsletter zwraca błąd 400 Bad Request.
  • Wiadomości typu Scenariusz wymagają podania zarówno startDate, jak i endDate. Pominięcie któregokolwiek z nich zwraca błąd 400 Bad Request.
  • Gdy oba parametry dat są podane: startDate musi być mniejsze lub równe endDate.
  • Na jedno zapytanie dozwolona jest tylko jedna wartość grupowania. Podanie wielu wartości zwraca błąd 400 Bad Request.
  • Na jedno zapytanie dozwolony jest tylko jeden typ filtra z dokładnie jedną wartością. Podanie wielu filtrów lub wielu wartości zwraca błąd 400 Bad Request.
  • Dzielenie przez zero w polach procentowych zwraca 0.0.

Dokumentacja referencyjna

Swagger – Reports SMS

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