Подготавливайте пространства клиентов
Создайте или повторно используйте пространство Clero и установите одобренные шаблоны агентов из серверной части.
Подключайте серверные системы партнёров, подготавливайте рабочие пространства клиентов, устанавливайте шаблоны агентов и отправляйте сообщения агентам автоматизации Clero с помощью постоянных серверных учётных данных.
Базовый URL
v1https://clero.so/api/v1Обзор
Публичный API предназначен для интеграций между серверными системами. Храните токены на сервере, используйте постоянные внешние идентификаторы для повторных запросов, а выполнение работы агентов в каждом пространстве доверьте Clero.
Создайте или повторно используйте пространство Clero и установите одобренные шаблоны агентов из серверной части.
Найдите пространства и агентов, а затем создайте источники API-чата для выбранных агентов автоматизации.
Объединяйте сообщения по session_id, устраняйте дубликаты через external_message_id, а затем опрашивайте API или получайте ответы.
Быстрый старт
Большинство партнёрских интеграций строится одинаково: авторизуйтесь, найдите или подготовьте рабочее пространство, подключите источник API-чата и отправляйте сообщения с постоянным ключом сессии.
Создайте токен в панели администрирования организации и предоставьте ему минимально необходимые разрешения.
Authorization: Bearer <PARTNER_TOKEN>Получите список пространств существующих клиентов или используйте external_space_id, чтобы создать либо повторно использовать пространство клиента.
GET /automation/spaces/ or POST /automation/agent-templates/provision-space/Создайте или повторно используйте источник, принимающий сообщения для определённого агента.
POST /automation/spaces/<SPACE_ID>/agents/<AGENT_ID>/api-chat/Используйте source_id, session_id и external_message_id, чтобы правильно объединять диалоги и безопасно повторять запросы.
POST /integrations/api-chat/message/Авторизация
Передавайте партнёрские токены в заголовке Authorization. Ограничьте каждый токен только необходимыми интеграции разрешениями, а при постоянных исходящих IP-адресах рабочей среды добавьте список разрешённых IP.
Значение партнёрского токена показывается только один раз при создании. Храните его в менеджере секретов серверной части и никогда не передавайте браузерным клиентам.
Предоставляйте только области доступа, необходимые интеграции, например spaces.read, agents.read, cron_jobs.write или области настройки и выполнения API-чата.
Пустой список allowed_ip_cidrs разрешает запросы с любого IP-адреса. В рабочей среде по возможности ограничивайте токены известными исходящими IP-адресами партнёра или диапазонами CIDR.
Для вызовов публичного API на балансе организации с оплатой по мере использования должен быть минимум $1 USD. При недостаточном балансе возвращается код 402, а запрос не обрабатывается.
Используйте один и тот же заголовок для запросов чтения, записи, настройки и выполнения.
curl -sS "https://clero.so/api/v1/automation/spaces/" \
-H "Authorization: Bearer <PARTNER_TOKEN>" \
-H "Accept: application/json"Ресурсы
Эта карта поможет быстро оценить возможности API. Файлы OpenAPI остаются основным источником точных схем запросов и ответов.
Создавайте рабочие пространства клиентов, получайте список доступных пространств и устанавливайте одобренные шаблоны агентов.
/automation/spaces/Получить список пространств, доступных партнёрскому токену.
/automation/agent-templates/provision-space/Создать или повторно использовать пространство и установить шаблоны агентов.
Найдите существующих агентов в пространстве перед созданием интеграций выполнения.
/automation/spaces/<SPACE_ID>/agents/Получить список агентов пространства и общедоступные метаданные их интеграций.
/automation/spaces/<SPACE_ID>/agents/<AGENT_ID>/api-chat/Создать или повторно использовать источник API-чата для существующего агента.
Отправляйте сообщения в Clero и получайте ответы ассистента после завершения обработки.
/integrations/api-chat/message/Зарегистрировать входящее сообщение для источника и сессии.
/integrations/api-chat/history/Запрашивать историю сессии и ответы ассистента после указанного курсора сообщения.
Загружайте документы или файловые вложения, а затем используйте возвращённые идентификаторы в процессах агентов.
/automation/documents/Загрузить или создать ресурсы документов для процессов автоматизации.
/automation/file-attachments/Загрузить файловые вложения с помощью multipart-запросов.
Планируйте повторяющуюся работу выбранного агента и сохраняйте возвращённые идентификаторы задач для поддержки.
/automation/partner-cron-jobs/Создать запланированную задачу автоматизации для существующего агента.
/automation/partner-cron-jobs/Просмотреть запланированные задачи, доступные партнёрскому токену.
Выполнение
API-чат сразу регистрирует входящие сообщения. Ответы ассистента доставляются позже через опрос или настроенные вебхуки, благодаря чему задержка запроса остаётся предсказуемой.
Конечная точка сообщений подтверждает регистрацию и возвращает внутренний идентификатор сообщения.
Режим маршрутизации источника определяет, попадёт ли сообщение во входящие агента или запустит независимый процесс сессии.
Опрашивайте историю с after_message_id или используйте настроенные вебхуки для получения готовых сообщений ассистента.
Используйте source_id вместе с session_id, чтобы сохранять контекст диалога.
curl -sS "https://clero.so/api/v1/integrations/api-chat/message/" \
-X POST \
-H "Authorization: Bearer <PARTNER_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"source_id": "<API_CHAT_SOURCE_ID>",
"session_id": "customer-123",
"text": "Can you check the latest booking details?",
"external_message_id": "msg-123",
"response_mode": "accepted"
}'Примеры
В этих фрагментах намеренно используются значения-заполнители. Не размещайте настоящие партнёрские токены, токены API-чата и идентификаторы клиентов в браузерном коде.
Найдите существующие пространства Clero, доступные токену этой организации.
curl -sS "https://clero.so/api/v1/automation/spaces/" \
-H "Authorization: Bearer <PARTNER_TOKEN>" \
-H "Accept: application/json"Найдите существующих агентов в выбранном пространстве Clero.
curl -sS "https://clero.so/api/v1/automation/spaces/<SPACE_ID>/agents/" \
-H "Authorization: Bearer <PARTNER_TOKEN>" \
-H "Accept: application/json"Создайте источник API-чата для отправки сообщений существующему агенту.
curl -sS "https://clero.so/api/v1/automation/spaces/<SPACE_ID>/agents/<AGENT_ID>/api-chat/" \
-X POST \
-H "Authorization: Bearer <PARTNER_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"name": "Customer API Chat",
"reply_capable": true,
"routing_mode": "agent_inbox"
}'Создайте или повторно используйте пространство, а затем установите один или несколько одобренных шаблонов агентов.
curl -sS "https://clero.so/api/v1/automation/agent-templates/provision-space/" \
-X POST \
-H "Authorization: Bearer <PARTNER_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"external_space_id": "customer-123",
"space": {
"name": "Customer workspace",
"description": "Workspace created by partner backend",
"is_org_wide": true
},
"agents": [
{
"template_id": "<TEMPLATE_ID>",
"name": "Customer agent",
"auto_create_api_chat": true,
"api_chat_routing_mode": "agent_inbox"
}
]
}'Запланируйте повторяющуюся работу существующего агента.
curl -sS "https://clero.so/api/v1/automation/partner-cron-jobs/" \
-X POST \
-H "Authorization: Bearer <PARTNER_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "<AGENT_ID>",
"name": "Daily partner sync",
"instructions": "Review new documents and summarize open risks.",
"schedule": {
"type": "cron",
"data": {
"minute": "0",
"hour": "9",
"day_of_week": "1-5"
},
"timezone": "UTC"
}
}'Надёжность
Повторные запросы интеграции должны быть безопасными там, где API предоставляет внешний идентификатор. Сохраняйте идентификаторы Clero из успешных ответов и используйте задержку перед повтором после устранимых ошибок.
Подготовка пространства
external_space_id
При повторных запросах передавайте тот же external_space_id, чтобы использовать существующее пространство клиента.
Сообщения API-чата
external_message_id
Используйте постоянный external_message_id для каждого сообщения источника и сессии. Повторный запрос с тем же идентификатором возвращает существующее сообщение вместо создания дубликата.
Опрос истории
after_message_id
При опросе новых ответов ассистента используйте внутренний message_id, возвращённый API, в качестве курсора.
Ограничения частоты
429 / Retry-After
Учитывайте Retry-After, если он присутствует. В остальных случаях используйте экспоненциальную задержку и не повторяйте неидемпотентные запросы создания.
Минимальный баланс
402 / organization_balance_too_low
Пополните баланс организации перед повторным запросом. Вызовы API при низком балансе отклоняются до обработки сообщений, сессий, файлов или задач.
Создание задачи cron
возвращённый идентификатор задачи cron
Сохраняйте возвращённый идентификатор задачи. Не повторяйте создание задачи cron без проверки, если серверная часть не защищает запрос от дублирования.
Справочник
Используйте руководство Markdown для людей, файлы llms для ИИ-агентов программирования и OpenAPI для проверки схем или генерации SDK.
Понятное человеку руководство по конечным точкам последней версии публичного API.
Компактный индексный файл для агентов, которым нужно быстро найти документацию API.
Полный справочник API в виде обычного текста, оптимизированный для ИИ-агентов программирования.
Машиночитаемая схема для генераторов SDK и валидаторов.
Схема YAML для просмотра, импорта и локальных инструментов.
Вопросы и ответы
Практические ответы о рабочих серверных интеграциях, объединении сообщений и обращении с учётными данными.
При создании или повторном использовании пространства с шаблонами агентов передавайте external_space_id. Повторный запрос с тем же external_space_id использует существующее пространство вместо создания ещё одного пространства клиента.
При отправке сообщений API-чата используйте external_message_id. Повторный запрос с тем же external_message_id в той же сессии API-чата возвращает существующее сообщение с created=false.
Создание API-чата для существующего агента можно безопасно повторять. Clero повторно использует автоматически управляемый источник API-чата этого агента вместо создания дубликатов.
Сейчас создание задачи cron не является идемпотентным POST-запросом. Сохраняйте возвращённый идентификатор задачи и не повторяйте запрос без проверки, если серверная часть не защищает его от дублирования.
Нет. Для работы с публичным API создайте или повторно используйте источник API-чата агента, а затем отправляйте сообщения в /integrations/api-chat/message/.
Так обмен сообщениями остаётся единообразным для режима входящих, режима процессов, опроса истории, вебхуков и файловых вложений.
Используйте agent_inbox, когда агент должен работать как единый обработчик входящих и обрабатывать несколько связанных сообщений в одной ветке.
Используйте session_workflow, когда каждое сообщение API-чата должно запускать независимый процесс через автоматически управляемый триггер.
Храните собственный external_space_id, идентификаторы Clero space_id и agent_id, source_id API-чата, идентификатор задачи cron и внутренний message_id, возвращённый API-чатом.
Сохраняйте external_message_id в собственном журнале запросов, чтобы повторять неудачные сетевые вызовы без создания дубликатов сообщений чата.
Считайте токены API-чата и партнёрские токены серверными секретами. Никогда не раскрывайте их в браузерном коде.
Повторяйте запросы после сетевых ошибок и ответов 5xx с теми же идентификаторами идемпотентности. Для ответов 429 учитывайте Retry-After, если он присутствует, и используйте экспоненциальную задержку.
Не повторяйте неидемпотентные запросы создания, если серверная часть не использует собственный ключ дедупликации или не хранит результат первого успешного запроса.
Вызовы публичного API отклоняются с кодом HTTP 402 и кодом ошибки organization_balance_too_low.
Пополните баланс организации перед повторным запросом; не повторяйте запросы с ответом 402 при низком балансе.
Да. Для поиска документации используйте /docs/api/latest/llms.txt, для полного текстового руководства — /docs/api/latest/llms-full.txt, а для схем — /docs/api/latest/openapi.json.
На публичной странице и в документации намеренно используется заполнитель PARTNER_TOKEN; авторизованная сессия Clero не требуется.
Пустой список разрешённых IP-адресов означает, что токен можно использовать с любого IP. Непустой список ограничивает токен указанными публичными исходящими IP-адресами или диапазонами CIDR.
Для рабочих серверных интеграций настройте allowed_ip_cidrs, если у партнёра есть постоянные исходящие IP-адреса.