Роут-провайдер
Данный роут помогает получить доступ к штатному АПИ платформы.
Необходимо активировать нативные роуты.
Для выполнения запроса к нативному роуту-провайдеру, также необходимо использовать авторизацию по токену.
Либо, можно переопределить роут-провайдер через собственные карты роутов, и сконфигурировать его под конкретные нужды проекта.
При штатных настройках, для взаимодействия с роутом, необходимо:
Послать GET-запрос с нужным классом и методом, чтобы увидеть, какие параметры готов принять метод указанного класса.
Далее, будет рассмотрен пример по получению заказов.
Получение информации по классу и методу штатного АПИ платформы.
GET
https://site.com/api/provider?class=CSaleOrder&method=GetList
Query Parameters
class*
String
Класс модуля
method*
String
Метод класса
{
"class": {
"name": "CSaleOrder",
"file": "C:\\WebServer\\module.loc\\bitrix\\modules\\sale\\mysql\\order.php"
},
"method": {
"name": "GetList",
"doc": "/**\n\t * @param array $arOrder\n\t * @param array $arFilter\n\t * @param bool|array $arGroupBy\n\t * @param bool|array $arNavStartParams\n\t * @param array $arSelectFields\n\t * @param array $arOptions\n\t * @return bool|CDBResult\n\t */",
"deprecated": false,
"static": true,
"parameters": {
"arOrder": {
"name": "arOrder",
"defaultValue": {
"ID": "DESC"
},
"isPassedByReference": false
},
"arFilter": {
"name": "arFilter",
"defaultValue": [],
"isPassedByReference": false
},
"arGroupBy": {
"name": "arGroupBy",
"defaultValue": false,
"isPassedByReference": false
},
"arNavStartParams": {
"name": "arNavStartParams",
"defaultValue": false,
"isPassedByReference": false
},
"arSelectFields": {
"name": "arSelectFields",
"defaultValue": [],
"isPassedByReference": false
},
"arOptions": {
"name": "arOptions",
"defaultValue": [],
"isPassedByReference": false
}
}
}
}
Теперь, когда мы видим, какие параметры готов принять метод указанного класса, мы можем выполнить запрос, для получения данных.
Для выполнения запроса необходимо отравлять POST-запрос, в теле которого будут переданы параметры запроса. Пример, далее.
// Тело запроса
{
"class": "CSaleOrder",
"method": "GetList",
"parameters": {
"arFilter": {
"LID": "s1"
}
}
}
Получение данных используя класс и метод штатного АПИ платформы.
POST
https://site.com/api/provider
Headers
Content-Type*
String
application/json
Request Body
class*
String
Класс модуля
method*
String
Метод класса
parameters*
Object
Параметры для метода
[
{
"ID": "2",
"LID": "s1",
"ACCOUNT_NUMBER": "2",
"TRACKING_NUMBER": "",
"PAY_SYSTEM_ID": "1",
"DELIVERY_ID": "new1:profile",
"DATE_INSERT": "13.07.2023 16:41:16",
"DATE_UPDATE": "13.07.2023 16:41:16",
"PERSON_TYPE_ID": "0",
"USER_ID": "1",
"PAYED": "N",
"IS_SYNC_B24": "N",
"DATE_PAYED": null,
"EMP_PAYED_ID": null,
"DEDUCTED": "N",
"DATE_DEDUCTED": null,
"EMP_DEDUCTED_ID": null,
"REASON_UNDO_DEDUCTED": null,
"STATUS_ID": "N",
"DATE_STATUS": "13.07.2023 16:41:15",
"EMP_STATUS_ID": "1",
"MARKED": "N",
"DATE_MARKED": null,
"EMP_MARKED_ID": null,
"REASON_MARKED": null,
"PRICE_DELIVERY": "0",
"ALLOW_DELIVERY": "N",
"DATE_ALLOW_DELIVERY": null,
"EMP_ALLOW_DELIVERY_ID": null,
"RESERVED": "N",
"PRICE": "19350",
"CURRENCY": "RUB",
"DISCOUNT_VALUE": "0",
"TAX_VALUE": "0.00",
"SUM_PAID": "0.00",
"USER_DESCRIPTION": "",
"PAY_VOUCHER_NUM": "",
"PAY_VOUCHER_DATE": null,
"ADDITIONAL_INFO": null,
"COMMENTS": "",
"COMPANY_ID": null,
"CREATED_BY": "1",
"RESPONSIBLE_ID": null,
"STAT_GID": null,
"DATE_PAY_BEFORE": null,
"DATE_BILL": null,
"IS_RECURRING": "N",
"RECURRING_ID": null,
"LOCKED_BY": null,
"DATE_LOCK": null,
"RECOUNT_FLAG": "Y",
"AFFILIATE_ID": null,
"DELIVERY_DOC_NUM": null,
"DELIVERY_DOC_DATE": null,
"UPDATED_1C": "N",
"ORDER_TOPIC": null,
"XML_ID": "bx_64affefbefbb1",
"ID_1C": null,
"VERSION_1C": null,
"VERSION": "0",
"EXTERNAL_ORDER": "N",
"STORE_ID": null,
"CANCELED": "N",
"EMP_CANCELED_ID": null,
"DATE_CANCELED": null,
"REASON_CANCELED": null,
"BX_USER_ID": "3f61d5bdbd4e0835463b75bf7cfe5e36",
"SEARCH_CONTENT": null,
"RUNNING": "N",
"DATE_INSERT_FORMAT": "13.07.2023 16:41:16",
"DATE_UPDATE_SHORT": "13.07.2023",
"DATE_STATUS_SHORT": "13.07.2023",
"DATE_CANCELED_SHORT": null,
"BY_RECOMMENDATION": "N",
"LOCK_STATUS": "green",
"LOCK_USER_NAME": null,
"RESPONSIBLE_LOGIN": null,
"RESPONSIBLE_NAME": null,
"RESPONSIBLE_LAST_NAME": null,
"RESPONSIBLE_SECOND_NAME": null,
"RESPONSIBLE_EMAIL": null,
"RESPONSIBLE_WORK_POSITION": null,
"RESPONSIBLE_PERSONAL_PHOTO": null,
"USER_LOGIN": "admin",
"USER_NAME": "Денис",
"USER_LAST_NAME": "Артамонов",
"USER_EMAIL": "[email protected]"
},
{
"ID": "1",
"LID": "s1",
"ACCOUNT_NUMBER": "1",
"TRACKING_NUMBER": "",
"PAY_SYSTEM_ID": "1",
"DELIVERY_ID": "new1:profile",
"DATE_INSERT": "13.07.2023 16:41:03",
"DATE_UPDATE": "13.07.2023 16:41:03",
"PERSON_TYPE_ID": "0",
"USER_ID": "1",
"PAYED": "N",
"IS_SYNC_B24": "N",
"DATE_PAYED": null,
"EMP_PAYED_ID": null,
"DEDUCTED": "N",
"DATE_DEDUCTED": null,
"EMP_DEDUCTED_ID": null,
"REASON_UNDO_DEDUCTED": null,
"STATUS_ID": "N",
"DATE_STATUS": "13.07.2023 16:41:02",
"EMP_STATUS_ID": "1",
"MARKED": "N",
"DATE_MARKED": null,
"EMP_MARKED_ID": null,
"REASON_MARKED": null,
"PRICE_DELIVERY": "0",
"ALLOW_DELIVERY": "N",
"DATE_ALLOW_DELIVERY": null,
"EMP_ALLOW_DELIVERY_ID": null,
"RESERVED": "N",
"PRICE": "19350",
"CURRENCY": "RUB",
"DISCOUNT_VALUE": "0",
"TAX_VALUE": "0.00",
"SUM_PAID": "0.00",
"USER_DESCRIPTION": "",
"PAY_VOUCHER_NUM": "",
"PAY_VOUCHER_DATE": null,
"ADDITIONAL_INFO": null,
"COMMENTS": "",
"COMPANY_ID": null,
"CREATED_BY": "1",
"RESPONSIBLE_ID": null,
"STAT_GID": null,
"DATE_PAY_BEFORE": null,
"DATE_BILL": null,
"IS_RECURRING": "N",
"RECURRING_ID": null,
"LOCKED_BY": null,
"DATE_LOCK": null,
"RECOUNT_FLAG": "Y",
"AFFILIATE_ID": null,
"DELIVERY_DOC_NUM": null,
"DELIVERY_DOC_DATE": null,
"UPDATED_1C": "N",
"ORDER_TOPIC": null,
"XML_ID": "bx_64affeeeaa677",
"ID_1C": null,
"VERSION_1C": null,
"VERSION": "0",
"EXTERNAL_ORDER": "N",
"STORE_ID": null,
"CANCELED": "N",
"EMP_CANCELED_ID": null,
"DATE_CANCELED": null,
"REASON_CANCELED": null,
"BX_USER_ID": "3f61d5bdbd4e0835463b75bf7cfe5e36",
"SEARCH_CONTENT": null,
"RUNNING": "N",
"DATE_INSERT_FORMAT": "13.07.2023 16:41:03",
"DATE_UPDATE_SHORT": "13.07.2023",
"DATE_STATUS_SHORT": "13.07.2023",
"DATE_CANCELED_SHORT": null,
"BY_RECOMMENDATION": "N",
"LOCK_STATUS": "green",
"LOCK_USER_NAME": null,
"RESPONSIBLE_LOGIN": null,
"RESPONSIBLE_NAME": null,
"RESPONSIBLE_LAST_NAME": null,
"RESPONSIBLE_SECOND_NAME": null,
"RESPONSIBLE_EMAIL": null,
"RESPONSIBLE_WORK_POSITION": null,
"RESPONSIBLE_PERSONAL_PHOTO": null,
"USER_LOGIN": "admin",
"USER_NAME": "Денис",
"USER_LAST_NAME": "Артамонов",
"USER_EMAIL": "[email protected]"
}
]
Last updated