bitrix

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Bitrix24 API

Bitrix24 API

Use the Bitrix24 REST API via direct
curl
calls to manage CRM, tasks, and users in your Bitrix24 workspace.
Official docs:
https://apidocs.bitrix24.com/

通过直接调用
curl
来使用Bitrix24 REST API,以管理你的Bitrix24工作区中的CRM、任务和用户
官方文档:
https://apidocs.bitrix24.com/

When to Use

适用场景

Use this skill when you need to:
  • Manage CRM leads (create, update, list, delete)
  • Manage CRM deals and sales funnels
  • Manage CRM contacts and companies
  • Create and manage tasks
  • Get user information
  • Automate business workflows

当你需要以下操作时使用该技能:
  • 管理CRM销售线索(创建、更新、列表查询、删除)
  • 管理CRM客户商机和销售漏斗
  • 管理CRM联系人与公司信息
  • 创建和管理任务
  • 获取用户信息
  • 自动化业务工作流

Prerequisites

前提条件

  1. Log in to your Bitrix24 workspace
  2. Go to Applications → Developer Resources → Ready-made scenarios → Other → Incoming webhook
  3. Create a new webhook and select the required permissions (CRM, Tasks, Users)
  4. Copy the webhook URL
  5. Store it in the environment variable
bash
export BITRIX_WEBHOOK_URL="https://your-domain.bitrix24.com/rest/1/your-secret-code"
  1. 登录你的Bitrix24工作区
  2. 进入应用 → 开发者资源 → 现成场景 → 其他 → 传入Webhook
  3. 创建新的Webhook并选择所需权限(CRM、任务、用户)
  4. 复制Webhook URL
  5. 将其存储到环境变量中
bash
export BITRIX_WEBHOOK_URL="https://your-domain.bitrix24.com/rest/1/your-secret-code"

Webhook URL Format

Webhook URL格式

https://[domain]/rest/[user-id]/[secret-code]/[method].json
  • domain
    : Your Bitrix24 address
  • user-id
    : Webhook creator's ID
  • secret-code
    : Authentication token (keep secure)
  • method
    : API method name

Important: When using
$VAR
in a command that pipes to another command, wrap the command containing
$VAR
in
bash -c '...'
. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.
bash
bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"'
https://[domain]/rest/[user-id]/[secret-code]/[method].json
  • domain
    : 你的Bitrix24地址
  • user-id
    : Webhook创建者的ID
  • secret-code
    : 认证令牌(请妥善保管)
  • method
    : API方法名称

重要提示: 当在包含管道的命令中使用
$VAR
时,请将包含
$VAR
的命令用
bash -c '...'
包裹。由于Claude Code的bug,直接使用管道时环境变量会被静默清除。
bash
bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"'

How to Use

使用方法

All examples assume
BITRIX_WEBHOOK_URL
is set to your webhook base URL.

所有示例均假设
BITRIX_WEBHOOK_URL
已设置为你的Webhook基础URL。

1. Get Current User

1. 获取当前用户

Get information about the authenticated user:
bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/user.current.json"'
Response:
json
{
  "result": {
  "ID": "1",
  "NAME": "John",
  "LAST_NAME": "Doe",
  "EMAIL": "john@example.com"
  }
}

获取已认证用户的信息:
bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/user.current.json"'
响应:
json
{
  "result": {
  "ID": "1",
  "NAME": "John",
  "LAST_NAME": "Doe",
  "EMAIL": "john@example.com"
  }
}

2. List Users

2. 列出用户

Get a list of users in the workspace:
bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/user.get.json"' | jq '.result[] | {ID, NAME, LAST_NAME, EMAIL}'

获取工作区中的用户列表:
bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/user.get.json"' | jq '.result[] | {ID, NAME, LAST_NAME, EMAIL}'

CRM - Leads

CRM - 销售线索

3. Create a Lead

3. 创建销售线索

