Получить реквизиты и контакты моей компании v 3.0 crm.mycompany.basic.get

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Scope: crm

Кто может выполнять метод: пользователь с правом на чтение компаний, счетов, документов CRM или документов КЭДО — достаточно права на любой из этих типов объектов

Метод относится к REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.

Метод crm.mycompany.basic.get возвращает по идентификатору основные данные моей компании: название, телефоны, почту, реквизиты и банковские реквизиты.

Метод доступен без прав администратора CRM, которые нужны методу crm.mycompany.get. Например, данные своей компании получит сотрудник, который работает только со счетами или документами.

Отличия от crm.mycompany.get

Что сравниваем

crm.mycompany.basic.get

crm.mycompany.get

Кто может вызвать

Пользователь с правом на чтение компаний, счетов, документов CRM или документов КЭДО

Администратор CRM

Поля

Только id, title, email, phone, requisites, bankRequisites

Все поля моей компании, кроме реквизитов, включая пользовательские поля. Поля моей компании

Реквизиты

Реквизиты и банковские реквизиты в ответе

Нет. Реквизиты моей компании возвращает метод crm.requisite.list с фильтром по ownerId

Ответ без select

id и title

Только id

Компания не найдена

HTTP-статус 404

HTTP-статус 400

Метод возвращает только компании из списка «Мои компании». Идентификатор обычной компании вызывает ошибку BITRIX_REST_V3_EXCEPTION_ENTITYNOTFOUNDEXCEPTION.

Параметры метода

Обязательные параметры отмечены *

Название
тип

Описание

id*
integer

Идентификатор моей компании. Идентификаторы можно получить методом crm.mycompany.basic.list

select
array

Список полей, которые нужно вернуть. Описание параметра

По умолчанию: ["id", "title"]

Параметр select

Доступные поля:

  • id — идентификатор компании
  • title — название компании
  • email — адреса почты
  • phone — телефоны
  • requisites — реквизиты компании
  • bankRequisites — банковские реквизиты компании

Поля вложенных объектов можно выбрать через точку: phone.value, requisites.inn, bankRequisites.bankName. Имя объекта целиком, например requisites, возвращает все его поля.

Другие поля, например createdTime, вызывают ошибку BITRIX_REST_V3_EXCEPTION_UNKNOWNDTOPROPERTYEXCEPTION. Описания доступных полей возвращают методы crm.mycompany.basic.field.list и crm.mycompany.basic.field.get.

Примеры кода

Как использовать примеры в документации

Вызов нового API отличается добавлением параметра /api/ в запросе:

https://{адрес_установки}/rest/api/{id_пользователя}/{токен_вебхука}/crm.mycompany.basic.get

Примеры получают название, телефоны, почту, ИНН из реквизитов и названия банков моей компании с идентификатором 3.

curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":3,"select":["id","title","phone","email","requisites.id","requisites.presetId","requisites.companyTitle","requisites.inn","bankRequisites.id","bankRequisites.bankName"]}' \
https://**put_your_bitrix24_address**/rest/api/**put_your_user_id_here**/**put_your_webhook_here**/crm.mycompany.basic.get
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":3,"select":["id","title","phone","email","requisites.id","requisites.presetId","requisites.companyTitle","requisites.inn","bankRequisites.id","bankRequisites.bankName"],"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/api/crm.mycompany.basic.get

Методы CRM пока не входят в список методов REST 3.0, который знает $b24.actions.v3.call.make: такой вызов вернет ошибку SDK JSSDK_CORE_METHOD_NOT_SUPPORT_IN_API_V3. Вызывайте метод через HTTP-клиент REST 3.0 — $b24.getHttpClient(ApiVersion.v3).call.

import { ApiVersion, Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'

declare const $b24: B24Frame

type Multifield = {
  id: number
  valueTypeId: string
  value: string
}

type MyCompanyBasicGetResult = {
  item: {
    id: number
    title: string
    phone: Multifield[]
    email: Multifield[]
    requisites: { id: number, presetId: number, companyTitle: string, inn: string }[]
    bankRequisites: { id: number, bankName: string | null }[]
  }
}

try {
  const response = await $b24.getHttpClient(ApiVersion.v3).call<MyCompanyBasicGetResult>(
    'crm.mycompany.basic.get',
    {
      id: 3,
      select: [
        'id',
        'title',
        'phone',
        'email',
        'requisites.id',
        'requisites.presetId',
        'requisites.companyTitle',
        'requisites.inn',
        'bankRequisites.id',
        'bankRequisites.bankName',
      ],
    },
    Text.getUuidRfc4122()
  )

  if (!response.isSuccess) {
    console.error(response.getErrorMessages().join('; '))
  } else {
    const company = response.getData()!.result.item
    console.info(company.title, company.requisites.map(requisite => requisite.inn))
  }
} catch (error) {
  // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
  console.error(error)
}

Методы CRM пока не входят в список методов REST 3.0, который знает $b24.actions.v3.call.make. Вызывайте метод через HTTP-клиент REST 3.0 — $b24.getHttpClient(B24Js.ApiVersion.v3).call.

<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
  async function getMyCompany() {
    try {
      const $b24 = await B24Js.initializeB24Frame()

      const response = await $b24.getHttpClient(B24Js.ApiVersion.v3).call(
        'crm.mycompany.basic.get',
        {
          id: 3,
          select: [
            'id',
            'title',
            'phone',
            'email',
            'requisites.id',
            'requisites.presetId',
            'requisites.companyTitle',
            'requisites.inn',
            'bankRequisites.id',
            'bankRequisites.bankName',
          ],
        },
        B24Js.Text.getUuidRfc4122()
      )

      if (!response.isSuccess) {
        console.error(response.getErrorMessages().join('; '))
        return
      }

      const company = response.getData().result.item
      console.info(company.title, company.requisites.map(requisite => requisite.inn))
    } catch (error) {
      // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
      console.error(error)
    }
  }

  document.addEventListener('DOMContentLoaded', getMyCompany)
</script>

У методов CRM нет готовых оберток в b24pysdk, и SDK отправляет в REST 3.0 только методы из списка Config().api_v3_methods. Добавьте метод в этот список и вызовите его через bitrix_token.call_method с prefer_version=3.

from b24pysdk import Config
from b24pysdk.errors import BitrixSDKException
from b24pysdk.errors.v3 import BitrixAPIError

method = "crm.mycompany.basic.get"
Config().configure(api_v3_methods=Config().api_v3_methods | {method})

try:
    response = bitrix_token.call_method(
        api_method=method,
        params={
            "id": 3,
            "select": [
                "id",
                "title",
                "phone",
                "email",
                "requisites.id",
                "requisites.presetId",
                "requisites.companyTitle",
                "requisites.inn",
                "bankRequisites.id",
                "bankRequisites.bankName",
            ],
        },
        prefer_version=3,
    )
    company = response["result"]["item"]
    print(company["title"], [requisite["inn"] for requisite in company["requisites"]])
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"code: {error.code}",
        f"message: {error.error.message}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {error}")

SDK пока не поддерживает вызовы по адресу /rest/api/. Используйте прямой HTTP-запрос, например через cURL или fetch.

try {
    $response = $b24Service
        ->core
        ->call(
            'crm.mycompany.basic.get',
            [
                'id' => 3,
                'select' => [
                    'id',
                    'title',
                    'phone',
                    'email',
                    'requisites.id',
                    'requisites.presetId',
                    'requisites.companyTitle',
                    'requisites.inn',
                    'bankRequisites.id',
                    'bankRequisites.bankName',
                ],
            ]
        );

    $result = $response
        ->getResponseData()
        ->getResult();

    print_r($result);
} catch (Throwable $e) {
    echo $e->getMessage();
}

SDK пока не поддерживает вызовы по адресу /rest/api/. Используйте прямой HTTP-запрос, например через cURL или fetch.

BX24.callMethod(
    'crm.mycompany.basic.get',
    {
        id: 3,
        select: [
            'id',
            'title',
            'phone',
            'email',
            'requisites.id',
            'requisites.presetId',
            'requisites.companyTitle',
            'requisites.inn',
            'bankRequisites.id',
            'bankRequisites.bankName',
        ],
    },
    result => {
        if (result.error())
            console.error(result.error());
        else
            console.dir(result.data());
    }
);

SDK пока не поддерживает вызовы по адресу /rest/api/. Используйте прямой HTTP-запрос, например через cURL или fetch.

require_once('crest.php');

$result = CRest::call(
    'crm.mycompany.basic.get',
    [
        'id' => 3,
        'select' => [
            'id',
            'title',
            'phone',
            'email',
            'requisites.id',
            'requisites.presetId',
            'requisites.companyTitle',
            'requisites.inn',
            'bankRequisites.id',
            'bankRequisites.bankName',
        ],
    ]
);

echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.mycompany.basic.get", b24.Params{
	"id": 3,
	"select": []string{
		"id", "title", "phone", "email",
		"requisites.id", "requisites.presetId", "requisites.companyTitle", "requisites.inn",
		"bankRequisites.id", "bankRequisites.bankName",
	},
}, b24.WithIdempotent())
if err != nil {
	return fmt.Errorf("crm.mycompany.basic.get: %w", err)
}

raw, ok := b24.Unwrap(res.Result, "item")
if !ok {
	return fmt.Errorf("в ответе нет ключа item")
}

var company struct {
	ID         int    `json:"id"`
	Title      string `json:"title"`
	Requisites []struct {
		ID           int    `json:"id"`
		CompanyTitle string `json:"companyTitle"`
		Inn          string `json:"inn"`
	} `json:"requisites"`
}
if err := json.Unmarshal(raw, &company); err != nil {
	return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(company.ID, company.Title, len(company.Requisites))

Обработка ответа

HTTP-статус: 200

{
    "result": {
        "item": {
            "id": 3,
            "title": "ООО Ромашка",
            "email": [
                {
                    "id": 7605,
                    "valueTypeId": "WORK",
                    "valueType": {
                        "id": "WORK",
                        "name": "Рабочий e-mail",
                        "nameShort": "Рабочий"
                    },
                    "value": "info@example.com"
                }
            ],
            "phone": [
                {
                    "id": 7637,
                    "valueTypeId": "WORK",
                    "valueType": {
                        "id": "WORK",
                        "name": "Рабочий телефон",
                        "nameShort": "Рабочий"
                    },
                    "value": "+79990000000"
                }
            ],
            "requisites": [
                {
                    "id": 3,
                    "presetId": 1,
                    "companyTitle": "ООО Ромашка",
                    "inn": "7700000000"
                },
                {
                    "id": 49,
                    "presetId": 1,
                    "companyTitle": "ООО Ромашка Сервис",
                    "inn": "7700000001"
                }
            ],
            "bankRequisites": [
                {
                    "id": 3,
                    "bankName": "Основной счет"
                }
            ]
        }
    },
    "time": {
        "start": 1793706809,
        "finish": 1793706809.06065,
        "duration": 0.06065011024475098,
        "processing": 0,
        "date_start": "2026-11-03T14:53:29+03:00",
        "date_finish": "2026-11-03T14:53:29+03:00",
        "operating_reset_at": 1793707380,
        "operating": 0
    }
}

Возвращаемые данные

Название
тип

Описание

result
object

Объект с данными ответа

result.item
object

Данные моей компании. Содержит только поля из select. Описание объекта

time
time

Информация о времени выполнения запроса

Объект item

Название
тип

Описание

id
integer

Идентификатор компании

title
string

Название компании

email
array

Адреса почты. Описание элемента. Если адресов нет — пустой массив

phone
array

Телефоны. Описание элемента. Если телефонов нет — пустой массив

requisites
array

Реквизиты компании. Поля реквизита те же, что возвращает метод crm.requisite.list: id, ownerId, ownerTypeId, presetId, name, companyTitle, inn, kpp, ogrn, directorName и другие. Если реквизитов нет — пустой массив

bankRequisites
array

Банковские реквизиты всех реквизитов компании. Описание элемента. Если банковских реквизитов нет — пустой массив

Элемент email и phone

Название
тип

Описание

id
integer

Идентификатор значения

valueTypeId
string

Тип значения, например WORK

valueType
object

Тип значения: id — код, name — полное название, nameShort — краткое название

value
string

Адрес почты или номер телефона

Элемент bankRequisites

Название
тип

Описание

id
integer

Идентификатор банковского реквизита

requisiteId
integer

Идентификатор реквизита, к которому относится банковский реквизит

name
string

Название банковского реквизита

bankName
string

Название банка

bankAddress
string

Адрес банка

bik
string

БИК

bankAccountNumber
string

Номер счета

bankAccountCurrency
string

Валюта счета

correspondentAccountNumber
string

Корреспондентский счет

swift
string

SWIFT

comments
string

Комментарий

Незаполненные поля банковского реквизита приходят со значением null. Подробнее о банковских реквизитах — в описании метода crm.<тип>.requisite.bankrequisite.get.

Обработка ошибок

HTTP-статус: 404

{
    "error": {
        "code": "BITRIX_REST_V3_EXCEPTION_ENTITYNOTFOUNDEXCEPTION",
        "message": "Запись с ID = `1` не найдена"
    }
}

Название
тип

Описание

error.code
string

Строковый код ошибки. Используйте для идентификации типа исключения

error.message
string

Текстовое описание ошибки

error.validation
array

Массив c деталями ошибки. Присутствует только в ошибках валидации данных BITRIX_REST_V3_EXCEPTION_VALIDATION_REQUESTVALIDATIONEXCEPTION

error.validation[].field
string

Название поля, в котором возникла ошибка валидации

error.validation[].message
string

Описание ошибки, связанной с указанным полем

Возможные коды ошибок

Компания не найдена

Код ошибки: BITRIX_REST_V3_EXCEPTION_ENTITYNOTFOUNDEXCEPTION, HTTP-статус 404

Поле

Описание ошибки

Как исправить

-

Запись с ID = #ID# не найдена

Компании с таким id нет или она не входит в список «Мои компании». Идентификаторы моих компаний возвращает метод crm.mycompany.basic.list

Ошибки валидации запроса

Код ошибки: BITRIX_REST_V3_EXCEPTION_VALIDATION_REQUESTVALIDATIONEXCEPTION

Поле

Описание ошибки

Как исправить

id

Обязательное поле id не указано

Передайте id компании

id

В поле id требуется тип данных int для такого запроса

Передайте идентификатор числом

Ошибка неизвестного поля

Код ошибки: BITRIX_REST_V3_EXCEPTION_UNKNOWNDTOPROPERTYEXCEPTION

Поле

Описание ошибки

Как исправить

-

Неизвестное поле #FIELD# для сущности BasicCompanyDto

Передайте в select только поля из описания параметра

Ошибка доступа

Код ошибки: BITRIX_REST_V3_EXCEPTION_ACCESSDENIEDEXCEPTION

Поле

Описание ошибки

Как исправить

-

Доступ запрещен

У пользователя нет права на чтение ни компаний, ни счетов, ни документов CRM, ни документов КЭДО

Метод не найден

Код ошибки: BITRIX_REST_V3_EXCEPTION_METHODNOTFOUNDEXCEPTION, HTTP-статус 404

Поле

Описание ошибки

Как исправить

-

Метод #METHOD# не найден

Проверьте имя метода: оно пишется в нижнем регистре, crm.mycompany.basic.get, а не crm.myCompany.basic.get

Статусы и коды системных ошибок

HTTP-статус: 4xx, 5xx

Описанные ниже ошибки возвращает сам REST API, а не логика конкретного метода. Они могут прийти в ответ на любой метод.

Статус

Код
Текст ошибки

Описание

500

INTERNAL_SERVER_ERROR
Internal server error

Возникла внутренняя ошибка сервера. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

Сервер вернул неожиданный ответ. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24

503

QUERY_LIMIT_EXCEEDED
Too many requests

Превышен лимит на интенсивность запросов

429

OPERATION_TIME_LIMIT
Method is blocked due to operation time limit

Метод заблокирован из-за превышения лимита на ресурсоемкость запросов. Блокировка снимается автоматически, когда накопленное время выполнения метода перестает превышать лимит

401

NO_AUTH_FOUND
Wrong authorization data

В запросе нет авторизационных данных: не передан ни access-токен, ни код вебхука

401

INVALID_REQUEST
Https required

Методы вызываются только по протоколу HTTPS

401

OVERLOAD_LIMIT
REST API is blocked due to overload

REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка. Чтобы ее снять, обратитесь в техническую поддержку Битрикс24

401

ACCESS_DENIED
REST is available only on commercial plans

REST API доступен только на коммерческих тарифах. У вебхука текст ошибки другой — REST is available only by subscription

401

INVALID_CREDENTIALS
Invalid request credentials

Не найден активный вебхук с указанным идентификатором пользователя и секретным кодом

404

ERROR_METHOD_NOT_FOUND
Method not found!

Метод с таким именем не найден. Имя написано с ошибкой, метода нет в REST API или он недоступен без нужного скоупа

401

insufficient_scope
The request requires higher privileges than provided by the webhook token

Запрос требует более широких прав, чем есть у токена: у вебхука это выданные ему права, у приложения — скоуп. У приложения текст ошибки заканчивается на provided by the access token

401

expired_token
The access token provided has expired

Срок действия access-токена истек

401

user_access_error
The user does not have access to the application

Приложение установлено, но администратор Битрикс24 открыл доступ к нему только конкретным пользователям

403

PORTAL_DELETED
Portal was deleted

Публичная часть сайта закрыта. Чтобы открыть ее на коробочной установке, отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта

Продолжите изучение