View a markdown version of this page

CreateWhatsAppFlow - AWS End User Messaging Social

CreateWhatsAppFlow

Creates a new WhatsApp Flow. Flows enable businesses to create rich, interactive forms and experiences that users can complete without leaving WhatsApp. The Flow is created in DRAFT status. If publish is set to true and a valid flowJson is provided, the Flow is published immediately.

Request Syntax

POST /v1/whatsapp/flow/create HTTP/1.1 Content-type: application/json { "categories": [ "string" ], "cloneFlowId": "string", "flowJson": blob, "flowName": "string", "id": "string", "publish": boolean }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

categories

The categories that classify the business purpose of the Flow. At least one category is required.

Type: Array of strings

Array Members: Minimum number of 1 item. Maximum number of 9 items.

Valid Values: SIGN_UP | SIGN_IN | APPOINTMENT_BOOKING | LEAD_GENERATION | SHOPPING | CONTACT_US | CUSTOMER_SUPPORT | SURVEY | OTHER

Required: Yes

cloneFlowId

The ID of an existing Flow within the same WhatsApp Business Account to clone.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: [0-9]+

Required: No

flowJson

The Flow JSON definition that describes the screens, components, and logic of the Flow. Maximum size is 10 MB.

Type: Base64-encoded binary data object

Length Constraints: Minimum length of 1. Maximum length of 10485760.

Required: No

flowName

The name of the Flow. Must be unique within the WhatsApp Business Account.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 200.

Required: Yes

id

The ID of the WhatsApp Business Account to associate with this Flow.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 115.

Pattern: .*(^waba-.*$)|(^arn:.*:waba/[0-9a-zA-Z]+$).*

Required: Yes

publish

Set to true to publish the Flow immediately after creation. Requires a valid flowJson that passes Meta's validation.

Type: Boolean

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "flowId": "string", "validationErrors": [ "string" ] }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

flowId

The unique identifier assigned to the Flow by Meta.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: [0-9]+

validationErrors

A list of validation errors returned by Meta, if any. Validation errors must be resolved before the Flow can be published.

Type: Array of strings

Length Constraints: Minimum length of 0. Maximum length of 1048576.

Errors

For information about the errors that are common to all actions, see Common Error Types.

AccessDeniedByMetaException

You do not have sufficient access to perform this action.

HTTP Status Code: 403

AccessDeniedException

You do not have sufficient access to perform this action.

HTTP Status Code: 403

DependencyException

Thrown when performing an action because a dependency would be broken.

HTTP Status Code: 502

InternalServiceException

The request processing has failed because of an unknown error, exception, or failure.

HTTP Status Code: 500

InvalidParametersException

One or more parameters provided to the action are not valid.

HTTP Status Code: 400

ResourceNotFoundException

The resource was not found.

HTTP Status Code: 404

ThrottledRequestException

The request was denied due to request throttling.

HTTP Status Code: 429

ValidationException

The request contains an invalid parameter value.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: