Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Типы данных и форматы параметров в REST API», проанализируем лучшие практики и покажем, как правильно использовать битрикс в реальных задачах.
Типы данных и форматы параметров в REST API
Тут может не хватать некоторых данных — дополним в ближайшее время
TO-DO _не выгружается на prod_
- статья про часовые пояса и вычисление сдвига от сервера. проверить особенности в задачах и crm и ссылка на нее в блока с примечением
- статья о работе с файлами со всеми примерами, которые друг от друга отличаются из-за разного api и ссылка на нее в таблице
- статья про crm.status.list с подробностями о том, какие там значения лежат и как их правильно извлекать. ссылку на статью надо разместить в таблице типов
- статья про список валюты
- статья про список контактов
- статья про список компаний
- статья про список лидов
- статья про список компредов
- статья про работу с местоположениями
- статья про список дел таймлайна
- необходимо расписать структуру объекта типа time
- не хватает описания типов function, callable
Базовые типы данных {#standart-types}
| Тип | Описания и значения |
|---|---|
integer | Целое число. Например 10116 |
boolean | Логическое значения. Чаще всего принимает значения ‘Y’ или ‘N’. В некоторых устаревших методах может принимать значения 0 или 1. Внимательно читайте описания к методам! |
double | Число с плавающей точкой. Например, 100.15 |
date | Дата в формате ‘YYYY-MM-DD’. Например, ‘2023-12-28’, то есть, 28 февраля 2023 года. |
datetime | Дата и время в формате ‘YYYY-MM-DDThh:mm:ss±hh:mm’. Например, ‘2023-12-28T14:05:48’, то есть, 14 часов 5 минут и 48 секунд 28 февраля 2023 года |
string | Однострочное строковое значение. Например, ‘Договор поставки’ |
text | Многострочное строковое значение, применимое в некоторых специальных полях объектов |
file | Прикрепленный файл. Может принимать числовое значение с уникальным идентификатором файла в системе или значение в виде массива, описывающего ряд параметров файла. Читайте о работе с файлами в соответствующем разделе |
array | Набор элементов простого типа. Например, массив целых чисел [1, 5, 67] или строк [‘deal’, ‘lead’, ‘quote’] |
object | Структура произвольного уровня вложенности, содержащая элементы разных типов данных. Например, |
any | В качестве значения параметра могут выступать различные типы данных |
При работе с полями типов _date_ и _datetime_ обратите внимание, что у каждого пользователя в Битрикс24 может быть указан в настройках собственный часовой пояс. В пользовательском интерфейсе Битрикс24 показывает даты и время, адаптируя их под конкретного пользователя, однако на уровне API все даты и время хранятся с учетом параметров сервера. Читайте подробности в соответствующем материале.
Ссылки на объекты и справочники {#standart-objects}
Поля объектов Битрикс24 могут содержать значения, ссылающиеся на другие объекты или на значения из справочников. Технически такие значения, чаще всего, хранятся и указываются в виде целочисленных идентификаторов конкретных объектов или элементов справочников. Но для удобства и подчеркивания таких связей, в документации мы будем использовать специальные типы вроде _crm_company_ или _crm_status_. Ниже приводятся примеры таких типов со ссылками на методы получения возможных значений.
| Тип | Описания и значения |
|---|---|
user | Целочисленный идентификатор пользователя Битрикс24. Например, 1. Получить идентификаторы пользователей можно с помощью метода user.get |
Справочники данных различных инструментов Битрикс24:
- CRM
- Интернет магазин
- Торговый каталог
Объект time {#time}
Объект time присутствует в ответах на все запросы к REST и содержит в себе информацию о времени выполнения запроса.
Названиетип | Описание |
|---|---|
startdouble | Timestamp момента инициализации запроса |
finishdouble | Timestamp момента завершения выполнения запроса |
durationdouble | Как долго в миллисекундах выполнялся запрос, то есть разница между finish и start |
date_startstring | Строковое представление даты и времени момента инициализации запроса |
date_finishdouble | Строковое представление даты и времени момента завершения запроса |
operating_reset_attimestamp | Timestamp момента, когда будет сброшен лимит на ресурсы REST API Читайте подробности в статье лимит на операции |
operatingdouble | Через сколько миллисекунд будет сброшен лимит на ресурсы REST API. Читайте подробности в статье лимит на операции |
💡 Экспертное мнение и рекомендации
Советы эксперта по интеграции:
- Всегда используйте кэширование при частых запросах к битрикс, чтобы разгрузить базу данных.
- Соблюдайте стандарты PSR при написании обработчиков для «Типы данных и форматы параметров в REST API».
- Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru