Документация

Quickstart

Отправить первое письмо за 3 минуты.

1. Получить API-ключ

Создайте проект в dashboard — после создания вам будут показаны live и test API-ключи. Сохраните оба: полный ключ показывается один раз.

2. Подтвердить домен

Чтобы отправлять от адреса noreply@ваш-домен.ru, нужно подтвердить владение доменом через DNS-записи DKIM/SPF/DMARC. См. раздел Домены.

3. Отправить письмо

cURL

send.sh
bash
curl -X POST https://api.mail.synapsea.agency/v1/emails \
  -H "Authorization: Bearer $SYNAPSEA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "noreply@example.ru",
    "to": "user@example.com",
    "subject": "Hello from Synapsea Mail",
    "html": "<h1>Привет!</h1><p>Это первое тестовое письмо.</p>"
  }'

Node.js (fetch)

send.js
javascript
const res = await fetch("https://api.mail.synapsea.agency/v1/emails", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SYNAPSEA_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    from: "noreply@example.ru",
    to: "user@example.com",
    subject: "Hello from Synapsea Mail",
    html: "<h1>Привет!</h1>",
  }),
});
const data = await res.json();
console.log(data.id); // em_abc123...

Python (requests)

send.py
python
import os, requests

response = requests.post(
    "https://api.mail.synapsea.agency/v1/emails",
    headers={"Authorization": f"Bearer {os.environ['SYNAPSEA_API_KEY']}"},
    json={
        "from": "noreply@example.ru",
        "to": "user@example.com",
        "subject": "Hello from Synapsea Mail",
        "html": "<h1>Привет!</h1>",
    },
)
print(response.json()["id"])

Go (net/http)

send.go
go
package main

import (
  "bytes"
  "net/http"
  "os"
)

func main() {
  body := []byte(`{"from":"noreply@example.ru","to":"user@example.com","subject":"Hi","html":"<b>Hello</b>"}`)
  req, _ := http.NewRequest("POST", "https://api.mail.synapsea.agency/v1/emails", bytes.NewBuffer(body))
  req.Header.Set("Authorization", "Bearer "+os.Getenv("SYNAPSEA_API_KEY"))
  req.Header.Set("Content-Type", "application/json")
  http.DefaultClient.Do(req)
}

4. Отслеживать доставку

Каждое письмо получает уникальный id, по которому можно получить детали (статус, SMTP-ответ, события) через GET /v1/emails/:id или в журнале писем.

Что дальше