# Messages ## Push Message `queues.messages.push(strqueue_id, MessagePushParams**kwargs) -> MessagePushResponse` **post** `/accounts/{account_id}/queues/{queue_id}/messages` Push a message to a Queue ### Parameters - `account_id: str` A Resource identifier. - `queue_id: str` A Resource identifier. - `body: Optional[str]` - `content_type: Optional[Literal["text"]]` - `"text"` - `delay_seconds: Optional[float]` The number of seconds to wait for attempting to deliver this message to consumers ### Returns - `class MessagePushResponse: …` - `errors: Optional[List[ResponseInfo]]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[Source]` - `pointer: Optional[str]` - `messages: Optional[List[str]]` - `success: Optional[Literal[true]]` Indicates if the API call was successful or not. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.queues.messages.push( queue_id="023e105f4ecef8ad9ca31a8372d0c353", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.errors) ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "success": true } ``` ## Acknowledge + Retry Queue Messages `queues.messages.ack(strqueue_id, MessageAckParams**kwargs) -> MessageAckResponse` **post** `/accounts/{account_id}/queues/{queue_id}/messages/ack` Acknowledge + Retry messages from a Queue ### Parameters - `account_id: str` A Resource identifier. - `queue_id: str` A Resource identifier. - `acks: Optional[Iterable[Ack]]` - `lease_id: Optional[str]` An ID that represents an "in-flight" message that has been pulled from a Queue. You must hold on to this ID and use it to acknowledge this message. - `retries: Optional[Iterable[Retry]]` - `delay_seconds: Optional[float]` The number of seconds to delay before making the message available for another attempt. - `lease_id: Optional[str]` An ID that represents an "in-flight" message that has been pulled from a Queue. You must hold on to this ID and use it to acknowledge this message. ### Returns - `class MessageAckResponse: …` - `ack_count: Optional[float]` The number of messages that were succesfully acknowledged. - `retry_count: Optional[float]` The number of messages that were succesfully retried. - `warnings: Optional[List[str]]` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.queues.messages.ack( queue_id="023e105f4ecef8ad9ca31a8372d0c353", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.ack_count) ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "result": { "ackCount": 5, "retryCount": 5, "warnings": [ "string" ] }, "success": true } ``` ## Pull Queue Messages `queues.messages.pull(strqueue_id, MessagePullParams**kwargs) -> MessagePullResponse` **post** `/accounts/{account_id}/queues/{queue_id}/messages/pull` Pull a batch of messages from a Queue ### Parameters - `account_id: str` A Resource identifier. - `queue_id: str` A Resource identifier. - `batch_size: Optional[float]` The maximum number of messages to include in a batch. - `visibility_timeout_ms: Optional[float]` The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt. ### Returns - `class MessagePullResponse: …` - `message_backlog_count: Optional[float]` The number of unacknowledged messages in the queue - `messages: Optional[List[Message]]` - `id: Optional[str]` - `attempts: Optional[float]` - `body: Optional[str]` - `lease_id: Optional[str]` An ID that represents an "in-flight" message that has been pulled from a Queue. You must hold on to this ID and use it to acknowledge this message. - `metadata: Optional[object]` - `timestamp_ms: Optional[float]` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.queues.messages.pull( queue_id="023e105f4ecef8ad9ca31a8372d0c353", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.message_backlog_count) ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "result": { "message_backlog_count": 5, "messages": [ { "id": "b01b5594f784d0165c2985833f5660dd", "attempts": 1, "body": "hello world", "lease_id": "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIn0..Q8p21d7dceR6vUfwftONdQ.JVqZgAS-Zk7MqmqccYtTHeeMElNHaOMigeWdb8LyMOg.T2_HV99CYzGaQuhTyW8RsgbnpTRZHRM6N7UoSaAKeK0", "metadata": { "CF-Content-Type": "text", "CF-sourceMessageSource": "dash" }, "timestamp_ms": 1710950954154 } ] }, "success": true } ``` ## Push Message Batch `queues.messages.bulk_push(strqueue_id, MessageBulkPushParams**kwargs) -> MessageBulkPushResponse` **post** `/accounts/{account_id}/queues/{queue_id}/messages/batch` Push a batch of message to a Queue ### Parameters - `account_id: str` A Resource identifier. - `queue_id: str` A Resource identifier. - `delay_seconds: Optional[float]` The number of seconds to wait for attempting to deliver this batch to consumers - `messages: Optional[Iterable[Message]]` - `class MessageMqQueueMessageText: …` - `body: Optional[str]` - `content_type: Optional[Literal["text"]]` - `"text"` - `delay_seconds: Optional[float]` The number of seconds to wait for attempting to deliver this message to consumers - `class MessageMqQueueMessageJson: …` - `body: Optional[object]` - `content_type: Optional[Literal["json"]]` - `"json"` - `delay_seconds: Optional[float]` The number of seconds to wait for attempting to deliver this message to consumers ### Returns - `class MessageBulkPushResponse: …` - `errors: Optional[List[ResponseInfo]]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[Source]` - `pointer: Optional[str]` - `messages: Optional[List[str]]` - `success: Optional[Literal[true]]` Indicates if the API call was successful or not. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.queues.messages.bulk_push( queue_id="023e105f4ecef8ad9ca31a8372d0c353", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.errors) ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "success": true } ``` ## Domain Types ### Message Push Response - `class MessagePushResponse: …` - `errors: Optional[List[ResponseInfo]]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[Source]` - `pointer: Optional[str]` - `messages: Optional[List[str]]` - `success: Optional[Literal[true]]` Indicates if the API call was successful or not. - `true` ### Message Ack Response - `class MessageAckResponse: …` - `ack_count: Optional[float]` The number of messages that were succesfully acknowledged. - `retry_count: Optional[float]` The number of messages that were succesfully retried. - `warnings: Optional[List[str]]` ### Message Pull Response - `class MessagePullResponse: …` - `message_backlog_count: Optional[float]` The number of unacknowledged messages in the queue - `messages: Optional[List[Message]]` - `id: Optional[str]` - `attempts: Optional[float]` - `body: Optional[str]` - `lease_id: Optional[str]` An ID that represents an "in-flight" message that has been pulled from a Queue. You must hold on to this ID and use it to acknowledge this message. - `metadata: Optional[object]` - `timestamp_ms: Optional[float]` ### Message Bulk Push Response - `class MessageBulkPushResponse: …` - `errors: Optional[List[ResponseInfo]]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[Source]` - `pointer: Optional[str]` - `messages: Optional[List[str]]` - `success: Optional[Literal[true]]` Indicates if the API call was successful or not. - `true`