REST API для кампаний и данных, IMAP-sync для ответов, отдельный SMTP Access и инструкции по настройке популярных SMTP-провайдеров.
Три способа взаимодействия с платформой. Выбирайте, что удобнее под задачу.
Push-модель. Создавайте кампании, импортируйте подписчиков, читайте статистику. JSON-only, Bearer-token авторизация.
К документации →Добавляйте адреса в существующий список или создавайте новый. Невалидные и отписавшиеся адреса пропускаются.
Пример API →Подключите IMAP к каждому SMTP. Bulko каждые 5 минут забирает ответы и классифицирует через AI. Ничего вручную делать не нужно.
Настройка IMAP →Минимальный пример: создание кампании и старт отправки. На входе — список email'ов и шаблон. На выходе — campaign_id и URL дашборда статистики.
# Запуск кампании curl -X POST 'https://bulko.io/api/v1/campaigns/launch' \ -H 'Authorization: Bearer YOUR_API_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "name": "Q2 Outreach", "subject": "{Hi|Hello} {{name}}", "body": "<p>Hi {{name}}, ...</p>", "subscriber_list_id": 42, "ai_rotation": true }'
import requests resp = requests.post( "https://bulko.io/api/v1/campaigns/launch", headers={"Authorization": f"Bearer {API_TOKEN}"}, json={ "name": "Q2 Outreach", "subject": "{Hi|Hello} {{name}}", "body": "<p>Hi {{name}}, ...</p>", "subscriber_list_id": 42, "ai_rotation": True, }, ) campaign = resp.json() print("Campaign", campaign["id"], "started")
const resp = await fetch( 'https://bulko.io/api/v1/campaigns/launch', { method: 'POST', headers: { 'Authorization': `Bearer ${API_TOKEN}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ name: 'Q2 Outreach', subject: '{Hi|Hello} {{name}}', body: '<p>Hi ...</p>', subscriber_list_id: 42, ai_rotation: true, }), } ); const campaign = await resp.json(); console.log('Campaign', campaign.id, 'started');
$ch = curl_init('https://bulko.io/api/v1/campaigns/launch'); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_HTTPHEADER => [ 'Authorization: Bearer ' . $API_TOKEN, 'Content-Type: application/json', ], CURLOPT_POSTFIELDS => json_encode([ 'name' => 'Q2 Outreach', 'subject' => '{Hi|Hello} {{name}}', 'body' => '<p>Hi ...</p>', 'subscriber_list_id' => 42, 'ai_rotation' => true, ]), ]); $campaign = json_decode(curl_exec($ch), true);
/api/v1/campaigns/launchСоздать и запустить кампанию/api/v1/campaigns/{id}/statsСтатистика кампании/api/v1/subscribers/importИмпорт адресов (JSON)/api/v1/replies/?status=positiveСписок откликов с фильтрами/api/v1/smtp/accessesЛимиты SMTP Access/api/v1/account/balanceEmail и AI кредитыAPI-токен генерируется в настройках профиля. Rate-limit: 60 запросов/мин на токен.
Исходящие webhooks пока не доступны в production. Ниже перечислены события, которые планируется добавить после стабилизации REST API. Для текущей автоматизации используйте polling статистики и ответов.
Письмо успешно принято SMTP-сервером получателя. Содержит campaign_id, recipient, smtp_used, timestamp.
Получатель открыл письмо. Уникальные открытия (одно событие на адрес).
Клик по ссылке. Содержит url, recipient и campaign_id.
Получен ответ. Содержит body, AI-classification (positive/negative/question), confidence.
Bounce. Содержит SMTP error code (550, 553, 421...) и raw bounce-reason.
Получатель кликнул по unsubscribe-ссылке. Email вносится в глобальный suppression-list.
// Планируемый payload события "replied" — ещё не production API { "event": "replied", "campaign_id": 142, "recipient": "[email protected]", "reply": { "subject": "Re: Quick question", "body": "Sounds great, when can we talk?", "received_at": "2026-05-09T14:32:11Z", "ai_classification": "positive", "ai_confidence": 0.94 }, "timestamp": "2026-05-09T14:32:14Z" }
Это библиотека пошаговых инструкций для стандартного SMTP, а не список нативных интеграций Bulko. Для отправки без собственной настройки используйте Campaign Platform или SMTP Access.
Под каждый регион — оптимальный способ оплаты. Все провайдеры обрабатывают платежи на своей стороне, Bulko не хранит реквизиты карт.
Visa / Mastercard / Apple Pay / Google Pay. Все международные карты.
BTC / ETH / USDT / USDC и 70+ других криптовалют. Lightning supported.
Криптоплатежи с расширенной поддержкой стейблкоинов. Ниже комиссия чем у CoinGate.
Российские карты, СБП-QR. Для пользователей в РФ — самый быстрый способ.
REST API можно вызывать через универсальный HTTP Request/Webhooks action. Готовых приложений Bulko в каталогах этих сервисов пока нет.
Используйте Webhooks by Zapier для POST-запросов к импорту адресов и запуску кампании.
HTTP Request node даёт полный контроль над JSON body и позволяет периодически получать статистику и ответы.
Свяжите CRM с REST API через её встроенные HTTP actions или промежуточный сценарий в Zapier/n8n. Это не нативная интеграция.
Опишите задачу — поможем выбрать оптимальный путь. SDK-примеры для Python и Node.js по запросу.
[email protected]