API EN
Ранний доступ. Ключи выдаются по запросу. Как получить ключ

Итоги добавления лидов и остановки, состояния и очередь.

Маршруты

#Объект Command

Команда приема или остановки. Завершение обработки не подтверждает отправку.

Поля

  • objectstring
    Тип объекта, всегда command.
  • idstring (uuid)
    Идентификатор для опроса команды.
  • kindstring
    enroll: добавление; stop: остановка. Значения: enroll stop
  • statestring
    accepted, running, done, done_with_unknown, failed. Это состояние обработки команды. Значения: accepted running done done_with_unknown failed
  • workspace_idstring (uuid)
    Пространство исходной команды.
  • campaign_idstring (uuid)
    Кампания исходной команды.
  • lead_idstring (uuid) или null
    Лид стопа; у пакета null.
  • created_atstring (date-time)
    Время приема команды.
  • finished_atstring (date-time) или null
    Время завершения или null.
  • Осталась уборка остановленных задач. Продолжайте опрос.
  • resultobject
    Счетчики приема либо итог остановки.
  • itemsarray of object
    Результаты лидов в исходном порядке. У стопа пустой массив. До 100 элементов.
    Вложенные поля
    • Номер входного элемента с нуля.
    • lead_idstring (uuid) или null
      Принятый или существующий лид; null при отказе.
    • usernamestring или null
      Нормализованный ник или null. До 32 знаков.
    • external_idstring или null
      Внешний идентификатор или null. До 128 знаков.
    • statusstring
      accepted: новый лид; existing: существующий без изменений; rejected: отказ. Значения: accepted existing rejected
    • reasonstring или null
      Причина отказа или удержания, либо null.
    • warningsarray of string
      first_message_long при длине от 700 символов. До 1 элементов.
    • waiting, queued, held, failed, stopped, not_required. Постановка не подтверждает отправку. Значения: waiting queued held failed stopped not_required
Command
{
  "object": "command",
  "id": "bd465c91-d715-4987-ab61-e63a9f01c625",
  "kind": "enroll",
  "state": "accepted",
  "workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
  "campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
  "lead_id": null,
  "created_at": "2026-10-27T09:15:42.000Z",
  "finished_at": null,
  "cleanup_pending": false,
  "result": {
    "accepted": 1,
    "inserted": 1
  },
  "items": [
    {
      "input_index": 0,
      "lead_id": "5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31",
      "username": "example_lead",
      "external_id": "crm-1042",
      "status": "accepted",
      "reason": null,
      "warnings": [],
      "queue_state": "waiting"
    }
  ]
}

#Объект CommandItem

Итог приема и постановки одного лида.

Поля

  • Номер входного элемента с нуля.
  • lead_idstring (uuid) или null
    Принятый или существующий лид; null при отказе.
  • usernamestring или null
    Нормализованный ник или null. До 32 знаков.
  • external_idstring или null
    Внешний идентификатор или null. До 128 знаков.
  • statusstring
    accepted: новый лид; existing: существующий без изменений; rejected: отказ. Значения: accepted existing rejected
  • reasonstring или null
    Причина отказа или удержания, либо null.
  • warningsarray of string
    first_message_long при длине от 700 символов. До 1 элементов.
  • waiting, queued, held, failed, stopped, not_required. Постановка не подтверждает отправку. Значения: waiting queued held failed stopped not_required
CommandItem
{
  "input_index": 0,
  "lead_id": "5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31",
  "username": "example_lead",
  "external_id": "crm-1042",
  "status": "accepted",
  "reason": null,
  "warnings": [],
  "queue_state": "waiting"
}

#Объект EnrollResult

Поля

  • acceptedinteger
    Число новых лидов, принятых к постановке.
  • insertedinteger
    Число созданных записей, включая возможный отказ политики после создания. Без existing.
EnrollResult
{
  "accepted": 1,
  "inserted": 1
}

#Объект StopResult

Поля

  • stopping: отправка начата; stopped: новых попыток не будет. Значения: stopped stopping
  • Уже начатая отправка еще может завершиться.
  • Непрозрачные идентификаторы неизвестных исходов. Не повторяйте отправку по ним.
StopResult
{
  "automation_state": "stopping",
  "send_in_flight": true,
  "unknown_outcome_message_ids": []
}

#Получить команду

GET/v1/commands/{id}

Нужно право вида команды: leads:enroll для enroll, leads:stop для stop. Опрос не запускает отправку.

Право
leads:enroll | leads:stop
Вес запроса
1

Параметры

  • idstring (uuid), в путиобязательный
    Идентификатор команды.

Ответ

Объект Command.

Особые ошибки

  • scope_required: Ключ не разрешает операцию. Для команды нужно право ее вида.
  • not_found: Объект не найден или находится вне охвата ключа. Неизвестный путь тоже дает 404.

Общие ошибки описаны в руководстве Ошибки.

Запрос
curl https://api.melioralab.io/v1/commands/bd465c91-d715-4987-ab61-e63a9f01c625 \
  -H "Authorization: Bearer $MELIORA_API_KEY"
Ответ
{
  "object": "command",
  "id": "bd465c91-d715-4987-ab61-e63a9f01c625",
  "kind": "enroll",
  "state": "accepted",
  "workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
  "campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
  "lead_id": null,
  "created_at": "2026-10-27T09:15:42.000Z",
  "finished_at": null,
  "cleanup_pending": false,
  "result": {
    "accepted": 1,
    "inserted": 1
  },
  "items": [
    {
      "input_index": 0,
      "lead_id": "5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31",
      "username": "example_lead",
      "external_id": "crm-1042",
      "status": "accepted",
      "reason": null,
      "warnings": [],
      "queue_state": "waiting"
    }
  ]
}