v1.1.0

CallV2.make

A method for making Bitrix24 REST API version 2 calls.
We are still updating this page. Some data may be missing here — we will complete it shortly.
Bitrix24 is gradually transitioning to REST API version 3.

Overview

Use CallV2.make() to call REST API version 2 methods.

The method returns a Promise with an AjaxResult object containing response data, status, and error handling methods.

// Basic usage
import { EnumCrmEntityTypeId } from '@bitrix24/b24jssdk'

const response = await $b24.actions.v2.call.make({
  method: 'crm.contact.get',
  params: {
    entityTypeId: EnumCrmEntityTypeId.contact,
    id: 123
  },
  requestId: 'unique-request-id'
})

Method Signature

make<T = unknown>(
  options: ActionCallV2
): Promise<AjaxResult<T>>

Parameters

The options object contains the following properties:

ParameterTypeRequiredDescription
methodstringYesREST API method name (e.g., crm.contact.get, tasks.task.get).
paramsTypeCallParamsNoObject with parameters to pass to the REST API method.
requestIdstringNoUnique request identifier for tracking. Used for request deduplication and debugging.

Return Value

Promise<AjaxResult<T>> — a promise that resolves to an AjaxResult object.

This object provides:

  • .getData(): SuccessPayload<T> | undefined — returns the success envelope { result: T, time: PayloadTime }, or undefined when the request failed. Check .isSuccess first.
  • .isSuccess: boolean — flag indicating successful request execution.
  • .getErrorMessages(): string[] — array of error messages.

Key Concepts

Automatic Warning

When calling methods that are available in REST API version 3, the system automatically logs a warning:

"The method {method_name} is available in restApi:v3. It's worth migrating to the new API."

This indicates that you should consider migrating to the newer REST API version.

Error Handling

Always check the result using isSuccess and handle errors:

const response = await $b24.actions.v2.call.make({
  method: 'some.method',
  params: { /* some_params */ },
  requestId: 'unique-request-id'
})

if (!response.isSuccess) {
  // Handling error
  console.error(new Error(`Error: ${response.getErrorMessages().join('; ')}`))
  return
}

// Working with a successful result
const data = response.getData()

Examples

Getting a CRM Company

Alternatives and Recommendations

  • For working with lists: Instead of manually managing pagination use:
    • CallList — automatically retrieves all pages and returns a single result.
    • FetchList — returns an async generator for step-by-step processing of large lists.
  • For batch operations: Use Batch to execute up to 50 commands in a single request.
  • On the client-side (browser): Use the built-in B24Frame object.