Continue WhatsApp Conversation
curl --request POST \
--url https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"toNumber": "<string>",
"message": "<string>",
"attributes": {
"customField1": "<string>",
"customField2": "<string>",
"customField3": "<string>"
}
}
'import requests
url = "https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}"
payload = {
"toNumber": "<string>",
"message": "<string>",
"attributes": {
"customField1": "<string>",
"customField2": "<string>",
"customField3": "<string>"
}
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
toNumber: '<string>',
message: '<string>',
attributes: {customField1: '<string>', customField2: '<string>', customField3: '<string>'}
})
};
fetch('https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'toNumber' => '<string>',
'message' => '<string>',
'attributes' => [
'customField1' => '<string>',
'customField2' => '<string>',
'customField3' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}"
payload := strings.NewReader("{\n \"toNumber\": \"<string>\",\n \"message\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"toNumber\": \"<string>\",\n \"message\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"toNumber\": \"<string>\",\n \"message\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"msg": "Outbound WhatsApp Message succesfully sent"
"conversationId": "<ID_OF_THE_CONVERSATION>"
}
{
"msg": "More than 24 hours have passed since the last message, the customer window has closed. Please send a template message first before continuing conversation"
}
{
"msg": "Customer has not responded yet, so the customer service window is not open yet to send a non-template message"
}
{
"msg": "Internal Server Error"
}
WhatsApp
Continue WhatsApp Conversation
Endpoint to continue an existing WhatsApp Conversation
POST
/
v1
/
whatsapp
/
manage
/
addToWhatsAppThread
/
{workspaceId}
/
{assistantId}
Continue WhatsApp Conversation
curl --request POST \
--url https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"toNumber": "<string>",
"message": "<string>",
"attributes": {
"customField1": "<string>",
"customField2": "<string>",
"customField3": "<string>"
}
}
'import requests
url = "https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}"
payload = {
"toNumber": "<string>",
"message": "<string>",
"attributes": {
"customField1": "<string>",
"customField2": "<string>",
"customField3": "<string>"
}
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
toNumber: '<string>',
message: '<string>',
attributes: {customField1: '<string>', customField2: '<string>', customField3: '<string>'}
})
};
fetch('https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'toNumber' => '<string>',
'message' => '<string>',
'attributes' => [
'customField1' => '<string>',
'customField2' => '<string>',
'customField3' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}"
payload := strings.NewReader("{\n \"toNumber\": \"<string>\",\n \"message\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"toNumber\": \"<string>\",\n \"message\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://catalystapi.superdashhq.com/api/v1/whatsapp/manage/addToWhatsAppThread/{workspaceId}/{assistantId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"toNumber\": \"<string>\",\n \"message\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"msg": "Outbound WhatsApp Message succesfully sent"
"conversationId": "<ID_OF_THE_CONVERSATION>"
}
{
"msg": "More than 24 hours have passed since the last message, the customer window has closed. Please send a template message first before continuing conversation"
}
{
"msg": "Customer has not responded yet, so the customer service window is not open yet to send a non-template message"
}
{
"msg": "Internal Server Error"
}
Authorizations
string
required
API key associated with your Workspace
Path Parameters
string
required
The ID of the Workspace
string
required
The ID of the Whatsapp Assistant
Body Parameters
string
required
The Recipient’s Phone Number with country code
string
required
The WhatsApp Message to send
You can include variables in the message using curly braces.
Example:
Each variable is resolved from the corresponding key in
Example:
You can include variables in the message using curly braces.
Example:
{firstName}Each variable is resolved from the corresponding key in
attributes.Example:
{firstName} will be replaced with
attributes.firstName.object
Attributes are user-defined and will be referenced dynamically in the message
Examples include
Examples include
firstName, lastName, etc. "attributes": {
"firstName": "Superdash",
}
Response
string
Outbound WhatsApp Message succesfully sent
string
The ID associated with the conversation
{
"msg": "Outbound WhatsApp Message succesfully sent"
"conversationId": "<ID_OF_THE_CONVERSATION>"
}
{
"msg": "More than 24 hours have passed since the last message, the customer window has closed. Please send a template message first before continuing conversation"
}
{
"msg": "Customer has not responded yet, so the customer service window is not open yet to send a non-template message"
}
{
"msg": "Internal Server Error"
}
⌘I