ActionService
Handles user actions on delivered messages. Actions drive workflow progression (e.g., ACK completes a wait step).
Methods
Section titled “Methods”| Method | Description |
|---|---|
SubmitAction | Submit an action for a specific delivery, advancing the campaign workflow |
SubmitAction
Section titled “SubmitAction”Submit an action for a specific delivery, advancing the campaign workflow. The backend verifies the authenticated user is the delivery recipient.
Authorization: Authenticated user (must be the delivery recipient)
Request: SubmitActionRequest
Section titled “Request: SubmitActionRequest”| Field | Type | Description |
|---|---|---|
delivery_id | string | ID of the delivery the user is acting on. UUID format (36 characters). |
action_id | string | ID of the action being performed (matches MessageAction.id). Max 100 characters. |
payload | bytes | Optional action-specific payload (e.g., poll response data). Empty for ACK. Max 10,000 bytes. |
Response: SubmitActionResponse
Section titled “Response: SubmitActionResponse”| Field | Type | Description |
|---|---|---|
success | bool | Whether the action was successfully recorded and forwarded to the workflow. |
Example
Section titled “Example”TypeScript (Connect-Web)
const response = await actionClient.submitAction({ deliveryId: "delivery-uuid", actionId: "ack-action-id", payload: new Uint8Array(),});Go (gRPC)
resp, err := actionClient.SubmitAction(ctx, &pidgrv1.SubmitActionRequest{ DeliveryId: "delivery-uuid", ActionId: "ack-action-id",})