import LaneChat from 'lane-chat';
const lane = new LaneChat({ apiKey: process.env.LANE_KEY });
const reply = await lane.messages.create({
conversation_id: 'cv_8a2f',
content: 'What\'s my order status?'
});
Webhook
Мы стучимся в ваш эндпоинт в момент события. Отлично подходит для интеграции с вашим стеком.
Как это работает
1Добавьте URL эндпоинта в Настройки → Разработчикам → Webhooks.
2Мы отправляем события (message.created, conversation.closed, handover и т.д.) POST-запросом в формате JSON.
3Проверяйте заголовок X-Lane-Signature с помощью секрета вебхука.
4Верните 2xx в течение 10 секунд. Если не вернёте — мы повторим попытку с нарастающей паузой.
✺
Лучше всего для: Для передачи диалогов в вашу CRM, аналитическое хранилище или внутренний канал Slack.
Что мы отправляем вам POST-запросом
POST https://your-app.com/webhooks/lane
X-Lane-Signature: t=1713340800,v1=3f7d...
{
"event": "message.created",
"conversation_id": "cv_8a2f",
"channel": "telegram",
"message": {
"role": "user",
"content": "Здравствуйте, у меня не проходит оплата.",
"created_at": 1713340800
}
}
Проверьте подпись
import crypto from "node:crypto";
const sig = req.headers["x-lane-signature"];
const [, ts, v1] = sig.match(/t=(\d+),v1=(\w+)/);
const mac = crypto.createHmac("sha256", SECRET)
.update(`${ts}.${rawBody}`).digest("hex");
if (mac !== v1) return res.status(401).end();
КОРОТКО
Какой канал подходит вашей задаче?
Не знаете, с чего начать? Вот честный разбор того, в чём хорош каждый канал.
Возможность
Web
Telegram
App
API
Webhook
Двусторонний текст
✓
✓
✓
✓
Только приём
Изображения, файлы, голос
✓
✓
✓
✓
URL-пуш
Карточки и кнопки
✓
✓
✓
Сырой JSON
—
Пуш-уведомления
Только пока открыта вкладка
✓
APNs/FCM
✓
—
Рассылки / кампании
✗
✓
✓
Batch API
—
Передача ИИ → человек
✓
✓
✓
Колбэк по событию
—
Время настройки
5 мин
2 мин
Полдня
1 час
10 мин
Стоимость
Бесплатно
Бесплатно
Бесплатно
По тарификации
Бесплатно
ЧТО ДАЛЬШЕ
Каналы — это всего лишь дверь.
Каналы — это просто входная дверь. А вот что заставляет диалоги по-настоящему работать.