На главную

Справочник API

37 адресов, JSON и один заголовок с пропуском.

curl
curl -X POST https://<your-runner>/api/v1/conversations/<id>/notes \
  -H "Authorization: Bearer <access token>" \
  -H "Idempotency-Key: 4f9c-2a" \
  -H "Content-Type: application/json" \
  -d '{"text":"the price holds at 640-660"}'

Адреса

GET/api/v1

Воркспейс, участник и области пропуска

200
200 {
  "workspace": "9f1c…",
  "member": "4a2b…",
  "client": { "id": "d342…", "name": "Astra" },
  "scopes": ["inbox:read", "inbox:write", "send"]
}

GET/api/v1/conversations

Беседы, от свежих

cursorstring
Откуда продолжить: next из прошлого ответа
limitinteger
Сколько строк вернуть: 50 по умолчанию, 200 предел
200
200 {
  "conversations": [
    {
      "id": "c81f…",
      "person": "77a0…",
      "kind": "email",
      "lastMessageAt": "2026-09-20T09:41:02.000Z",
      "waitingSince": "2026-09-20T09:41:02.000Z",
      "importance": "high",
      "intent": "quote",
      "owner": null
    }
  ],
  "next": "MjAyNi0wOS0yMFQwOTo0MTowMi4wMDBafGM4MWY"
}

GET/api/v1/conversations/{id}

Одна беседа

PATCH/api/v1/conversations/{id}

Отложить, разбудить, закрыть, открыть, отдать, отметить встречу

snoozeUntilstring | null
До какого момента отложить; null — разбудить
whystring
Почему отложено — это прочитает команда
closedboolean
true — закрыть беседу, false — открыть заново
reasonstring
Повод закрытия: meeting_booked, not_interested, no_response, wrong_person, spam, personal, other
ownerstring | null
Кому отдать беседу; null — снять владельца
metboolean
Встреча назначена мимо переписки

GET/api/v1/conversations/{id}/messages

Письма беседы, от свежих

cursorstring
Откуда продолжить: next из прошлого ответа
limitinteger
Сколько строк вернуть: 50 по умолчанию, 200 предел
200
200 {
  "messages": [
    {
      "id": "m4c1…",
      "conversation": "c81f…",
      "direction": "inbound",
      "sender": { "name": "Pete", "handle": "pete@acme.example" },
      "subject": "Slabs",
      "text": "will you send the report?",
      "at": "2026-09-20T09:41:02.000Z",
      "automated": false,
      "agent": null,
      "voice": null
    }
  ],
  "next": null
}

POST/api/v1/conversations/{id}/messages

Письмо контрагенту — в очередь отправки

textstringrequired
Что отправить
tostring
Контакт контрагента, если их несколько
viastring
Наш ящик, если подходящих несколько
sendAtstring
Момент отправки; без него — как только дойдёт очередь
200
200 {
  "message": {
    "id": "o7d2…",
    "state": "queued",
    "sendAt": null,
    "to": "pete@acme.example"
  }
}

POST/api/v1/conversations/{id}/notes

Заметка внутри беседы: контрагент её не увидит

textstringrequired
Текст заметки

POST/api/v1/conversations/{id}/labels

Метка на беседу, по имени

namestringrequired
Имя метки; незнакомая заводится

DELETE/api/v1/conversations/{id}/labels/{label}

Снять метку

GET/api/v1/messages/{id}/files

Файлы при письме

GET/api/v1/files/{id}

Сам файл, байтами

GET/api/v1/people

Контрагенты, по имени

cursorstring
Откуда продолжить: next из прошлого ответа
limitinteger
Сколько строк вернуть: 50 по умолчанию, 200 предел

GET/api/v1/people/{id}

Один контрагент

PATCH/api/v1/people/{id}

Правка карточки контрагента

namestring
Как звать контрагента; пусто стирает имя
citystring
Город
jobTitlestring
Должность
companystring
Компания контрагента

POST/api/v1/people/{id}/tags

Повесить пару «товар + сторона»

labelstringrequired
Товарный тег
sidestringrequired
Сторона: buyer или seller

DELETE/api/v1/people/{id}/tags

Снять пару; она записывается снятой, а не удаляется

GET/api/v1/agents

Агенты воркспейса — все разом, без страниц

GET/api/v1/agents/{id}

Один агент, вместе со словами, которыми он работает

PATCH/api/v1/agents/{id}

Правка агента: присылайте только то, что меняется

goalstring
К чему агент ведёт разговор
rulesstring
Как ему себя вести
knowledgestring
Что он знает о вашем деле
enabledboolean
Работает ли агент вообще
labelsstring[]
Товарные теги, которые он ведёт; пусто — ведёт всех
channelsstring[]
Подключения, которыми он пишет; пусто — все каналы своих людей
hoursobject
Часы агента: пояс, с какого по какой и выходные

GET/api/v1/products

Продукты воркспейса — все разом

GET/api/v1/products/{id}

Один продукт с условиями

PATCH/api/v1/products/{id}

Правка продукта; завести его дверью нельзя

descriptionstring
Что это за продукт, вашими словами
sidestring
Продаём, покупаем или обе стороны
goalstring
Чего вы хотите от разговора о нём
conditionsobject[]
Условия парами «ключ: значение», каждое со своей стороной

GET/api/v1/workspace

Настройки воркспейса: пояс и разметка машиной

PATCH/api/v1/workspace

Правка настроек; имя и люди правятся на экране

timezonestring
Часовой пояс, которым считается день
taggingboolean
Размечает ли машина переписку сама

GET/api/v1/labels

Метки воркспейса: товарные и про переписку

GET/api/v1/audit

Журнал: кто открывал дверь и что через неё правили

GET/api/v1/channels

Подключения: чем воркспейс говорит и живы ли каналы

GET/api/v1/members

Участники и то, что каждый рассказал о себе агенту

PATCH/api/v1/members/{id}

Правка карточки участника

jobTitlestring
Должность участника
zonestring
Чем он занимается — что делает вопрос его
signaturestring
Чем он подписывает письмо

GET/api/v1/house

Общие правила агентов — только чтение

GET/api/v1/deals

Сделки: кто продаёт, кто покупает и где встала

statestring
open или closed; без него — обе

GET/api/v1/deals/{id}

Одна сделка

POST/api/v1/deals

Свести пару в сделку

labelstringrequired
Товар, по которому сводят
sellerstringrequired
Кто продаёт
buyerstringrequired
Кто покупает
agentstringrequired
Агент, который поведёт обе стороны

PATCH/api/v1/deals/{id}

Передвинуть сделку по пути или закрыть — одно за раз

stagestring
Стадия пути
closedboolean
Закрыть сделку

GET/api/v1/companies

Компании воркспейса — от чьего имени пишут агенты

GET/api/v1/companies/{id}

Одна компания с фактами

PATCH/api/v1/companies/{id}

Правка карточки компании

pitchstring
Что компания предлагает — ради чего агент пишет
policystring
На что она не соглашается и о чём молчит
factsobject[]
Факты парами «подпись: значение»

Страницы

Списки листаются курсором. Возьмите next из ответа и пришлите его обратно как есть. Пустой next — дальше ничего нет.

Повторы

Всё, что меняет, требует заголовок Idempotency-Key. Повтор с тем же ключом вернёт прежний ответ и не сделает работу второй раз.

Справочник API · Nitrino