StartAutoryzacja Bearer
Utwórz klucz w Integracje → API i webhooki. Sekret zobaczysz jeden raz. Każde żądanie wyślij przez HTTPS z nagłówkiem Authorization. Limit jednego klucza wynosi 600 żądań na minutę.
curl https://mailfly.pl/api/v1/me -H "Authorization: Bearer mf_live_TWOJ_KLUCZ"
Zakresy: contacts:read, contacts:write, groups:read, groups:write, campaigns:read, analytics:read.
EndpointyAPI v1
GET/api/v1/meDane workspace i klucza
GET/api/v1/contactsLista i filtrowanie kontaktów
POST/api/v1/contactsKontakt z pełnym dowodem zgody
GET/api/v1/contacts/{id}Szczegóły kontaktu
POST/api/v1/contacts/{id}/unsubscribeTrwały wypis i suppression
GET/api/v1/groupsLista grup
POST/api/v1/groupsNowa grupa
GET/api/v1/campaignsKampanie i wyniki
GET/api/v1/campaigns/{id}Szczegóły kampanii
Dodanie kontaktu
Dowód zgody jest obowiązkowy. Pole externalId daje bezpieczną idempotencję: ponowienie tego samego żądania zwróci istniejący kontakt.
{ "externalId": "crm-123", "email": "kontakt@example.pl", "consentConfirmed": true, "consentAt": "2026-08-28T12:00:00Z", "consentSource": "Formularz newslettera", "consentMethod": "website_form", "consentText": "Zgoda na komunikację marketingową e-mail", "consentProof": "form_submission:abc123", "groupIds": [] }
E-commerce headlessNext.js i React
Utwórz osobne połączenie w Integracje → Next.js / React. Otrzymasz identyfikator i sekret widoczny tylko raz oraz gotowy starter ZIP dla App Routera. Sekret umieść wyłącznie w zmiennych serwerowych bez prefiksu NEXT_PUBLIC_.
POST /api/integrations/commerce/events
X-Mailfly-Key: identyfikator
X-Mailfly-Timestamp: unix_seconds
X-Mailfly-Signature: v1=HMAC_SHA256(secret, timestamp + "." + rawBody)
Obsługiwane są produkty, rozpoznane oglądanie, zgody, koszyk, checkout, zamówienie, płatność, zakończenie, anulowanie i zwrot. Każde zdarzenie ma własny eventId. Ponowienie dokładnie tego samego identyfikatora i treści jest bezpieczne. Zdarzenia przeglądarkowe przechodzą przez własny Route Handler Next.js, nigdy bezpośrednio z sekretem w React.
Pobierz connector Next.jsE-commerce SaaSIdoSell API Admin Webhook
Połączenie utworzysz w Integracje → IdoSell. Mailfly pokaże token autoryzacyjny i cztery adresy dla klientów, produktów, zamówień oraz zwrotów. Dane są zgodne z odpowiedziami API Admin v8.
- W panelu IdoSell przejdź do konfiguracji API Admin Webhook.
- Dodaj cztery webhooki i przypisz do każdego właściwą grupę zdarzeń.
- W polu Authorization Token wklej token pokazany przez Mailfly. IdoSell wyśle go jako
Authentication: Bearer. Jeżeli konfigurujesz własny dodatkowy nagłówek, możesz użyć Authorization: Bearer. - Wybierz JSON, API v8 i wykonaj test na prawdziwym obiekcie. Mailfly nie prosi o login, hasło ani klucz API sklepu.
Obsługiwane są zgody newsletterowe, produkty i warianty, zamówienia, płatności, zakończenia, anulowania oraz zatwierdzone zwroty. Ponowienia IdoSell są deduplikowane. Aktualne API Admin Webhook nie udostępnia zdarzeń koszyka, dlatego automatyzacja porzuconego koszyka wymaga osobnej integracji storefront po sprawdzeniu szablonu sklepu.
Dokumentacja API Admin Webhook IdoSell
ZdarzeniaPodpisane webhooki
Mailfly wysyła pełny JSON metodą POST. Nagłówki Mailfly-Event-Id, Mailfly-Event-Type, Mailfly-Timestamp i Mailfly-Signature pozwalają zweryfikować źródło i odrzucić powtórzenia.
expected = HMAC_SHA256(secret, timestamp + "." + rawBody)
Dostępne zdarzenia obejmują kontakty, kampanie, dostarczenia, opóźnienia, odbicia, skargi, odrzucenia, otwarcia i kliknięcia. Odpowiedź 2xx kończy dostarczenie. Inne odpowiedzi są ponawiane łącznie do 6 razy przez 24 godziny.
BezpieczeństwoZasady wdrożenia
Nie umieszczaj klucza API ani sekretu webhooka w kodzie przeglądarki. Weryfikuj podpis na surowym body przed parsowaniem JSON. Odrzucaj timestamp starszy niż 5 minut i zapamiętuj Event-Id, aby jedno zdarzenie nie wykonało operacji drugi raz. Adres webhooka musi być publicznym HTTPS i nie może prowadzić do sieci prywatnej.