Какие возможности предоставляет API KeyCRM

Рассказываем о возможностях и особенностях API KeyCRM
Автор Анастасія Останіна
Обновлено 1 неделю назад

Если в KeyCRM еще нет интеграции с каким-то сервисом, то вы можете получать заказы по API или самостоятельно доработать нужные возможности по нашему открытому API.

Возможности API

API KeyCRM постоянно совершенствуется, добавляются новые методы и расширяются существующие. Актуальный функционал можно подробно просмотреть в нашей API-документации:

  • Работа с воронками (Pipelines) дает возможность получать списки воронок и карточек, создавать и обновлять карточки, добавлять (обновлять) оплату и файлы для существующих карточек;
  • Работа с заказами и их ассоциациями (Order) позволяет получать списки и данные по заказу,создавать и обновлять заказы, создавать заказы списком, добавлять (обновлять, удалять) оплату, расходы, файлы и теги. Также можно получить списки тегов, источников, статусов, платежных методов, типов расходов, статусов товаров и методов доставки;
  • Работа с покупателями (Buyer) позволяет получать списки покупателей и данные конкретного покупателя, создавать, обновлять и импортировать их;
  • Работа с компаниями (Company) позволяет получать списки компаний и информацию по компании, а также создавать и обновлять их;
  • Работа с товарами (Products) предоставляет возможность получать списки товаров, категории товаров и данные по конкретному товару, создавать (обновлять) и импортировать товары, а также создавать новые варианты товаров и категории;
  • Работа с вариантами товаров и остатками (Offer) позволяет получать список остатков и вариантов товаров, редактировать вариант товара и обновлять варианты товаров на складе;
  • Работа с пользовательскими полями (Custom Fields) позволяет получать список пользовательских полей;
  • Работа с файловой системой (Storage) позволяет получать список загруженных файлов и файлов по конкретной сущности, а также возможность загрузить файл на сервер и создает новую запись в файловой системе;
  • Работа с оплатами (Payments) предоставляет возможность получать списки внешних транзакций и добавлять их к оплатам.

 

Что нужно при работе с API

При формировании запросов учитывайте некоторые рекомендации:

  1. Для авторизации нужно передавать заголовок в формате Bearer + APIkey.
    "headers":{"authorization":["Bearer ваш-API-ключ"]}
  2. У нас действует ограничение до 60 запросов в минуту с одного IP-адреса по API-ключу. Если частота запросов больше этого лимита, запросы начинают получать ошибку «Too Many Requests».

    Рекомендуем оптимизировать ваш процесс, чтобы снизить количество запросов. Например, вы можете настроить паузу между запросами в 1 секунду;

  3. На вашем сервере должен быть корректный SSL сертификат, чтобы было безопасное соединение;

  4. Запросы должны отправляться с сервера, а не из браузера. Поскольку будет возникать ошибка CORS и такие запросы мы не обрабатываем в целях безопасности, в таком случае API токен будет в открытом доступе, другие пользователи смогут его получить и с его помощью получить доступ к личным данным или редактировать информацию пользователей;

  5. Важно в запросах использовать строгую структуру методов, передавать данные в нужных форматах и с соответствующими типами данных. Обязательно передавайте формат обмен данных - application/json.

Как работать с документацией API

Отправлять запросы из документации API нет возможности, но вы можете сформировать тестовые запросы, просмотреть структуру и описание доступных методов и полей.

Для проверки запроса можно использовать программы для работы с API, например POSTMAN: загрузите файл со всеми методами 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 и особенности использования.

Теги: api, апи, API, АПИ, возможности в A PI, GET, POST, PUT, вкладка Schema, фильтры, include, CORS, json.
Оцените эту статью