API · Default

API-документация

Все внешние запросы идут с заголовком X-API-Key. Создайте внешний ключ в разделе “Пользователи и доступ → API-ключи”; полный ключ показывается один раз, в базе хранится только hash.

X-API-Key required

Авторизация

Пример для CRM, сайта или серверного скрипта. Если ключ скомпрометирован — отключите его в списке API-ключей.

X-API-Key: gs_live_... Content-Type: application/json
Создать или отключить API-ключ

Endpoints

МетодНазначениеПример JSON
POST /api/sitesСоздать/обновить проект
{"site_key":"luch","name":"Луч знаний","from_email":"no-reply@mail.luchznaniy.ru"}
POST /api/contacts/upsertСоздать/обновить контакт
{"site_key":"luch","email":"user@example.com","name":"Ирина","fields":{"course":"Педагогика"}}
POST /api/contacts/{contact_id}/statusИзменить статус контакта: active/unsubscribed/invalid/admin_blocked
{"status":"admin_blocked","reason":"manual block"}
POST /api/listsСоздать адресную книгу; uniqueness_mode=email или order
{"site_key":"luch","name":"Неоплаченные заказы","uniqueness_mode":"order"}
GET /api/lists?site_key=luchПолучить адресные книги проекта
POST /api/lists/{list_id}/contactsДобавить контакт в адресную книгу; для order-книги передавайте order_key
{"contact_id":123,"order_key":"КПК-135-96"}
POST /api/templatesСоздать email-шаблон
{"site_key":"luch","name":"Welcome","subject":"Привет {{name}}","html":"<p>...</p>","text":"..."}
POST /api/sequencesСоздать автоцепочку
{"site_key":"luch","name":"Repeat","steps":[{"template_id":1,"delay_minutes":0}]}
POST /api/sequences/{sequence_id}/enrollЗачислить контакт в цепочку
{"contact_id":123}
POST /api/send/transactionalТранзакционное письмо по шаблону
{"contact_id":123,"template_id":1}
POST /api/events/purchaseСобытие покупки/остановка цепочек; если передан order_id — отменяет только письма этого заказа
{"contact_id":123,"payload":{"order_id":"ORDER-1","amount":9900}}
POST /api/events/unpaid-orderСоздать/обновить неоплаченный заказ и запустить цепочку в контексте order_id
{"site_key":"luch","contact_id":123,"sequence_id":5,"order_id":"ORDER-2","course_name":"Педагогика"}
GET /api/campaigns/{campaign_id}/statsСтатистика рассылки: sent/open/click/unsubscribe/bounce
GET /api/inbox/messagesВходящие тестового ящика inbox@guru-send.ru: список писем для анализа
?mailbox=inbox@guru-send.ru&limit=20
GET /api/inbox/messages/{message_id}Прочитать одно входящее письмо: headers/body/snippet
?mailbox=inbox@guru-send.ru
GET /api/stats/overviewОбщая статистика сервиса
GET /api/sites/{site_key}/dns-checkПроверка DNS проекта

Статусы контакта

active — Активен unsubscribed — Отписался invalid — Адрес не существует admin_blocked — Заблокирован администратором