API для интеграций
Как подключить сайт, 1С или свой сервис к GIPIX CRM — API-ключ, методы, лимиты и безопасность.
Что это и зачем
позволяет внешним системам добавлять данные в ваш CRM без входа в браузер:
- создавать записи (подтверждённые визиты);
- принимать онлайн-заявки (как с публичной страницы записи);
- добавлять товары на склад;
- читать справочники (услуги, мастера, слоты), искать клиента по телефону и просматривать список записей.
Типичные сценарии: форма на вашем сайте, обмен с 1С, скрипт на сервере, автоматизация (n8n, Make и т.п.).
Для кого этот раздел
- Владелец сервиса — создаёт ключ и включает нужные методы на вкладке API.
- Программист или интегратор — подключает сайт, 1С или скрипт по примерам ниже.
- Если вы не работаете с кодом — достаточно прочитать блок «Как открыть настройки» и передать ключ специалисту. Технические примеры можно пропустить.
Важно API не предназначен для массовой выгрузки базы клиентов. Чтение клиентов — только по номеру телефона. Список записей — с фильтрами и постраничной выдачей (не «вся база одним файлом»).
Как это работает (схема)
Простыми словами: посетитель заполняет форму на сайте → данные отправляет ваш сервер (не страница в браузере) → CRM создаёт запись или заявку. Ключ API — как пароль: храните его на сервере, не показывайте на сайте.
Как открыть настройки
- Войдите в CRM как владелец аккаунта: cp.gipix-lite.ru.
- Откройте (
/integrations) — из меню или раздела . - Перейдите на вкладку API.
- Переключатель API включёнБез него ключ не работает
- Создать ключ / Перевыпустить ключКлюч показывается один раз — сразу скопируйте
- Переключатели методовЗапись, онлайн-запись, склад, справочники…
- Лимиты запросовСколько обращений в минуту допустимо
На экране вы увидите (сверху вниз):
| Зона экрана | Что там |
|---|---|
| Переключатель API включён | Без него ключ не работает |
| Кнопки Создать ключ / Перевыпустить ключ | Выпуск и замена ключа |
| Список методов с переключателями | Какие операции разрешены (запись, онлайн, склад…) |
| Блок Лимиты запросов | Сколько запросов в минуту допустимо |
| Сохранить внизу | Обязательно после любых изменений |
Скриншот Внешний вид вкладки совпадает с карточкой на странице Интеграций — откройте → API.
Подробнее о других каналах (Telegram, MAX, звонки) — в Интеграциях.
Примечание Раздел доступен владельцу на тарифе Pro и выше.
API-ключ
Создание
- На вкладке API нажмите Создать ключ (или Перевыпустить ключ, если ключ уже был).
- Откроется окно с полным ключом вида
gpx_…. - Нажмите Скопировать ключ и сохраните его в надёжном месте (менеджер паролей, настройки вашего сервера).
Ключ показывается один раз После закрытия окна полный ключ больше не отображается в CRM. В интерфейсе останется только префикс (
gpx_…) для узнавания. Если ключ потерян — перевыпустите новый; старый перестанет работать.
Включение и отзыв
- Переключатель API включён — без него запросы с ключом отклоняются, даже если ключ известен.
- Отозвать — немедленно блокирует ключ; интеграции перестанут работать до выпуска нового.
После изменения прав (какие методы разрешены) нажмите Сохранить внизу страницы интеграций.
Права (методы)
На вкладке API можно включить или отключить каждый метод отдельно:
| Метод в CRM | Назначение |
|---|---|
| Подтверждённая запись из внешней системы | |
| Заявка со статусом «ожидает подтверждения», как с публичной страницы | |
| Добавить товар на склад | Новая позиция с начальным остатком |
| Справочники и слоты | Услуги, мастера, свободные слоты на дату |
| Клиент по телефону | Точечный поиск без выгрузки всей базы |
| Список записей | Все, грядущие, прошлые, сегодня (period) |
Рекомендуется включать только то, что реально использует ваша интеграция.
Базовый адрес и авторизация
Если вы не программист Передайте интегратору три вещи: адрес API (ниже), ключ
gpx_…и список включённых методов. Примерыcurlи JSON — для разработчика.
Базовый URL API (адрес, куда отправляются запросы):
https://cp.gipix-lite.ru/api/crm/v1Авторизация — ключ передаётся в заголовке HTTP-запроса (это служебная строка, которую добавляет сервер или программа, не пользователь в CRM):
Authorization: Bearer gpx_ВАШ_КЛЮЧФормат Bearer gpx_… означает: «вот секретный ключ, разреши операцию». Альтернативный заголовок:
X-GIPIX-API-Key: gpx_ВАШ_КЛЮЧНе вставляйте ключ в код сайта Ключ нельзя размещать в JavaScript на публичной странице — его увидит любой посетитель. Вызывайте API с вашего сервера (backend сайта, 1С, скрипт), а не из браузера клиента.
Только HTTPS На продакшене используйте
https://cp.gipix-lite.ru. Не передавайте ключ по незашифрованному HTTP.
Методы API
Проверка ключа
GET /api/crm/v1/health
Authorization: Bearer gpx_ВАШ_КЛЮЧОтвет подтверждает, что ключ действителен, и показывает включённые права (запись, чтение, склад и т.д.).
Справочники (чтение)
GET /api/crm/v1/services
GET /api/crm/v1/masters
GET /api/crm/v1/booking/slots?date=2026-07-01Слоты рассчитываются по настройкам онлайн-записи. Параметр master необязателен.
Клиент по телефону
GET /api/crm/v1/clients?phone=%2B79001234567Без параметра phone запрос отклоняется. Полной выгрузки клиентов нет.
Список записей
GET /api/crm/v1/appointments?period=upcoming
GET /api/crm/v1/appointments?period=today
GET /api/crm/v1/appointments?period=past
GET /api/crm/v1/appointments?period=all
GET /api/crm/v1/appointments/123| Параметр | Описание |
|---|---|
period | all — все; upcoming — грядущие (по умолчанию); past — прошлые; today — на сегодня |
phone | Фильтр по телефону клиента (необязательно) |
page, per_page | Пагинация (до 100 на страницу) |
Черновики (is_draft) в список не попадают.
Добавить запись
POST /api/crm/v1/appointments
Content-Type: application/json
Authorization: Bearer gpx_ВАШ_КЛЮЧОбязательные поля в теле (JSON):
| Поле в API | Что это в CRM | Пример |
|---|---|---|
date | Дата визита | 2026-07-01 или 01.07.2026 |
time | Время | 10:00 |
customer_name | Имя клиента | Иван |
car_model | Автомобиль | Toyota Camry |
reason / services / services_planned | Услуга или причина визита | Диагностика |
Необязательно: customer_phone, master, master_ids, comment, estimated_price, car_vin, car_plate.
Запись создаётся подтверждённой (как из формы CRM).
Пример:
curl -X POST 'https://cp.gipix-lite.ru/api/crm/v1/appointments' \
-H 'Authorization: Bearer gpx_ВАШ_КЛЮЧ' \
-H 'Content-Type: application/json' \
-d '{
"date": "2026-07-01",
"time": "10:00",
"customer_name": "Иван",
"customer_phone": "+79001234567",
"car_model": "Toyota Camry",
"reason": "Диагностика"
}'Онлайн-запись
POST /api/crm/v1/online-bookingПравила те же, что у публичной онлайн-записи: обязательны дата, время, имя, телефон; автомобиль и услуга — если так настроено в Онлайн-записи.
Заявка попадает в CRM со статусом ожидает подтверждения; команде могут уйти уведомления (Telegram / MAX), если они настроены.
Пример:
curl -X POST 'https://cp.gipix-lite.ru/api/crm/v1/online-booking' \
-H 'Authorization: Bearer gpx_ВАШ_КЛЮЧ' \
-H 'Content-Type: application/json' \
-d '{
"date": "2026-07-01",
"time": "10:00",
"customer_name": "Иван",
"customer_phone": "+79001234567",
"car_model": "Toyota Camry",
"reason": "Замена масла"
}'Добавить товар на склад
POST /api/crm/v1/warehouse/parts| Поле | Обязательно | Описание |
|---|---|---|
name | да | Название запчасти |
price | да | Цена продажи (> 0) |
quantity | нет | Начальный остаток |
purchase_price | нет | Закупочная цена |
original_number, manufacturer_number | нет | Артикулы |
supplier, manufacturer, location | нет | Справочная информация |
Подробнее о складе в CRM — в Склад запчастей.
Пример:
curl -X POST 'https://cp.gipix-lite.ru/api/crm/v1/warehouse/parts' \
-H 'Authorization: Bearer gpx_ВАШ_КЛЮЧ' \
-H 'Content-Type: application/json' \
-d '{
"name": "Масляный фильтр",
"quantity": 5,
"purchase_price": 320,
"price": 490
}'Ответы и ошибки
| Код | Простыми словами | Что проверить |
|---|---|---|
201 | Успешно создано | — |
400 | Неверные или неполные данные | Обязательные поля (дата, время, имя, авто, услуга) |
401 | Ключ не принят | API включён, ключ скопирован целиком (gpx_…) |
403 | Доступ запрещён | Метод выключен на вкладке API, тариф Free, или подписка истекла |
429 | Слишком много запросов | Подождите и повторите; см. лимиты ниже |
При ошибке 429 в ответе есть поле retry_after — сколько секунд подождать перед повтором (и заголовок Retry-After для программ).
Лимиты запросов (антиспам)
Чтобы защитить CRM от перегрузки и перебора ключей, действуют лимиты на один API-ключ:
| Правило | Лимит |
|---|---|
| Общий | 60 запросов в минуту, 500 в час |
| Добавить запись | 30 / мин |
| Онлайн-запись | 20 / мин |
| Склад | 30 / мин |
| Справочники / слоты | 60 / мин |
| Клиент по телефону | 30 / мин |
| Список записей | 60 / мин |
| Неверный ключ с одного IP | 30 попыток за 15 мин |
| Выпуск ключа в CRM | 10 раз в час |
Актуальные цифры отображаются на вкладке API → Лимиты запросов в Интеграциях.
Безопасность
Что защищено:
- ключ в базе хранится как хэш — украсть его из БД нельзя;
- полный ключ не показывается повторно в интерфейсе;
- API не отдаёт полный список клиентов — только поиск по телефону;
- список записей — с фильтрами
periodи пагинацией, без выгрузки «всей истории» одним файлом; - доступ только у владельца для создания ключа;
- есть лимиты и блокировка перебора неверных ключей.
Главный риск — утечка ключа. Тот, у кого есть ключ, может добавлять записи и товары от имени вашего сервиса, но не читать всю базу.
Рекомендации:
- Храните ключ как пароль; не коммитьте в Git и не отправляйте в мессенджеры.
- Вызывайте API только с сервера, не из браузера посетителя.
- Включайте минимум прав (отключите склад, если не нужен).
- При подозрении на утечку — Отозвать ключ и выпустить новый.
- Выключайте API (API включён), когда интеграция не используется.
Частые вопросы
- Ключ не работает (ошибка 401). Проверьте: переключатель API включён, ключ скопирован целиком (с
gpx_), нет лишних пробелов. Ключ передаётся с сервера, не из кода страницы сайта. - 403 — метод недоступен. Откройте вкладку API, включите нужный переключатель (запись / онлайн / склад), нажмите Сохранить.
- 403 — нужен платный тариф. API работает только на Pro и Business. Продлите подписку в разделе «Тариф».
- 429 — слишком много запросов. Подождите указанное в ответе число секунд или реже обращайтесь к API.
- Онлайн-запись отклоняется. Сверьте настройки Онлайн-записи: график, закрытые дни, запись на сегодня, обязательность автомобиля и услуги.
- Можно ли выгрузить всех клиентов через API? Нет — только поиск по
phone. Для выгрузки используйте разделы CRM (клиенты, отчёты). - Как получить только сегодняшние записи?
GET /api/crm/v1/appointments?period=today.
Связь с другими разделами
- Интеграции — Telegram, MAX, звонки, поставщики.
- Онлайн-запись — публичная страница и правила слотов.
- Склад запчастей — учёт остатков в CRM.
- Панель управления и записи — где появятся созданные записи.
- Обратная связь — если нужна помощь с нестандартной интеграцией.