Danh mục thao tác

Gửi lời mời kết bạn

friends.request.sendMCP:friends_request_sendBộ công cụ: Tài khoản & quan hệ

Send friend requests from one account to CRM contacts (ids or a filter) with a greeting (spintax supported). Each request is a queued job under the account's limits.

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/friends.request.send \
  -H "Authorization: Bearer za_live_…" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"accountId":"3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f","message":"Chào anh, em gửi thông tin ạ"}'

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": "friends_request_send",
    "arguments": {
      "accountId": "3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f",
      "message": "Chào anh, em gửi thông tin ạ"
    }
  }
}

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 Zalo

Ví dụ đầu vào

{
  "accountId": "3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f",
  "message": "Chào anh, em gửi thông tin ạ"
}

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": {
    "accountId": {
      "type": "string",
      "format": "uuid",
      "description": "Zalo account id."
    },
    "contactIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "maxItems": 2000
    },
    "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
    },
    "message": {
      "type": "string",
      "maxLength": 600
    }
  },
  "required": [
    "accountId",
    "message"
  ],
  "additionalProperties": false
}

Cùng bộ công cụ