Write to
/tmp/bitrix_request.json
:
json
{
  "fields": {
    "TITLE": "New Lead from API",
    "NAME": "John",
    "LAST_NAME": "Doe",
    "PHONE": [{"VALUE": "+1234567890", "VALUE_TYPE": "WORK"}],
    "EMAIL": [{"VALUE": "john@example.com", "VALUE_TYPE": "WORK"}]
  }
}
Then run:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.lead.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'
Response:
json
{
  "result": 123
}

写入到
/tmp/bitrix_request.json
json
{
  "fields": {
    "TITLE": "New Lead from API",
    "NAME": "John",
    "LAST_NAME": "Doe",
    "PHONE": [{"VALUE": "+1234567890", "VALUE_TYPE": "WORK"}],
    "EMAIL": [{"VALUE": "john@example.com", "VALUE_TYPE": "WORK"}]
  }
}
然后运行:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.lead.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'
响应:
json
{
  "result": 123
}

4. Get a Lead

4. 获取单个销售线索

Replace
<your-lead-id>
with the actual lead ID:
bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.get.json?id=<your-lead-id>"'

<your-lead-id>
替换为实际的销售线索ID:
bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.get.json?id=<your-lead-id>"'

5. List Leads

5. 列出销售线索

bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.list.json"' | jq '.result[] | {ID, TITLE, STATUS_ID}'
With filter:
Write to
/tmp/bitrix_request.json
:
json
{
  "filter": {"STATUS_ID": "NEW"},
  "select": ["ID", "TITLE", "NAME", "PHONE"]
}
Then run:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.lead.list.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.list.json"' | jq '.result[] | {ID, TITLE, STATUS_ID}'
带过滤条件:
写入到
/tmp/bitrix_request.json
json
{
  "filter": {"STATUS_ID": "NEW"},
  "select": ["ID", "TITLE", "NAME", "PHONE"]
}
然后运行:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.lead.list.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

6. Update a Lead

6. 更新销售线索

Write to
/tmp/bitrix_request.json
:
json
{
  "id": 123,
  "fields": {
    "STATUS_ID": "IN_PROCESS",
    "COMMENTS": "Updated via API"
  }
}
Then run:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.lead.update.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

写入到
/tmp/bitrix_request.json
json
{
  "id": 123,
  "fields": {
    "STATUS_ID": "IN_PROCESS",
    "COMMENTS": "Updated via API"
  }
}
然后运行:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.lead.update.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

7. Delete a Lead

7. 删除销售线索

Replace
<your-lead-id>
with the actual lead ID:
bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.delete.json?id=<your-lead-id>"'

<your-lead-id>
替换为实际的销售线索ID:
bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.delete.json?id=<your-lead-id>"'

CRM - Contacts

CRM - 联系人

8. Create a Contact

8. 创建联系人

Write to
/tmp/bitrix_request.json
:
json
{
  "fields": {
    "NAME": "Jane",
    "LAST_NAME": "Smith",
    "PHONE": [{"VALUE": "+1987654321", "VALUE_TYPE": "MOBILE"}],
    "EMAIL": [{"VALUE": "jane@example.com", "VALUE_TYPE": "WORK"}]
  }
}
Then run:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.contact.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

写入到
/tmp/bitrix_request.json
json
{
  "fields": {
    "NAME": "Jane",
    "LAST_NAME": "Smith",
    "PHONE": [{"VALUE": "+1987654321", "VALUE_TYPE": "MOBILE"}],
    "EMAIL": [{"VALUE": "jane@example.com", "VALUE_TYPE": "WORK"}]
  }
}
然后运行:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.contact.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

9. List Contacts

9. 列出联系人

bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.contact.list.json"' | jq '.result[] | {ID, NAME, LAST_NAME}'

bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.contact.list.json"' | jq '.result[] | {ID, NAME, LAST_NAME}'

CRM - Deals

CRM - 客户商机

10. Create a Deal

10. 创建客户商机

Write to
/tmp/bitrix_request.json
:
json
{
  "fields": {
    "TITLE": "New Deal from API",
    "STAGE_ID": "NEW",
    "OPPORTUNITY": 5000,
    "CURRENCY_ID": "USD"
  }
}
Then run:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.deal.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

