Get a list of recurring invoice settings by filter crm.invoice.recurring.list
Scope:
crmWho can execute the method: any user
Warning
The method is deprecated. It is recommended to use Universal methods for invoices
The method returns a list of recurring invoice template settings based on the filter.
When querying, use the mask "*" to select all fields (excluding custom and multiple fields).
Method Parameters
See the description of list methods.
Code Examples
cURL (Webhook)
cURL (OAuth)
JS
PHP
BX24.js
PHP CRest
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"order":{"INVOICE_ID":"ASC"},"filter":{">COUNTER_REPEAT":5},"select":["ID","INVOICE_ID","NEXT_EXECUTION","LAST_EXECUTION","SEND_BILL","IS_LIMIT"]}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.invoice.recurring.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"order":{"INVOICE_ID":"ASC"},"filter":{">COUNTER_REPEAT":5},"select":["ID","INVOICE_ID","NEXT_EXECUTION","LAST_EXECUTION","SEND_BILL","IS_LIMIT"],"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.invoice.recurring.list
// callListMethod: Retrieves all data at once. Use only for small selections (< 1000 items) due to high memory usage.
try {
const response = await $b24.callListMethod(
'crm.invoice.recurring.list',
{
order: { "INVOICE_ID": "ASC" },
filter: { ">COUNTER_REPEAT": 5 },
select: [ "ID", "INVOICE_ID ", "NEXT_EXECUTION", "LAST_EXECUTION", "SEND_BILL", "IS_LIMIT" ]
}
)
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('crm.invoice.recurring.list', {
order: { "INVOICE_ID": "ASC" },
filter: { ">COUNTER_REPEAT": 5 },
select: [ "ID", "INVOICE_ID ", "NEXT_EXECUTION", "LAST_EXECUTION", "SEND_BILL", "IS_LIMIT" ]
}, '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('crm.invoice.recurring.list', {
order: { "INVOICE_ID": "ASC" },
filter: { ">COUNTER_REPEAT": 5 },
select: [ "ID", "INVOICE_ID ", "NEXT_EXECUTION", "LAST_EXECUTION", "SEND_BILL", "IS_LIMIT" ]
}, 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(
'crm.invoice.recurring.list',
[
'order' => ['INVOICE_ID' => 'ASC'],
'filter' => ['>COUNTER_REPEAT' => 5],
'select' => ['ID', 'INVOICE_ID', 'NEXT_EXECUTION', 'LAST_EXECUTION', 'SEND_BILL', 'IS_LIMIT'],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
if ($result->more()) {
$result->next();
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching recurring invoices: ' . $e->getMessage();
}
BX24.callMethod(
"crm.invoice.recurring.list",
{
order: { "INVOICE_ID": "ASC" },
filter: { ">COUNTER_REPEAT": 5 },
select: [ "ID", "INVOICE_ID ", "NEXT_EXECUTION", "LAST_EXECUTION", "SEND_BILL", "IS_LIMIT" ]
},
function(result)
{
if(result.error())
console.error(result.error());
else
{
console.dir(result.data());
if(result.more())
result.next();
}
}
);
require_once('crest.php');
$result = CRest::call(
'crm.invoice.recurring.list',
[
'order' => ['INVOICE_ID' => 'ASC'],
'filter' => ['>COUNTER_REPEAT' => 5],
'select' => ['ID', 'INVOICE_ID', 'NEXT_EXECUTION', 'LAST_EXECUTION', 'SEND_BILL', 'IS_LIMIT']
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Copied