Блог Горошко Андрея Bitrix24 Типы данных и форматы параметров в REST API

Типы данных и форматы параметров в REST API

Каждый 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Структура произвольного уровня вложенности, содержащая элементы разных типов данных. Например,

{
    data: {
        foo: "bar",
        bar: "foo",
        items: [
            1,
            100,
            200,
        ]
    }
}
anyВ качестве значения параметра могут выступать различные типы данных

При работе с полями типов _date_ и _datetime_ обратите внимание, что у каждого пользователя в Битрикс24 может быть указан в настройках собственный часовой пояс. В пользовательском интерфейсе Битрикс24 показывает даты и время, адаптируя их под конкретного пользователя, однако на уровне API все даты и время хранятся с учетом параметров сервера. Читайте подробности в соответствующем материале.

Ссылки на объекты и справочники {#standart-objects}

Поля объектов Битрикс24 могут содержать значения, ссылающиеся на другие объекты или на значения из справочников. Технически такие значения, чаще всего, хранятся и указываются в виде целочисленных идентификаторов конкретных объектов или элементов справочников. Но для удобства и подчеркивания таких связей, в документации мы будем использовать специальные типы вроде _crm_company_ или _crm_status_. Ниже приводятся примеры таких типов со ссылками на методы получения возможных значений.

ТипОписания и значения
userЦелочисленный идентификатор пользователя Битрикс24. Например, 1. Получить идентификаторы пользователей можно с помощью метода user.get

Справочники данных различных инструментов Битрикс24:

  • CRM
  • Интернет магазин
  • Торговый каталог

Объект time {#time}

Объект time присутствует в ответах на все запросы к REST и содержит в себе информацию о времени выполнения запроса.

Название
тип
Описание
start
double
Timestamp момента инициализации запроса
finish
double
Timestamp момента завершения выполнения запроса
duration
double
Как долго в миллисекундах выполнялся запрос, то есть разница между finish и start
date_start
string
Строковое представление даты и времени момента инициализации запроса
date_finish
double
Строковое представление даты и времени момента завершения запроса
operating_reset_at
timestamp
Timestamp момента, когда будет сброшен лимит на ресурсы REST API

Читайте подробности в статье лимит на операции

operating
double
Через сколько миллисекунд будет сброшен лимит на ресурсы REST API.

Читайте подробности в статье лимит на операции

💡 Экспертное мнение и рекомендации

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к битрикс, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Типы данных и форматы параметров в REST API».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Открепить все диалоги от оператора imopenlines.session.mode.unpinAllОткрепить все диалоги от оператора imopenlines.session.mode.unpinAll

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Открепить все диалоги от оператора imopenlines.session.mode.unpinAll», проанализируем лучшие

Разработка системы резервирования товаров под тендерные закупки (44-ФЗ и 223-ФЗ)Разработка системы резервирования товаров под тендерные закупки (44-ФЗ и 223-ФЗ)

Разработка и внедрение профессионального B2B-портала и дилерского кабинета на 1С-Битрикс позволяет кардинально сократить издержки отдела оптовых продаж, перевести дилеров на самообслуживание 24/7 и исключить ошибки ручного ввода заказов. Услуга «Разработка

Получить поля для типов плательщиков crm.persontype.fieldsПолучить поля для типов плательщиков crm.persontype.fields

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить поля для типов плательщиков crm.persontype.fields». Вы узнаете экспертные методики работы с crm.persontype.fields