API и вебхуки для интеграций

Используйте REST API и вебхуки Salebot для глубокой интеграции с вашими системами: CRM, ERP, базами данных, аналитическими платформами.

Ключевые возможности: отправка сообщений, получение событий в реальном времени, управление клиентами, синхронизация данных.

Архитектура интеграций

🔗 REST API

Программный интерфейс для управления ботами, клиентами, рассылками. Поддерживает JSON, аутентификацию по токену.

🔄 Вебхуки (Webhooks)

События в реальном времени: новые сообщения, изменения статуса заказов, действия клиентов.

📦 SDK и библиотеки

Готовые библиотеки для Python, PHP, Node.js, Java, C# для быстрого старта.

Настройка вебхуков

  1. В личном кабинете Salebot перейдите в "Настройки" → "Интеграции" → "Вебхуки"
  2. Нажмите "Добавить вебхук" и укажите URL вашего сервера (должен быть доступен из интернета по HTTPS)
  3. Выберите типы событий для отправки:
    • message.received — новое сообщение от клиента
    • message.sent — сообщение отправлено ботом
    • order.created — создан новый заказ
    • client.updated — обновлены данные клиента
    • bot.started — бот активирован
  4. Установите секретный ключ для подписи запросов (рекомендуется)
  5. Сохраните настройки — Salebot начнёт отправлять события на ваш URL
  6. Протестируйте, отправив сообщение боту — на ваш сервер придёт POST-запрос с данными

Пример кода: обработка вебхука на Python

from flask import Flask, request, jsonify
import hashlib
import hmac

app = Flask(__name__)
WEBHOOK_SECRET = 'your-secret-key'

@app.route('/webhook/salebot', methods=['POST'])
def handle_webhook():
    # Проверка подписи
    signature = request.headers.get('X-Salebot-Signature')
    payload = request.get_data()
    
    expected_signature = hmac.new(
        WEBHOOK_SECRET.encode(),
        payload,
        hashlib.sha256
    ).hexdigest()
    
    if not hmac.compare_digest(signature, expected_signature):
        return jsonify({'error': 'Invalid signature'}), 403
    
    # Обработка события
    event = request.json
    event_type = event.get('type')
    
    if event_type == 'message.received':
        message = event['data']['message']
        client_id = event['data']['client_id']
        # Ваша логика обработки
        print(f"Новое сообщение от {client_id}: {message}")
    
    return jsonify({'status': 'ok'})

if __name__ == '__main__':
    app.run(port=5000, ssl_context='adhoc')

Пояснение: Этот код принимает вебхуки от Salebot, проверяет подпись и обрабатывает событие получения сообщения.

Практические примеры из опыта

Пример 1: Синхронизация с 1С

Задача: При создании заказа в Salebot автоматически создавать документ "Заказ покупателя" в 1С.

Решение: Настроили вебхук order.created, который отправляет данные в middleware на C#, преобразующий их в формат 1С и вызывающий HTTP-сервис 1С.

Результат: Время от создания заказа до появления в 1С сократилось с 2 часов (ручной перенос) до 15 секунд.

Пример 2: Интеграция с AmoCRM

Задача: Автоматически создавать сделки в AmoCRM при первом сообщении от нового клиента.

Решение: Использовали вебхук client.updated и REST API AmoCRM. Написали скрипт на PHP, который определяет, новый ли клиент, и создаёт сделку с тегами из истории диалога.

Результат: 100% лидов попадают в CRM без ручного ввода, менеджеры получают уведомления в реальном времени.

Дальнейшие шаги