Wszystko, co mogą Państwo zrobić w Zinn® Campaigns z poziomu panelu, można również wykonać za pośrednictwem API, a większość z tego także z poziomu asystenta AI połączonego z Państwa kontem przez MCP. Niniejszy przewodnik obejmuje logowanie, uprawnienia, praktyczny przykład dla obu sposobów, limity, błędy oraz każdą z 89 operacji Campaigns. Poniższa lista operacji jest generowana na podstawie naszej specyfikacji API, dzięki czemu zawsze odpowiada temu, co wykonuje API. Każde pole każdej operacji znajduje się w dokumentacji API pod adresem zinndigital.com/developers/api/zinn-campaigns.
Logowanie
- Klucze API. Utwórz klucz w panelu w sekcji Ustawienia → Klucze API i prześlij go jako
Authorization: Bearer zdk_live_… (klucz zdk_test_… działa w trybie piaskownicy). Nadaj kluczowi tylko niezbędne uprawnienia Campaigns i nic więcej.
- Asystenci AI (MCP). Połącz Claude, ChatGPT, Cursor lub dowolnego klienta MCP z
https://api.zinndigital.com/v1/mcp, logując się z poziomu aplikacji lub za pomocą tokena połączenia (zmcp_live_…). Zobacz Łączenie Claude, Cursor lub ChatGPT ze swoim kontem. Na ekranie zgody zaznacz uprawnienia Zinn® Campaigns.
- Uprawnienia.
email_marketing.view odczytuje kampanie, listy, kontakty, formularze, nadawców, ustawienia SMS i raporty; email_marketing.manage tworzy je i modyfikuje. Kampanie wysyłane za pośrednictwem własnej usługi poczty e-mail korzystają z campaigns.view oraz campaigns.manage.
- Odsprzedawcy. Przekaż
org_id, aby wykonywać działania w imieniu jednej z organizacji klientów. Pomiń go, jeśli klucz lub połączenie obejmuje dokładnie jedną organizację.
Przykład: tworzenie wersji roboczej kampanii za pomocą API
curl -X POST https://api.zinndigital.com/v1/email-marketing/campaigns \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{
"name": "Spring sale",
"subject": "Our spring sale starts today",
"list_id": "<list id>",
"sender_id": "<sender id>",
"template": "basic"
}'
Odpowiedź to 201 wraz ze szkicem. Przetestuj go za pomocą POST /v1/email-marketing/campaigns/{campaign_id}/test, sprawdź go za pomocą GET /v1/email-marketing/campaigns/{campaign_id}/lint i wyślij go za pomocą POST /v1/email-marketing/campaigns/{campaign_id}/send.
Przykład: ten sam szkic od asystenta AI
Proszę zapytać swojego asystenta prostymi słowami, na przykład „przygotuj szkic wiadomości e-mail w Zinn® Campaigns o nazwie Spring sale z tematem 'Our spring sale starts today'”. W tle znajduje on operację za pomocą api_operations_search, odczytuje jej parametry za pomocą api_operation_get i wykonuje ją za pomocą api_operation_call:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "api_operation_call",
"arguments": {
"operation_id": "createEmailMarketingCampaign",
"confirm": true,
"body": {
"name": "Spring sale",
"subject": "Our spring sale starts today"
}
}
}
}
Czego asystent nie zrobi. Wszelkie działania, które wysyłają wiadomości do Państwa odbiorców lub wiążą się z wydatkami pieniężnymi bądź zużyciem limitu — wysyłanie kampanii, wysyłanie wiadomości SMS lub WhatsApp, pisanie z wykorzystaniem punktów AI, rejestracja do usług SMS w US — są dla asystenta niedozwolone, dzięki czemu błędnie zrozumiane polecenie nigdy nie trafi do Państwa klientów. Asystent przygotowuje wersję roboczą; to Państwo naciskają przycisk Wyślij w panelu lub samodzielnie wywołują API. Informacje poufne, takie jak hasło SMTP, również nigdy nie są przekazywane za pośrednictwem asystenta: należy wprowadzić je w panelu.
Limity
- 1200 żądań na minutę dla każdej osoby lub klucza API oraz 6000 żądań na minutę dla każdej organizacji. Zastosowanie ma bardziej restrykcyjny z tych limitów.
- 600 żądań na minutę dla każdego połączenia MCP.
- Po przekroczeniu limitu zwracana jest odpowiedź
429 z nagłówkiem Retry-After: należy odczekać określoną liczbę sekund.
- Dodawanie członków listy obejmuje maksymalnie 1000 adresów na żądanie; limity kontaktów i wiadomości e-mail w Państwa planie mają zastosowanie do wszystkich działań prowadzonych za pośrednictwem API.
Błędy
Każdy błąd ma taką samą strukturę:
{"error": {"code": "UNPROCESSABLE_ENTITY", "message": "…", "details": [{"field": "subject", "code": "REQUIRED", "message": "…"}], "request_id": "…"}}
code nigdy nie zmienia się w przypadku tego samego problemu, dlatego sprawdzaj go zamiast message. Podaj request_id podczas kontaktu z pomocą techniczną. Odpowiedzi, które napotkasz: 401 UNAUTHORIZED, 403 FORBIDDEN, 404 NOT_FOUND, 409 CONFLICT, 422 UNPROCESSABLE_ENTITY, 429 TOO_MANY_REQUESTS. 403 oznacza, że klucz lub połączenie nie posiada uprawnienia wymienionego na poniższej liście; 404 obejmuje również obiekt w organizacji, którego nie możesz zobaczyć; 422 wymienia każde błędne pole w details; po 429 odczekaj liczbę sekund wskazaną w nagłówku Retry-After.
Webhooki
Wyniki doręczenia trafiają do Zinn® Campaigns od dostawcy, który wysyła twoją wiadomość e-mail:
- W przypadku własnego dostawcy (na przykład Resend), zapisz jego klucz do podpisywania webhooków w połączeniu wysyłkowym w panelu (Kampanie → Wysyłanie). Otrzymasz
webhook_url; skieruj na niego zdarzenia doręczenia (delivered), odrzucenia (bounced) i zgłoszenia spamu (complained) dostawcy. Odrzucenie lub zgłoszenie spamu natychmiast usuwa adres z przyszłych wysyłek.
- W przypadku wysyłki przez Zinn® nie trzeba niczego konfigurować.
Odczytuj wyniki za pomocą operacji raportowania (getEmailMarketingCampaignReport, getSmsMarketingCampaignReport).
Każda operacja Campaigns
Przegląd
GET /v1/email-marketing — przegląd Zinn® Campaigns dla jednej organizacji. Operacja getEmailMarketingOverview. Sprawdzane uprawnienia: email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
Kampanie e-mail
GET /v1/email-marketing/campaigns — Kampanie e-mail, od najnowszych, jedna strona keyset. Operacja listEmailMarketingCampaigns. Sprawdzane uprawnienia: email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/campaigns — Utwórz wersję roboczą kampanii e-mail. Operacja createEmailMarketingCampaign. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
GET /v1/email-marketing/campaigns/{campaign_id} — Pojedyncza kampania e-mail. Operacja getEmailMarketingCampaign. Sprawdzane uprawnienia: email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
PATCH /v1/email-marketing/campaigns/{campaign_id} — Edytuj wersję roboczą (lub odrzuconą kampanię, która powraca do wersji roboczej). Operacja updateEmailMarketingCampaign. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/lint — Sprawdź treść kampanii pod kątem problemów z dostarczalnością przed jej wysłaniem. Operacja lintEmailMarketingCampaign. Sprawdzane uprawnienia: email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/report — Statystyki kampanii. Operacja getEmailMarketingCampaignReport. Sprawdzane uprawnienia: email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/campaigns/{campaign_id}/send — Rozpocznij wysyłanie kampanii do jej listy odbiorców. Operacja sendEmailMarketingCampaign. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Z poziomu asystenta AI: tylko API i panel: wiąże się to z wydatkiem pieniężnym lub wykorzystaniem limitu, więc uruchamia to człowiek (wysyła do rzeczywistych odbiorców i zużywa limit).
POST /v1/email-marketing/campaigns/{campaign_id}/test — Wyślij teraz jedną kopię testową do członka organizacji. Operacja testEmailMarketingCampaign. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/campaigns/{campaign_id}/translate — Przetłumacz kampanię na każdy język kontaktowy, którego brakuje lub jest nieaktualny. Operacja translateEmailMarketingCampaign. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/translations — Każdy język kontaktowy listy kampanii oraz informacja, czy jego tłumaczenie jest aktualne. Operacja listEmailMarketingCampaignTranslations. Sprawdzane uprawnienia: email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
Pisanie z pomocą AI
POST /v1/email-marketing/ai/write — Napisz wersję roboczą wiadomości e-mail kampanii na podstawie krótkiego konspektu za pomocą Zinn® AI. Operacja writeEmailMarketingCampaignWithAi. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Od asystenta AI: tylko interfejs API i pulpit nawigacyjny: wiąże się to z wydatkiem pieniędzy lub limitu, więc uruchamia to człowiek (pisanie przez AI zużywa punkty kredytowe AI).
Zestaw marki
GET /v1/email-marketing/brand-kit — Zestaw marki organizacji (nazwa, logo, kolory, czcionka, ton głosu). Operacja getEmailMarketingBrandKit. Sprawdzane uprawnienia: email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
PUT /v1/email-marketing/brand-kit — Edytuj zestaw marki. Operacja updateEmailMarketingBrandKit. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/brand-kit/read — Odczytaj zestaw marki ze strony internetowej organizacji. Operacja readEmailMarketingBrandKit. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
Kontakty i wiadomości jednorazowe
GET /v1/email-marketing/contacts — Kontakty organizacji, po jednej stronie keyset naraz. Operacja listEmailMarketingContacts. Sprawdzane uprawnienia: email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/contacts/{contact_id}/messages — Wyślij jeden SMS do jednego kontaktu, opłacony z salda środków Zinn®. Operacja sendEmailMarketingMessage. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Z poziomu asystenta AI: tylko API i pulpit nawigacyjny: wiąże się to z wydatkiem pieniędzy lub limitu, więc musi zostać kliknięte przez człowieka (pojedyncza wiadomość do kontaktu zużywa limit).
GET /v1/email-marketing/messages — Wiadomości SMS i WhatsApp wysłane przez organizację, od najnowszych, jedna strona keyset. Operacja listEmailMarketingMessages. Sprawdzane uprawnienia: email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
Listy
GET /v1/email-marketing/lists — Listy mailingowe organizacji z liczbą subskrybujących / wypisanych. Operacja listEmailMarketingLists. Sprawdzane uprawnienia: email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/lists — Utwórz listę mailingową (lub zwróć tę o danej nazwie). Operacja createEmailMarketingList. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/lists/{list_id}/members — Dodaj kontakty do listy według adresu e-mail (maksymalnie 1 000 na żądanie). Operacja addEmailMarketingListMembers. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
Importy
GET /v1/email-marketing/imports — Wcześniejsze importy kontaktów, od najnowszych, po jednej stronie keyset naraz. Operacja listEmailMarketingImports. Sprawdzane uprawnienia: email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/imports — Zaimportuj jedną partię kontaktów wraz z poświadczeniem zgody. Operacja createEmailMarketingImport. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
Formularze rejestracyjne
GET /v1/email-marketing/forms — Formularze zapisu (double opt-in), od najnowszych, jedna strona keyset. Operacja listEmailMarketingForms. Sprawdzane uprawnienia: email_marketing.view. Z asystenta AI: tak, przez MCP.
POST /v1/email-marketing/forms — Utwórz formularz zapisu dodający potwierdzone osoby do jednej listy. Operacja createEmailMarketingForm. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Z asystenta AI: tak, przez MCP.
DELETE /v1/email-marketing/forms/{form_id} — Usuń formularz zapisu (potwierdzone wcześniej osoby pozostają na liście). Operacja deleteEmailMarketingForm. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Z asystenta AI: tak, przez MCP.
PATCH /v1/email-marketing/forms/{form_id} — Zmień formularz zapisu (treść, lista, przekierowanie, włączony lub wyłączony). Operacja updateEmailMarketingForm. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Z asystenta AI: tak, przez MCP.
Połączenia wysyłania
GET /v1/email-marketing/senders — Połączenia wysyłające organizacji. Operacja listEmailMarketingSenders. Sprawdzone uprawnienia: email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/senders — Połącz nadawcę kampanii (wysyłka Zinn® lub własny serwer SMTP klienta). Operacja createEmailMarketingSender. Sprawdzone uprawnienia: email_marketing.manage, email_marketing.view. Z poziomu asystenta AI: tylko API i pulpit nawigacyjny: przenosi sekret, który nigdy nie może dotrzeć do modelu AI (treść stanowi hasło SMTP).
DELETE /v1/email-marketing/senders/{sender_id} — Usuń połączenie wysyłające i zapisane dla niego hasło. Operacja deleteEmailMarketingSender. Sprawdzone uprawnienia: email_marketing.manage, email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/senders/{sender_id}/verify — Potwierdź poprawne działanie połączenia wysyłającego bez wysyłania jakichkolwiek treści. Operacja verifyEmailMarketingSender. Sprawdzone uprawnienia: email_marketing.manage, email_marketing.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
PUT /v1/email-marketing/senders/{sender_id}/webhook — Zapisz klucz tajny podpisywania webhooka dostawcy poczty e-mail dla tego połączenia. Operacja setEmailMarketingSenderWebhook. Sprawdzone uprawnienia: email_marketing.manage, email_marketing.view. Z poziomu asystenta AI: wywoływane przez inny system (dostawcę lub odwiedzającego), nie przez Pana/Panią (przechowuje klucz tajny webhooka dostawcy).
SMS i WhatsApp
GET /v1/email-marketing/sms — Co jest potrzebne na ekranie SMS — otwarte?, wstrzymane?, saldo środków i ceny. Operacja getEmailMarketingSms. Sprawdzane uprawnienia: email_marketing.view. Przez asystenta AI: tak, za pośrednictwem MCP.
GET /v1/email-marketing/sms/campaigns — Masowe kampanie SMS, od najnowszych, jedna strona keyset. Operacja listSmsMarketingCampaigns. Sprawdzane uprawnienia: email_marketing.view. Przez asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/sms/campaigns — Utwórz wersję roboczą SMS do listy. Operacja createSmsMarketingCampaign. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Przez asystenta AI: tak, za pośrednictwem MCP.
GET /v1/email-marketing/sms/campaigns/{campaign_id} — Jedna masowa kampania SMS. Operacja getSmsMarketingCampaign. Sprawdzane uprawnienia: email_marketing.view. Przez asystenta AI: tak, za pośrednictwem MCP.
PATCH /v1/email-marketing/sms/campaigns/{campaign_id} — Edytuj wersję roboczą (lub odrzuconą kampanię, która powraca do wersji roboczej). Operacja updateSmsMarketingCampaign. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Przez asystenta AI: tak, za pośrednictwem MCP.
GET /v1/email-marketing/sms/campaigns/{campaign_id}/report — Dane liczbowe masowej kampanii SMS. Operacja getSmsMarketingCampaignReport. Sprawdzane uprawnienia: email_marketing.view. Przez asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/sms/campaigns/{campaign_id}/send — Rozpocznij wysyłanie wiadomości SMS do wszystkich osób z listy, które wyraziły zgodę na SMS — lub wznów kampanię wstrzymaną z powodu braku środków. Operacja sendSmsMarketingCampaign. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Od asystenta AI: tylko API i pulpit nawigacyjny: wiąże się to z wydatkowaniem środków lub limitu, więc musi to kliknąć człowiek (wysyła płatne wiadomości SMS/WhatsApp).
GET /v1/email-marketing/sms/registrations/us — Rejestracja US 10DLC tej organizacji oraz jej koszt. Operacja getEmailMarketingUsRegistration. Sprawdzane uprawnienia: email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/sms/registrations/us — Prześlij markę i kampanię tej organizacji do rejestracji US 10DLC (opłata pobierana w momencie przesłania). Operacja submitEmailMarketingUsRegistration. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Od asystenta AI: tylko API i pulpit nawigacyjny: wiąże się to z wydatkowaniem środków lub limitu, więc musi to kliknąć człowiek (rejestracja US 10DLC wiąże się z opłatami operatora).
Kampanie za pośrednictwem własnej usługi poczty e-mail (szablony, segmenty, wykluczenia)
GET /v1/campaigns — Kampanie organizacji. Operacja listCampaigns. Od asystenta AI: tak, za pośrednictwem MCP.
POST /v1/campaigns — Utwórz kampanię na podstawie szablonu i grupy odbiorców. Operacja createCampaign. Od asystenta AI: tak, za pośrednictwem MCP.
DELETE /v1/campaigns/esp — Odłącz konto dostawcy i usuń jego zapamiętany klucz. Operacja disconnectEsp. Z poziomu asystenta AI: tylko API i panel: przenosi sekret, który nigdy nie może trafić do modelu AI (niszczy zapisany klucz ESP).
GET /v1/campaigns/esp — Własne konto dostawcy poczty e-mail organizacji. Operacja getEspConnection. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/campaigns/esp — Połącz konto dostawcy poczty e-mail. Operacja connectEsp. Z poziomu asystenta AI: tylko API i panel: przenosi sekret, który nigdy nie może trafić do modelu AI (treścią jest klucz API ESP).
POST /v1/campaigns/esp/verify — Potwierdź, że konto dostawcy działa, i odczytaj jego zweryfikowane domeny. Operacja verifyEspConnection. Z poziomu asystenta AI: tylko API i panel: przenosi sekret, który nigdy nie może trafić do modelu AI (ponownie sprawdza zapisany klucz ESP).
POST /v1/campaigns/preview — Wykonaj Render szablonu z przykładowymi wartościami. Operacja previewCampaignTemplate. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
GET /v1/campaigns/segments — Państwa zapisane segmenty odbiorców. Operacja listCampaignSegments. Sprawdzone uprawnienia: campaigns.view. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/campaigns/segments — Zapisz nowy segment odbiorców. Operacja createCampaignSegment. Sprawdzone uprawnienia: campaigns.manage. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
GET /v1/campaigns/segments/fields — Słownik filtrów, listy jego wartości oraz magiczne tagi. Operacja getCampaignSegmentFields. Sprawdzane uprawnienia: campaigns.view. Z asystenta AI: tak, za pośrednictwem MCP.
POST /v1/campaigns/segments/preview — Do ilu osób to dociera, kim one są i kogo wyklucza. Operacja previewCampaignSegment. Sprawdzane uprawnienia: campaigns.view. Z asystenta AI: tak, za pośrednictwem MCP.
DELETE /v1/campaigns/segments/{segmentId} — Zarchiwizuj segment. Operacja archiveCampaignSegment. Sprawdzane uprawnienia: campaigns.manage. Z asystenta AI: tak, za pośrednictwem MCP.
GET /v1/campaigns/segments/{segmentId} — Jeden zapisany segment. Operacja getCampaignSegment. Sprawdzane uprawnienia: campaigns.view. Z asystenta AI: tak, za pośrednictwem MCP.
PATCH /v1/campaigns/segments/{segmentId} — Zmień nazwę segmentu lub zmodyfikuj jego filtry. Operacja updateCampaignSegment. Sprawdzane uprawnienia: campaigns.manage. Z asystenta AI: tak, za pośrednictwem MCP.
GET /v1/campaigns/suppressions — Adresy, które nie mogą otrzymywać materiałów marketingowych. Operacja listCampaignSuppressions. Sprawdzane uprawnienia: campaigns.view. Z asystenta AI: tak, za pośrednictwem MCP.
POST /v1/campaigns/suppressions — Dodaj adres do listy wykluczeń. Operacja createCampaignSuppression. Sprawdzane uprawnienia: campaigns.manage. Z asystenta AI: tak, za pośrednictwem MCP.
GET /v1/campaigns/tags — Paleta znaczników magicznych oferowana przez edytor kampanii. Operacja listCampaignTags. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
GET /v1/campaigns/templates — Szablony kampanii organizacji. Operacja listCampaignTemplates. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/campaigns/templates — Utwórz szablon kampanii. Operacja createCampaignTemplate. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
DELETE /v1/campaigns/templates/{templateId} — Zarchiwizuj szablon i wycofaj jego źródła tłumaczeń. Operacja archiveCampaignTemplate. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
GET /v1/campaigns/templates/{templateId} — Jeden szablon kampanii. Operacja getCampaignTemplate. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
PUT /v1/campaigns/templates/{templateId} — Edytuj szablon kampanii. Operacja updateCampaignTemplate. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/campaigns/unsubscribe — Opuść listę marketingową. Konto nie jest wymagane. Operacja unsubscribeFromCampaigns. Z poziomu asystenta AI: tylko API i pulpit nawigacyjny: zawiera klucz tajny, który nigdy nie może trafić do modelu AI (przyjmuje podpisany token rezygnacji z subskrypcji odbiorcy).
DELETE /v1/campaigns/{campaignId} — Usuń kampanię i wycofaj jej wiersze dostarczania. Operacja deleteCampaign. Z poziomu asystenta AI: tylko API i pulpit nawigacyjny: wymaga uprawnienia, które nie jest udostępniane połączeniom AI (usunięcie kampanii ESP wymaga uprawnienia campaigns.send).
GET /v1/campaigns/{campaignId} — Jedna kampania i jej raport doręczeń. Operacja getCampaign. Z poziomu asystenta AI: tak, za pośrednictwem MCP.
POST /v1/campaigns/{campaignId}/control — Wstrzymanie, wznowienie lub anulowanie trwającej wysyłki. Operacja controlCampaign. Z poziomu asystenta AI: tylko API i pulpit nawigacyjny: wiąże się to z kosztami lub wykorzystaniem limitu, więc uruchamia to człowiek (wstrzymuje/wznawia aktywną wysyłkę).
POST /v1/campaigns/{campaignId}/send — Rozpoczęcie trwałej wysyłki. Operacja sendCampaign. Z poziomu asystenta AI: tylko API i pulpit nawigacyjny: wiąże się to z kosztami lub wykorzystaniem limitu, więc uruchamia to człowiek (wysyła kampanię ESP do rzeczywistych odbiorców).
POST /v1/campaigns/{campaignId}/test — Wysłanie jednej rzeczywistej wiadomości kanałem, który rzeczywiście zostanie użyty w kampanii. Operacja testSendCampaign. Z poziomu asystenta AI: tylko API i pulpit nawigacyjny: wymaga uprawnienia, którego połączenia AI nie otrzymują (testowa wysyłka ESP wymaga uprawnienia campaigns.send).
Strony publiczne i przychodzące webhooki
GET /v1/public/email-marketing/c/{token} — Licznik kliknięć. Rejestruje jedno kliknięcie na odbiorcę i przekierowuje do oryginalnego łącza. Operacja emailMarketingClick. Z poziomu asystenta AI: strona otwierana przez Państwa odbiorców z wiadomości e-mail (przekierowanie śledzące kliknięcia).
GET /v1/public/email-marketing/f/{public_id} — Hostowana strona formularza rejestracji (bez logowania). Operacja emailMarketingFormPage. Z poziomu asystenta AI: strona otwierana przez Państwa odbiorców z wiadomości e-mail (publiczna strona formularza rejestracji).
POST /v1/public/email-marketing/f/{public_id} — Prześlij formularz rejestracji (strona hostowana, osadzenie lub JSON). Operacja emailMarketingFormSubmit. Od asystenta AI: wywoływane przez inny system (dostawcę lub odwiedzającego), nie przez Pana/Panią (odwiedzający przesyła formularz rejestracji).
GET /v1/public/email-marketing/fc — Strona potwierdzenia double opt-in (brak logowania). Operacja emailMarketingFormConfirmPage. Od asystenta AI: strona otwierana przez Pana/Pani odbiorców z wiadomości e-mail (strona potwierdzenia double opt-in).
POST /v1/public/email-marketing/fc — Potwierdź rejestrację (dodaje osobę do listy wraz z rejestrem zgody). Operacja emailMarketingFormConfirm. Od asystenta AI: wywoływane przez inny system (dostawcę lub odwiedzającego), nie przez Pana/Panią (odwiedzający potwierdza double opt-in).
GET /v1/public/email-marketing/o/{token} — Obraz do śledzenia otwarć (GIF 1x1). Liczy jedno otwarcie na odbiorcę. Operacja emailMarketingOpenPixel. Od asystenta AI: strona otwierana przez Pana/Pani odbiorców z wiadomości e-mail (piksel śledzący otwarcia).
GET /v1/public/email-marketing/u/{token} — Link rezygnacji z subskrypcji w stopce (brak logowania). Operacja emailMarketingUnsubscribePage. Od asystenta AI: strona otwierana przez Pana/Pani odbiorców z wiadomości e-mail (strona rezygnacji z subskrypcji).
POST /v1/public/email-marketing/u/{token} — Wypisanie się jednym kliknięciem zgodnie z RFC 8058 (oraz przycisk „zatrzymaj wszystko” na stronie). Operacja emailMarketingUnsubscribeOneClick. Od asystenta AI: wywoływane przez inny system (dostawcę lub odwiedzającego), nie przez ciebie (wypisanie się jednym kliknięciem RFC 8058).
GET /v1/public/email-marketing/warmup-u/{token} — Link do wypisania się z wiadomości rozgrzewającej pulę marketingową (bez logowania). Operacja emailMarketingWarmupUnsubscribePage. Od asystenta AI: strona, którą twoi odbiorcy otwierają z wiadomości e-mail (strona wypisania się z rozgrzewania).
POST /v1/public/email-marketing/warmup-u/{token} — Wypisanie się jednym kliknięciem z wiadomości rozgrzewającej zgodnie z RFC 8058. Operacja emailMarketingWarmupUnsubscribeOneClick. Od asystenta AI: wywoływane przez inny system (dostawcę lub odwiedzającego), nie przez ciebie (wypisanie się z rozgrzewania jednym kliknięciem).
POST /v1/webhooks/campaign-events — Pobranie podpisanego zdarzenia doręczenia od dostawcy poczty e-mail. Operacja receiveCampaignDeliveryWebhook. Od asystenta AI: wywoływane przez inny system (dostawcę lub odwiedzającego), nie przez ciebie (podpisany webhook doręczenia ESP).
POST /v1/webhooks/campaigns/telnyx — Przychodzące odpowiedzi SMS (STOP / START) od naszego dostawcy SMS. Operacja receiveCampaignsTelnyxInbound. Od asystenta AI: wywoływane przez inny system (dostawcę lub odwiedzającego), nie przez ciebie (podpisany przychodzący webhook Telnyx).
POST /v1/webhooks/email-marketing/{connection_id} — Zdarzenia doręczenia od własnego dostawcy poczty e-mail klienta dla jednego połączenia wysyłającego. Operacja receiveEmailMarketingProviderWebhook. Od asystenta AI: wywoływane przez inny system (dostawcę lub gościa), a nie przez Państwa (podpisany webhook nadawca-dostawca).
Przepływy
GET /v1/email-marketing/flows — Przepływy e-mail (powitalne, sekwencyjne, data roczna), jedna strona keyset. Operacja listEmailMarketingFlows. Sprawdzone uprawnienia: email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
POST /v1/email-marketing/flows — Utwórz przepływ (rozpoczyna się jako wersja robocza). Operacja createEmailMarketingFlow. Sprawdzone uprawnienia: email_marketing.manage, email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
DELETE /v1/email-marketing/flows/{flow_id} — Usuń przepływ i jego zapisy (wysłane uruchomienia pozostają jako kampanie). Operacja deleteEmailMarketingFlow. Sprawdzone uprawnienia: email_marketing.manage, email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
GET /v1/email-marketing/flows/{flow_id} — Jeden przepływ wraz z jego krokami i raportem (zapisani, w toku, uruchomienia i odbiorcy na krok). Operacja getEmailMarketingFlow. Sprawdzone uprawnienia: email_marketing.view. Od asystenta AI: tak, za pośrednictwem MCP.
PATCH /v1/email-marketing/flows/{flow_id} — Zmień przepływ; parametr steps, jeśli został podany, zastępuje całą sekwencję. Operacja updateEmailMarketingFlow. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Za pośrednictwem asystenta AI: tak, poprzez MCP.
POST /v1/email-marketing/flows/{flow_id}/activate — Włącz przepływ; rejestrowane są tylko osoby, które dołączą do listy od tego momentu. Operacja activateEmailMarketingFlow. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Za pośrednictwem asystenta AI: tak, poprzez MCP.
POST /v1/email-marketing/flows/{flow_id}/pause — Wstrzymaj przepływ; zaplanowane kroki oczekują, a do czasu ponownego włączenia do nikogo nowego nie są wysyłane wiadomości. Operacja pauseEmailMarketingFlow. Sprawdzane uprawnienia: email_marketing.manage, email_marketing.view. Za pośrednictwem asystenta AI: tak, poprzez MCP.