К содержанию
BSTCRMСправка

Основные запросы

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

Все запросы — к адресу вашей CRM с заголовком Authorization: Bearer bst_…. Данные отправляются и приходят в JSON. Даты — в UTC в формате ISO 8601. Списки поддерживают limit (до 100 за раз) и offset для постраничной загрузки; в ответе есть total — сколько записей всего.

Справочники

  • GET /meta/reference — точки (branches), воронки (pipelines), статусы сделок (statuses), сотрудники (users), кассы и счета (money_accounts).

Сделки

  • GET /api/orders — список. Фильтры: search (номер, клиент, телефон, госномер), status, branch_id, pipeline_id, client_id, car_id, payment_status (none — не оплачена, partial — частично, full — полностью, prepayment, debt, overpaid), date_from, date_to (ГГГГ-ММ-ДД).
  • GET /api/orders/{id} — карточка: клиент, машина, работы с мастерами, запчасти, оплаты, долг.
  • POST /api/orders — создать сделку *(нужен ключ «Чтение и изменение»)*.
  • POST /api/orders/{id}/status — сменить статус.
  • POST /api/orders/{id}/payments — записать оплату.

Создать сделку для клиента из онлайн-записи:

bash
curl -X POST https://ваша-компания.bstcrm.ru/api/orders \
  -H "Authorization: Bearer bst_ваш_ключ" -H "Content-Type: application/json" \
  -d '{"branch_id": 1, "client_id": 75, "visit_reason": "Запись с сайта: плановое ТО"}'

Ответ: {"id": 214} — номер новой сделки. Необязательные поля: car_id, pipeline_id, mileage, plate, responsible_id (ответственный менеджер).

Сменить статус (номер статуса — из /meta/reference, той же воронки, что и сделка):

bash
curl -X POST https://ваша-компания.bstcrm.ru/api/orders/214/status \
  -H "Authorization: Bearer bst_ваш_ключ" -H "Content-Type: application/json" \
  -d '{"status_id": 2, "comment": "Клиент подтвердил запись"}'

Записать оплату (account_id — касса или счёт из money_accounts; payment_method — cash наличные (только в кассу наличных), terminal терминал, transfer перевод; request_id — любой UUID, чтобы повторная отправка того же запроса не записала оплату дважды):

bash
curl -X POST https://ваша-компания.bstcrm.ru/api/orders/214/payments \
  -H "Authorization: Bearer bst_ваш_ключ" -H "Content-Type: application/json" \
  -d '{"account_id": 2, "amount": 4500, "payment_method": "terminal", "request_id": "6f1c2e8a-4b8e-4c1d-9a51-1f7d6d3c2b10"}'

Клиенты

  • GET /api/clients?search=Орлова — поиск по имени, телефону, e-mail. В ответе — число машин, сделок и долг клиента.
  • GET /api/clients/{id} — карточка клиента; GET /api/clients/{id}/orders — его сделки; GET /api/clients/{id}/cars — его машины.
  • POST /api/clients — новый клиент:
json
{"full_name": "Иван Тестовый", "phone": "+79001234567", "email": "", "source": "Сайт", "comment": "Записался онлайн"}

Ответ: {"id": 75}. Если клиент с таким телефоном уже есть, CRM вернёт ошибку — сначала ищите по телефону.

Автомобили

  • GET /api/cars?q=Polo — поиск по марке, модели, госномеру, VIN.
  • GET /api/cars/{id}, GET /api/cars/{id}/orders — машина и история её обслуживания.
  • POST /api/cars — добавить машину клиенту (client_id, brand, model, plate, vin, year, mileage).

Товары и остатки

  • GET /api/products?search=фильтр — товары с остатками: всего, в резерве, доступно, по каждому складу (warehouse_availability), закупочная и продажная цена.
  • GET /api/products/{id} — карточка товара.

Пример ответа на поиск товара (сокращённо):

json
{
  "items": [{
    "id": 3, "sku": "FIL-AIR", "brand": "MANN", "name": "Воздушный фильтр",
    "qty": 6.0, "reserved_qty": 0.0, "available_qty": 6.0, "sale_price": 1015.0,
    "warehouse_availability": [{"warehouse_id": 1, "warehouse_name": "Акорус", "available_qty": 6.0}]
  }],
  "total": 2
}
Не нашли ответ?Напишите нам — ответим и допишем статью, чтобы следующему было понятнее.
Связаться с нами