Если в KeyCRM еще нет интеграции с каким-то сервисом, то вы можете получать заказы по API или самостоятельно доработать нужные возможности по нашему открытому API.
Возможности API
API KeyCRM постоянно совершенствуется, добавляются новые методы и расширяются существующие. Актуальный функционал можно подробно просмотреть в нашей API-документации:
- Работа с воронками (Pipelines) дает возможность получать списки воронок и карточек, создавать и обновлять карточки, добавлять (обновлять) оплату и файлы для существующих карточек;
- Работа с заказами и их ассоциациями (Order) позволяет получать списки и данные по заказу,создавать и обновлять заказы, создавать заказы списком, добавлять (обновлять, удалять) оплату, расходы, файлы и теги. Также можно получить списки тегов, источников, статусов, платежных методов, типов расходов, статусов товаров и методов доставки;
- Работа с покупателями (Buyer) позволяет получать списки покупателей и данные конкретного покупателя, создавать, обновлять и импортировать их;
- Работа с компаниями (Company) позволяет получать списки компаний и информацию по компании, а также создавать и обновлять их;
- Работа с товарами (Products) предоставляет возможность получать списки товаров, категории товаров и данные по конкретному товару, создавать (обновлять) и импортировать товары, а также создавать новые варианты товаров и категории;
- Работа с вариантами товаров и остатками (Offer) позволяет получать список остатков и вариантов товаров, редактировать вариант товара и обновлять варианты товаров на складе;
- Работа с пользовательскими полями (Custom Fields) позволяет получать список пользовательских полей;
- Работа с файловой системой (Storage) позволяет получать список загруженных файлов и файлов по конкретной сущности, а также возможность загрузить файл на сервер и создает новую запись в файловой системе;
- Работа с оплатами (Payments) предоставляет возможность получать списки внешних транзакций и добавлять их к оплатам.
Что нужно при работе с API
При формировании запросов учитывайте некоторые рекомендации:
- Для авторизации нужно передавать заголовок в формате Bearer + APIkey.
"headers":{"authorization":["Bearer ваш-API-ключ"]}
-
У нас действует ограничение до 60 запросов в минуту с одного IP-адреса по API-ключу. Если частота запросов больше этого лимита, запросы начинают получать ошибку «Too Many Requests».
Рекомендуем оптимизировать ваш процесс, чтобы снизить количество запросов. Например, вы можете настроить паузу между запросами в 1 секунду;
-
На вашем сервере должен быть корректный SSL сертификат, чтобы было безопасное соединение;
-
Запросы должны отправляться с сервера, а не из браузера. Поскольку будет возникать ошибка CORS и такие запросы мы не обрабатываем в целях безопасности, в таком случае API токен будет в открытом доступе, другие пользователи смогут его получить и с его помощью получить доступ к личным данным или редактировать информацию пользователей;
-
Важно в запросах использовать строгую структуру методов, передавать данные в нужных форматах и с соответствующими типами данных. Обязательно передавайте формат обмен данных - application/json.
Как работать с документацией API
Отправлять запросы из документации API нет возможности, но вы можете сформировать тестовые запросы, просмотреть структуру и описание доступных методов и полей.
- Чтобы просмотреть метод - разверните его.
На вкладке «Schema» подробно описан каждый доступный параметр с указанием типа данных и примером значения.
Пример запроса содержит все доступные поля, но вы можете указывать только те, которые вам нужно передать (не нужно можно убрать).
Обращаем внимание, что в методах есть обязательные поля, которые на вкладке «Schema» обозначены красной звездочкой (*), эти поля должны передаваться в запросе.
В GET запросах вы увидите только пример ответа, а в POST запросах пример запроса, который вы можете отправить и просмотреть пример полей, которые получите в ответе.
- В GET запросах по умолчанию передаются только базовые данные, чтобы получить все доступные дополнительные, добавьте к запросу include, к каждому методу в документации добавлен список доступных.
При формировании запроса по умолчанию установлен вывод 15 элементов на странице, при необходимости можно увеличить до 50 элементов.
В ответе вы получите количество страниц с указанным количеством элементов на ней, поэтому в URL вы можете менять страницу, чтобы просмотреть все элементы.
Также вы можете сделать скрипт, который будет автоматически переключать страницы.
- В GET запросах можно использовать доступные фильтры и несколько фильтров сразу.
Если нужно получить список заказов по дате закрытия, поскольку стандартно у нас нет фильтра по дате закрытия, можно использовать 2 фильтра: дата обновления и статус заказа.
Чтобы узнать id статуса заказа, нужно делать дополнительный запрос на получение статусов заказа.
Пример URL:
https://openapi.keycrm.app/v1/order?limit=15&page=1&sort=id&filter%5Bstatus_id%5D=98&filter%5Bcreated_between%5D=2024-09-24%2C2024-09-23
В данной статье рассмотрели возможности API KeyCRM и особенности использования.