Get a list of delivery service handlers sale.delivery.handler.list
Scope:
saleWho can execute the method: CRM administrator
This method retrieves a list of delivery service handlers.
No parameters.
Code Examples
How to Use Examples in Documentation
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"SELECT":["ID","PARENT_ID","NAME","ACTIVE","DESCRIPTION","SORT","LOGOTIP","CURRENCY"],"FILTER":{"@ID":[196,197,198]},"ORDER":{"SORT":"ASC","ID":"DESC"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/sale.delivery.getlist
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"SELECT":["ID","PARENT_ID","NAME","ACTIVE","DESCRIPTION","SORT","LOGOTIP","CURRENCY"],"FILTER":{"@ID":[196,197,198]},"ORDER":{"SORT":"ASC","ID":"DESC"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/sale.delivery.getlist
// callListMethod: Retrieves all data at once. Use only for small selections (< 1000 items) due to high memory usage.
try {
const response = await $b24.callListMethod(
'sale.delivery.handler.list',
{},
(progress) => { console.log('Progress:', progress) }
)
const items = response.getData() || []
for (const entity of items) { console.log('Entity:', entity) }
} catch (error) {
console.error('Request failed', error)
}
// fetchListMethod: Retrieves data in parts using an iterator. Use it for large data volumes to optimize memory usage.
try {
const generator = $b24.fetchListMethod('sale.delivery.handler.list', {}, 'ID')
for await (const page of generator) {
for (const entity of page) { console.log('Entity:', entity) }
}
} catch (error) {
console.error('Request failed', error)
}
// callMethod: Manually controls pagination through the start parameter. Use it for precise control of request batches. For large datasets, it is less efficient than fetchListMethod.
try {
const response = await $b24.callMethod('sale.delivery.handler.list', {}, 0)
const result = response.getData().result || []
for (const entity of result) { console.log('Entity:', entity) }
} catch (error) {
console.error('Request failed', error)
}
try {
$response = $b24Service
->core
->call(
'sale.delivery.handler.list',
[]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Your logic for processing data
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching delivery handlers: ' . $e->getMessage();
}
BX24.callMethod(
'sale.delivery.handler.list', {},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'sale.delivery.getlist',
[
'SELECT' => [
"ID",
"PARENT_ID",
"NAME",
"ACTIVE",
"DESCRIPTION",
"SORT",
"LOGOTIP",
"CURRENCY",
],
'FILTER' => [
"@ID" => [196, 197, 198],
],
'ORDER' => [
"SORT" => "ASC",
"ID" => "DESC",
]
]
);
Response Handling
HTTP status: 200
{
"result":[
{
"ID":"14",
"NAME":"Uber",
"CODE":"uber",
"SORT":"250",
"DESCRIPTION":"Uber Description",
"SETTINGS":{
"CALCULATE_URL":"http:\/\/gateway.bx\/calculate.php",
"CREATE_DELIVERY_REQUEST_URL":"http:\/\/gateway.bx\/create_delivery_request.php",
"CANCEL_DELIVERY_REQUEST_URL":"http:\/\/gateway.bx\/cancel_delivery_request.php",
"HAS_CALLBACK_TRACKING_SUPPORT":"Y",
"CONFIG":[
{
"TYPE":"STRING",
"NAME":"String Example",
"CODE":"SETTING_1"
},
{
"TYPE":"Y\/N",
"NAME":"Checkbox Example",
"CODE":"SETTING_2"
},
{
"TYPE":"NUMBER",
"NAME":"Number Example",
"CODE":"SETTING_3"
},
{
"TYPE":"ENUM",
"NAME":"Enum Example",
"OPTIONS":{
"Option1Code":"Option1Value",
"Option2Code":"Option2Value",
"Option3Code":"Option3Value",
"Option4Code":"Option4Value",
"Option5Code":"Option5Value"
},
"CODE":"SETTING_4"
},
{
"TYPE":"DATE",
"NAME":"Date Example",
"CODE":"SETTING_5"
},
{
"TYPE":"LOCATION",
"NAME":"Location Example",
"CODE":"SETTING_6"
}
]
},
"PROFILES":[
{
"NAME":"Taxi",
"DESCRIPTION":"Taxi Delivery",
"CODE":"TAXI"
},
{
"NAME":"Cargo",
"DESCRIPTION":"Cargo Delivery",
"CODE":"CARGO"
}
]
}
],
"time":{
"start":1713872315.334967,
"finish":1713872315.655173,
"duration":0.3202061653137207,
"processing":0.013887882232666016,
"date_start":"2024-04-23T14:38:35+02:00",
"date_finish":"2024-04-23T14:38:35+02:00"
}
}
Returned Data
|
Name |
Description |
|
result |
Array of objects with information about the selected delivery service handlers |
|
time |
Information about the request execution time |
Error Handling
HTTP status: 400, 403
{
"error":"ACCESS_DENIED",
"error_description":"Access denied!"
}
|
Name |
Description |
|
error |
String error code. It may consist of digits, Latin letters, and underscores |
|
error_description |
Textual description of the error. The description is not intended to be shown to the end user in its raw form |
Possible Error Codes
|
Code |
Description |
Status |
|
|
Insufficient rights to retrieve the list of delivery services |
403 |
Statuses and System Error Codes
HTTP Status: 20x, 40x, 50x
The errors described below may occur when calling any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The current method is not allowed to be called using batch |
|
|
|
The maximum length of parameters passed to the batch method has been exceeded |
|
|
|
Invalid access token or webhook code |
|
|
|
The methods must be called using the HTTPS protocol |
|
|
|
The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support |
|
|
|
The REST API is available only on commercial plans |
|
|
|
The user whose access token or webhook was used to call the method lacks permissions |
|
|
|
The manifest is not available |
|
|
|
The request requires higher privileges than those provided by the webhook token |
|
|
|
The provided access token has expired |
|
|
|
The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users |
|
|
|
The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |
Continue Learning
- Add Delivery Service Handler sale.delivery.handler.add
- Delete Delivery Service Handler sale.delivery.handler.delete
- Update Delivery Service Handler sale.delivery.handler.update