Workspace API

E-maile do klientów

Endpointy „E-maile do klientów” Zanfia Workspace API — ze schematami i przykładami kodu.

3 min czytaniaOstatnia aktualizacja: 30 wrz 2026

Jednorazowe, osobiste e-maile od Ciebie do jednego klienta („Wyślij e-mail” na karcie klienta): napisz szkic, sprawdź go lub popraw, a potem wyślij osobnym endpointem. To korespondencja transakcyjna, a nie kampania, więc trafia na adres klienta niezależnie od jego zapisu na newsletter; adresy zablokowane po twardym odbiciu lub zgłoszeniu spamu są nadal pomijane przy wysyłce. Wysyłka jest prawdziwa i nie da się jej cofnąć. Tożsamość nadawcy (nazwa nadawcy, Reply-To, opcjonalny własny adres nadawcy na zweryfikowanej domenie) jest ustalana z ustawień workspace w chwili tworzenia szkicu i można ją nadpisać dla pojedynczego szkicu. contentMarkdown to Markdown (maks. 50 000 znaków), subject maks. 200 znaków; branded opakowuje e-mail w Twoją ramkę brandową (domyślnie: zwykła osobista wiadomość). Wysłany e-mail jest niezmienną historią; nieudane przekazanie do wysyłki (status: failed, powód w failureReason) można nadal edytować i wysłać ponownie. Odmowy zawierają maszynowy kod error (client-not-found, email-not-found, already-sent, invalid-field, no-recipient, send-failed), a szczegóły są w message. Wszystkie endpointy wymagają nagłówka Authorization: Bearer — zobacz Uwierzytelnianie.

Lista e-maili do klientów (cały workspace)

GET/client-emails

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Query Parameters

limit?integer
Range1 <= value <= 500
Default200

Response Body

application/json

application/json

curl -X GET "https://example.com/client-emails"
{  "emails": [    {      "id": "string",      "clientId": "string",      "recipientEmail": "string",      "recipientName": "string",      "subject": "string",      "contentMarkdown": "string",      "sender": {        "fromName": "string",        "replyTo": "string",        "fromEmail": "string"      },      "branded": true,      "status": "draft",      "createdBy": {        "kind": "staff",        "uid": "string"      },      "createdAt": "string",      "updatedAt": "string",      "sentAt": "string",      "failureReason": "string"    }  ]}
{  "error": "string",  "message": "string"}

Lista e-maili do jednego klienta

GET/clients/{clientId}/emails

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Path Parameters

clientId*string

Client id

Response Body

application/json

application/json

curl -X GET "https://example.com/clients/string/emails"
{  "emails": [    {      "id": "string",      "clientId": "string",      "recipientEmail": "string",      "recipientName": "string",      "subject": "string",      "contentMarkdown": "string",      "sender": {        "fromName": "string",        "replyTo": "string",        "fromEmail": "string"      },      "branded": true,      "status": "draft",      "createdBy": {        "kind": "staff",        "uid": "string"      },      "createdAt": "string",      "updatedAt": "string",      "sentAt": "string",      "failureReason": "string"    }  ]}
{  "error": "string",  "message": "string"}

Utwórz szkic e-maila do klienta

POST/clients/{clientId}/emails

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Path Parameters

clientId*string

Client id

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Subject and body may be empty at draft time; omitted sender fields use the workspace defaults.

Response Body

application/json

application/json

curl -X POST "https://example.com/clients/string/emails" \  -H "Content-Type: application/json" \  -d '{    "subject": "string",    "contentMarkdown": "string"  }'
{  "email": {    "id": "string",    "clientId": "string",    "recipientEmail": "string",    "recipientName": "string",    "subject": "string",    "contentMarkdown": "string",    "sender": {      "fromName": "string",      "replyTo": "string",      "fromEmail": "string"    },    "branded": true,    "status": "draft",    "createdBy": {      "kind": "staff",      "uid": "string"    },    "createdAt": "string",    "updatedAt": "string",    "sentAt": "string",    "failureReason": "string"  }}
{  "error": "string",  "message": "string"}

Zaktualizuj szkic e-maila do klienta

PATCH/clients/{clientId}/emails/{emailId}

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Path Parameters

clientId*string

Client id

emailId*string

Client e-mail id

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Drafts and failed hand-offs only; an explicit null clears sender.replyTo / sender.fromEmail.

Response Body

application/json

application/json

curl -X PATCH "https://example.com/clients/string/emails/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "email": {    "id": "string",    "clientId": "string",    "recipientEmail": "string",    "recipientName": "string",    "subject": "string",    "contentMarkdown": "string",    "sender": {      "fromName": "string",      "replyTo": "string",      "fromEmail": "string"    },    "branded": true,    "status": "draft",    "createdBy": {      "kind": "staff",      "uid": "string"    },    "createdAt": "string",    "updatedAt": "string",    "sentAt": "string",    "failureReason": "string"  }}
{  "error": "string",  "message": "string"}

Usuń szkic e-maila do klienta

DELETE/clients/{clientId}/emails/{emailId}

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Path Parameters

clientId*string

Client id

emailId*string

Client e-mail id

Response Body

application/json

application/json

curl -X DELETE "https://example.com/clients/string/emails/string"
{  "deleted": true}
{  "error": "string",  "message": "string"}

Wyślij e-mail do klienta

POST/clients/{clientId}/emails/{emailId}/send

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Path Parameters

clientId*string

Client id

emailId*string

Client e-mail id

Response Body

application/json

application/json

curl -X POST "https://example.com/clients/string/emails/string/send"
{  "email": {    "id": "string",    "clientId": "string",    "recipientEmail": "string",    "recipientName": "string",    "subject": "string",    "contentMarkdown": "string",    "sender": {      "fromName": "string",      "replyTo": "string",      "fromEmail": "string"    },    "branded": true,    "status": "draft",    "createdBy": {      "kind": "staff",      "uid": "string"    },    "createdAt": "string",    "updatedAt": "string",    "sentAt": "string",    "failureReason": "string"  }}
{  "error": "string",  "message": "string"}

Czy ten artykuł był pomocny?

Powiązane artykuły

Coś się nie zgadza? Napisz do nas na support@zanfia.com.