Kiểm tra Zalo theo số
contacts.enrich_phoneMCP:contacts_enrich_phoneBộ công cụ: Khách hàngLook contacts' phone numbers up on Zalo through chosen accounts (queued, counts toward each account's lookup limit) to fill Zalo name/avatar/uid.
Cần Idempotency-Key
Xếp hàng theo hạn mức của tài khoản
Quyền: Thao tác Zalo
Gọi bằng REST v2
curl -X POST https://zl.builera.app/api/public/v2/ops/contacts.enrich_phone \
-H "Authorization: Bearer za_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"accountIds":["3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f"]}'Mỗi khoá/kết nối tối đa 300 lệnh đọc và 60 lệnh ghi mỗi phút. Gọi lại cùng Idempotency-Key trả đúng kết quả cũ, không làm lại.
Gọi qua MCP
{
"method": "tools/call",
"params": {
"name": "contacts_enrich_phone",
"arguments": {
"accountIds": [
"3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f"
]
}
}
}Thêm https://zl.builera.app/mcp vào ứng dụng AI rồi cho phép kết nối; AI chỉ thấy công cụ trong bộ bạn chọn.
Kết quả
HTTP 202
{ "status": "accepted", "operationId": "…", "jobId": "…", "data": { … } }
→ operations.wait (tối đa 20 giây) hoặc webhook để biết kết quả trên ZaloVí dụ đầu vào
{
"accountIds": [
"3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f"
]
}Thay mã (id) mẫu bằng mã thật lấy từ các thao tác liệt kê/tìm kiếm.
Lược đồ đầu vào (JSON Schema)
{
"type": "object",
"properties": {
"contactIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"maxItems": 5000
},
"filter": {
"type": "object",
"properties": {
"search": {
"type": "string",
"maxLength": 100
},
"labelIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"maxItems": 50
},
"labelMode": {
"type": "string",
"enum": [
"any",
"all"
],
"default": "any"
},
"excludeLabelIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"maxItems": 50
},
"stageIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"maxItems": 50
},
"noStage": {
"type": "boolean"
},
"ownerIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"maxItems": 50
},
"sources": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20
},
"listIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"maxItems": 20
},
"accountId": {
"type": "string",
"format": "uuid"
},
"relations": {
"type": "array",
"items": {
"type": "string",
"enum": [
"stranger",
"request_sent",
"request_received",
"friend",
"blocked"
]
},
"maxItems": 5
},
"hasPhone": {
"type": "boolean"
},
"hasZalo": {
"type": "boolean"
},
"dnc": {
"type": "string",
"enum": [
"exclude",
"only",
"include"
],
"default": "include"
},
"interactedWithinDays": {
"type": "integer",
"minimum": 1,
"maximum": 3650
},
"notInteractedDays": {
"type": "integer",
"minimum": 1,
"maximum": 3650
}
},
"additionalProperties": false
},
"accountIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"minItems": 1,
"maxItems": 50
},
"force": {
"type": "boolean",
"default": false
}
},
"required": [
"accountIds"
],
"additionalProperties": false
}