Get Flow Details by Flow ID
GET Method
The Get Flow Details by Flow ID API allows you to retrieve the details of a specific flow using its unique identifier (Flow ID). By default, it will return the fields categories, id, name, status, and validation_error. You can request other fields by using the fields
param in the request.
Prerequisites
- Before you get started, Create an API Key. To view the API Key and the SID, see View API Key and SID.
A prerequisite for using Kaleyra WhatsApp APIs is to have an active WhatsApp plan on Kaleyra platform. - To set up a WhatsApp account on Kaleyra platform, see Manual Signup
and Embedded Signup. - An active WhatsApp for Business API plan that includes:
- A WhatsApp business number.
- An associated profile with the business number.
- A WhatsApp verified and approved profile.
- A WABA ID onboarded on Kaleyra WhatsApp API V2.
Base URL
https://<api_domain>/v2/<SID>
API Domain and Value
api_domain | Value |
---|---|
IN pod | api.in.kaleyra.io |
SG Pod | api.kaleyra.io |
EU Pod | api.eu.kaleyra.io |
NA pod | api.na.kaleyra.ai |
API request to get Flow Details by Flow ID
To get WhatsApp Flow Details by Flow ID, use the https://<api_domain>/v2/<sid>/whatsapp/<flow_id>'
endpoint with the following request method.
Request Format
The following is the request format to get WhatsApp Flow Details by Flow ID:
curl --location GET 'https://<api_domain>/v2/<sid>/whatsapp/<flow_id>?fields=<fields>' \
--header 'api-key: <api-key>'
Sample Request Format
The following is the sample request format to get WhatsApp Flow Details by Flow ID:
curl --location GET 'https://api.in.kaleyra.io/v2/HXAP16XXXXXX97IN/whatsapp/11576XXXXXXXXXX0?fields=validation_errors%252Cjson_version%252Cdata_api_version%252Cendpoint_uri%252Cwhatsapp_business_account%252Capplication%252Chealth_status' \
--header 'api-key: Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3'
URL Parameters and Headers
Following is the list of parameters and headers to get WhatsApp Flow Details by Flow ID:
Parameter | Data Type | Description | Example | Mandatory? |
---|---|---|---|---|
sid | String | Account SID (Security Identifier). | HXAP16XXXXXX97IN | Yes |
flow_id | String | The unique ID for each flow. | 11576XXXXXXXXXX0 | Yes |
api-key | String | API key generated from Kaleyra platform account. | Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3 | Yes |
Following is the list of values that can be used with the “field” query parameters to select which information of the WhatsApp Flow you want to be returned:
Values for the “fields” query parameter | Data Type | Description | Example of returned object when the given value is added to the “fields” query parameter | Mandatory? |
---|---|---|---|---|
validation_errors | JSON Object | A list of validation errors detected in the Flow. Note: See the specific table for details. All errors must be fixed before Flow can be published. | [{"error": "INVALID_PROPERTY_VALUE" ,"error_type": "FLOW_JSON_ERROR","message": "Invalid value found for property 'type'.","line_start": 10,"line_end": 10,"column_start": 21,"column_end": 34,"pointers": [{"line_start": 10,"line_end": 10,"column_start": 21,"column_end": 34,"path": "screens [0]. layout.children [0].type"}]}] | No |
json_version | String | Specifies the version of the JSON schema used in the flow. Note: The json_version must be a value between 1.0 to 7.1. (Recommended) as per last update from Meta.For more information, see Meta Changelog. | 3.0 | No |
data_api_version | String | The version of the Data API specified by the developer in the Flow JSON asset uploaded. Only for Flows with an Endpoint. Note: The data_api_version must be a value between 1.0 to 7.1. | 3.0 | No |
endpoint_uri | String | The "endpoint_uri" is the specific URL on the client's server that WhatsApp sends requests to whenever certain events happen within the flow. | https://www.tatacommunications.com/ | No |
whatsapp_business_account | JSON Object | The WhatsApp Business Account (WABA) associated with the flow. Note: See the specific table for details. | "whatsapp_business_account": { "currency": "EUR", "id": "121289XXXXXX655", "message_template_namespace": "6418bd11_8f3c_41e2_9XXa_907697fXXXXX", "name": "Kaleyra host", "timezone_id": "74" } | No |
application | JSON Object | Defines the details about the application associated with the flow. Note: See the specific table for details. | "application": { "id": "app-1234XXXXX5", "name": "My Sample App", "link": "https://developers.facebook.com/apps/app-1234567XXX/" } | No |
health_status | JSON Object | This object contains information about the messaging health of various entities associated with the flow. The supported health_status is AVAILABLE, LIMITED or BLOCKED.Note: See the specific table for details. | { "can_send_message": "AVAILABLE", "entities": [ { "can_send_message": "AVAILABLE", "entity_type": "FLOW", "id": "156XXXXXXXXXXXXX" }, { "can_send_message": "AVAILABLE", "entity_type": "WABA", "id": "295XXXXXXXXXXXX" }, { "can_send_message": "AVAILABLE", "entity_type": "BUSINESS", "id": "109XXXXXXXXXXXX0" }, { "can_send_message": "AVAILABLE", "entity_type": "APP", "id": "115XXXXXXXXXXXXX" } ] } | No |
The following table describes the different attributes of the 'validation_error' JSON object.
Parameter | Data Type | Description | Example |
---|---|---|---|
error | String | Short error code that identifies the type of validation error. | "INVALID_PROPERTY_VALUE" |
error_type | String | Defines the type of error. | "FLOW_JSON_ERROR" |
message | String | Provides a brief description of the validation error. | "Invalid value found for property 'type'" |
line_start | Integer | Indicates the line number where the error starts in the JSON document. | 10 |
line_end | Integer | Indicates the line number where the error ends. | 10 |
column_start | Integer | Indicates the column number where the error starts on the line. | 21 |
column_end | Integer | Indicates the column number where the error ends. | 34 |
pointers | Array of objects | A list of JSON Pointer-like objects indicating the affected paths in the flow. | [{"line_start": 10,"line_end": 10,"column_start": 21,"column_end": 34,"path": "screens[0].layout.children[0].type"}] |
The following table describes the different attributes of the 'pointers' array object.
Parameter | Data Type | Description | Example |
---|---|---|---|
line_start | Integer | Indicates the line where the pointer starts. | 10 |
line_end | Integer | Indicates the line where the pointer ends. | 10 |
column_start | Integer | Indicates the column where the pointer starts. | 21 |
column_end | Integer | Indicates the column where the pointer ends. | 34 |
path | String | Specifies where the error is in the Flow JSON. | "screens[0].layout.children[0].type" |
The following table describes the different attributes of the ''whatsapp_business_account" JSON object.
Parameter | Data Type | Description | Example |
---|---|---|---|
currency | String | Currency code used for billing. Supported types are INR, USD, EUR, and many more. | "EUR" |
id | String | Unique identifier for the WhatsApp Business Account (WABA). | "21289XXXXXX655" |
message_template_namespace | String | Namespace associated with the account’s message templates. | "6418bd11_8f3c_41e2_9XXa_907697fXXXXX" |
name | String | Defines the display name of the WhatsApp Business Account. | "Kaleyra host" |
time_zone_id | String | Timezone configured for the account. | 74 |
The following table describes the different attributes of the ''application" JSON object.
Parameter | Data Type | Description | Example | Mandatory? |
---|---|---|---|---|
id | String | Unique identifier for the application. | "app-1234XXXXX5" | Yes |
name | String | Name of the application. | "My Sample App" | Yes |
link | URL | URL of the application. | https://developers.facebook.com/apps/app-1234567XXX/" | No |
The following table describes the different attributes of the ''health_status" JSON object.
Parameter | Data Type | Description | Example |
---|---|---|---|
can_send_message | String | Indicates whether the flow is currently in a state where messages can be sent using it. Possible values are "AVAILABLE", "LIMITED", and "BLOCKED". | "AVAILABLE" |
entity_type | String | Type of entity represented by this object. | "APP", “FLOW”, “WABA”, “BUSINESS” |
id | String | Id of the entity (WABA id, Business id, App id, Flow Id) | "115XXXXXXXXXXXXX" |
Sample Success Response
The following is the success response with the Query Parameters:
{
"application": {
"id": "11576XXXXXXXXXX0",
"link": "https://www.kaleyra.com/",
"name": "WA Business APP"
},
"health_status": {
"can_send_message": "AVAILABLE",
"entities": [
{
"can_send_message": "AVAILABLE",
"entity_type": "FLOW",
"id": "156XXXXXXXXXXXXX"
},
{
"can_send_message": "AVAILABLE",
"entity_type": "WABA",
"id": "295XXXXXXXXXXXX"
},
{
"can_send_message": "AVAILABLE",
"entity_type": "BUSINESS",
"id": "109XXXXXXXXXXXX0"
},
{
"can_send_message": "AVAILABLE",
"entity_type": "APP",
"id": "115XXXXXXXXXXXXX"
}
]
},
"id": "612XXXXXXXXXXXX",
"json_version": "3.0",
"validation_errors": [],
"whatsapp_business_account": {
"currency": "INR",
"id": "295XXXXXXXXXXXX",
"message_template_namespace": "1c9639a3_37b1_4ca9_8b72_295eXXXXXXde",
"name": "Kaleyra_ATU_STG",
"timezone_id": "476"
}
}
The following is the success response without the Query parameters:
{
"categories": [
"APPOINTMENT_BOOKING"
],
"id": "1789XXXXXXXXXXXX",
"name": "Demo Flow Stage 6",
"status": "DRAFT",
"validation_errors": []
}
Sample Failure Response
The following are the failure responses:
401 Unauthorized
{
"code": "RBC001",
"message": "Incorrect SID or API key.",
"data": [],
"error": {
"error": "Incorrect SID or API key."
}
}
400 Incorrect payload
{
"code": "WA-400",
"message": "Refer to correct payload format",
"data": {},
"error": {
"payload": "Incorrect payload format"
}
}
500 Internal Server Error
{
"code": "WA-500",
"message": "Please try again later",
"data": {},
"error": {
"error": "Internal server error"
}
}
Updated about 17 hours ago