Danh mục thao tác

Sửa hạn mức & nhịp nhiều tài khoản

accounts.policy.bulk_patchMCP:accounts_policy_bulk_patchBộ công cụ: Thiết lập tự chạy

Apply policy patches to many accounts, each with its own expected version; returns a result per account (saved / conflict / forbidden).

Cần Idempotency-Key
Xếp hàng theo hạn mức của tài khoản
Quản trị
Quyền: Thiết lập tự chạy

Gọi bằng REST v2

curl -X POST https://zl.builera.app/api/public/v2/ops/accounts.policy.bulk_patch \
  -H "Authorization: Bearer za_live_…" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"items":[{"accountId":"3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f","expectedVersion":1,"patch":{}}]}'

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": "accounts_policy_bulk_patch",
    "arguments": {
      "items": [
        {
          "accountId": "3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f",
          "expectedVersion": 1,
          "patch": {}
        }
      ]
    }
  }
}

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

{
  "items": [
    {
      "accountId": "3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f",
      "expectedVersion": 1,
      "patch": {}
    }
  ]
}

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": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "format": "uuid"
          },
          "expectedVersion": {
            "type": "integer",
            "minimum": 0
          },
          "patch": {
            "type": "object",
            "properties": {
              "quotas": {
                "type": "object",
                "required": [
                  "friend_request",
                  "contact_lookup",
                  "message_stranger",
                  "message_friend",
                  "message_manual",
                  "group_join_link",
                  "group_add_member",
                  "group_post",
                  "friend_alias",
                  "friend_accept",
                  "profile_update",
                  "message_react",
                  "message_undo",
                  "message_delete",
                  "friend_reject",
                  "friend_undo_request",
                  "friend_remove",
                  "friend_block",
                  "friend_unblock",
                  "group_leave",
                  "group_create",
                  "group_admin",
                  "group_poll",
                  "group_note",
                  "group_reminder",
                  "group_invite",
                  "chat_settings"
                ],
                "properties": {
                  "friend_request": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "contact_lookup": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "message_stranger": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "message_friend": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "message_manual": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "group_join_link": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "group_add_member": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "group_post": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "friend_alias": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "friend_accept": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "profile_update": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "message_react": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "message_undo": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "message_delete": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "friend_reject": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "friend_undo_request": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "friend_remove": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "friend_block": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "friend_unblock": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "group_leave": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "group_create": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "group_admin": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "group_poll": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "group_note": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "group_reminder": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "group_invite": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "chat_settings": {
                    "type": "object",
                    "properties": {
                      "day": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      },
                      "hour": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 2147483647,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "schedule": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "hours": {
                    "type": "object",
                    "properties": {
                      "days": {
                        "type": "array",
                        "items": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "start": {
                                "type": "string",
                                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$|^24:00$"
                              },
                              "end": {
                                "type": "string",
                                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$|^24:00$"
                              }
                            },
                            "required": [
                              "start",
                              "end"
                            ],
                            "additionalProperties": false
                          },
                          "maxItems": 4
                        },
                        "minItems": 7,
                        "maxItems": 7
                      }
                    },
                    "required": [
                      "days"
                    ],
                    "additionalProperties": false,
                    "nullable": true
                  }
                },
                "additionalProperties": false
              },
              "campaignGap": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "minSeconds": {
                    "type": "integer"
                  },
                  "maxSeconds": {
                    "type": "integer"
                  }
                },
                "additionalProperties": false
              },
              "groupPostGap": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "seconds": {
                    "type": "integer"
                  }
                },
                "additionalProperties": false
              },
              "sameGroupGap": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "hours": {
                    "type": "integer"
                  }
                },
                "additionalProperties": false
              },
              "longBreak": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "everyMin": {
                    "type": "integer"
                  },
                  "everyMax": {
                    "type": "integer"
                  },
                  "minMinutes": {
                    "type": "integer"
                  },
                  "maxMinutes": {
                    "type": "integer"
                  }
                },
                "additionalProperties": false
              },
              "typing": {
                "type": "object",
                "properties": {
                  "send": {
                    "type": "boolean"
                  },
                  "groupPost": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              "warmup": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "startedAt": {
                    "type": "string",
                    "format": "date-time",
                    "nullable": true
                  },
                  "steps": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "days": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 365
                        },
                        "factor": {
                          "type": "number",
                          "exclusiveMinimum": true,
                          "minimum": 0,
                          "maximum": 1
                        },
                        "banned": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "friend_request",
                              "contact_lookup",
                              "message_stranger",
                              "message_friend",
                              "message_manual",
                              "group_join_link",
                              "group_add_member",
                              "group_post",
                              "friend_alias",
                              "friend_accept",
                              "profile_update",
                              "message_react",
                              "message_undo",
                              "message_delete",
                              "friend_reject",
                              "friend_undo_request",
                              "friend_remove",
                              "friend_block",
                              "friend_unblock",
                              "group_leave",
                              "group_create",
                              "group_admin",
                              "group_poll",
                              "group_note",
                              "group_reminder",
                              "group_invite",
                              "chat_settings"
                            ]
                          },
                          "maxItems": 27,
                          "default": []
                        }
                      },
                      "required": [
                        "days",
                        "factor"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "autoSend": {
                "type": "object",
                "properties": {
                  "day": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 2147483647,
                    "nullable": true
                  },
                  "hour": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 2147483647,
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "accountId",
          "expectedVersion",
          "patch"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 200
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}

Cùng bộ công cụ