写入到
/tmp/bitrix_request.json
json
{
  "fields": {
    "TITLE": "New Deal from API",
    "STAGE_ID": "NEW",
    "OPPORTUNITY": 5000,
    "CURRENCY_ID": "USD"
  }
}
然后运行:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.deal.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

11. List Deals

11. 列出客户商机

bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.deal.list.json"' | jq '.result[] | {ID, TITLE, STAGE_ID, OPPORTUNITY}'

bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.deal.list.json"' | jq '.result[] | {ID, TITLE, STAGE_ID, OPPORTUNITY}'

12. Update Deal Stage

12. 更新客户商机阶段

Write to
/tmp/bitrix_request.json
:
json
{
  "id": 456,
  "fields": {
    "STAGE_ID": "WON"
  }
}
Then run:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.deal.update.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

写入到
/tmp/bitrix_request.json
json
{
  "id": 456,
  "fields": {
    "STAGE_ID": "WON"
  }
}
然后运行:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.deal.update.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

Tasks

任务

13. Create a Task

13. 创建任务

Write to
/tmp/bitrix_request.json
:
json
{
  "fields": {
    "TITLE": "New Task from API",
    "DESCRIPTION": "Task description here",
    "RESPONSIBLE_ID": 1,
    "DEADLINE": "2025-12-31"
  }
}
Then run:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/tasks.task.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

写入到
/tmp/bitrix_request.json
json
{
  "fields": {
    "TITLE": "New Task from API",
    "DESCRIPTION": "Task description here",
    "RESPONSIBLE_ID": 1,
    "DEADLINE": "2025-12-31"
  }
}
然后运行:
bash
bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/tasks.task.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'

14. List Tasks

14. 列出任务

bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/tasks.task.list.json"' | jq '.result.tasks[] | {id, title, status}'

bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/tasks.task.list.json"' | jq '.result.tasks[] | {id, title, status}'

15. Complete a Task

15. 完成任务

Replace
<your-task-id>
with the actual task ID:
bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/tasks.task.complete.json?taskId=<your-task-id>"'

<your-task-id>
替换为实际的任务ID:
bash
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/tasks.task.complete.json?taskId=<your-task-id>"'

Get Field Definitions

获取字段定义

Get available fields for any entity:
bash
undefined
获取任意实体的可用字段:
bash
undefined

Lead fields

销售线索字段

bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.fields.json"'
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.fields.json"'

Contact fields

联系人字段

bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.contact.fields.json"'
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.contact.fields.json"'

Deal fields

客户商机字段

bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.deal.fields.json"'

---
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.deal.fields.json"'

---

Common Parameters

通用参数

ParameterDescription
filter
Filter results (e.g.,
{"STATUS_ID": "NEW"}
)
select
Fields to return (e.g.,
["ID", "TITLE"]
)
order
Sort order (e.g.,
{"ID": "DESC"}
)
start
Pagination offset

参数描述
filter
过滤结果(例如:
{"STATUS_ID": "NEW"}
select
要返回的字段(例如:
["ID", "TITLE"]
order
排序方式(例如:
{"ID": "DESC"}
start
分页偏移量

Guidelines

注意事项

  1. Keep webhook secret: Never expose your webhook URL publicly
  2. Use POST for complex queries: Filters and field selections work better with POST
  3. Check field names: Use
    *.fields.json
    methods to get valid field names
  4. Rate limits: Bitrix24 has rate limits; add delays for bulk operations
  5. Pagination: Results are paginated; use
    start
    parameter for large datasets
  1. 妥善保管Webhook密钥:切勿公开你的Webhook URL
  2. 复杂查询使用POST:过滤和字段选择使用POST效果更好
  3. 检查字段名称:使用
    *.fields.json
    方法获取有效的字段名称
  4. 速率限制:Bitrix24有调用速率限制;批量操作时请添加延迟
  5. 分页处理:结果会被分页;处理大数据集时使用
    start
    参数