Create multiple messages
curl --request POST \
--url https://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch \
--header 'Content-Type: application/json' \
--header 'asapp-api-id: <api-key>' \
--header 'asapp-api-secret: <api-key>' \
--data '
{
"messages": [
{
"text": "Hello, I would like to upgrade my internet plan to GOLD.",
"sender": {
"role": "customer",
"externalId": "customer-xyz"
},
"timestamp": "2021-11-23T12:13:14.555Z"
},
{
"text": "Let me help you with that",
"sender": {
"role": "agent",
"externalId": "agent-111"
},
"timestamp": "2021-11-23T12:13:16.666Z"
}
]
}
'import requests
url = "https://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch"
payload = { "messages": [
{
"text": "Hello, I would like to upgrade my internet plan to GOLD.",
"sender": {
"role": "customer",
"externalId": "customer-xyz"
},
"timestamp": "2021-11-23T12:13:14.555Z"
},
{
"text": "Let me help you with that",
"sender": {
"role": "agent",
"externalId": "agent-111"
},
"timestamp": "2021-11-23T12:13:16.666Z"
}
] }
headers = {
"asapp-api-id": "<api-key>",
"asapp-api-secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'asapp-api-id': '<api-key>',
'asapp-api-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
messages: [
{
text: 'Hello, I would like to upgrade my internet plan to GOLD.',
sender: {role: 'customer', externalId: 'customer-xyz'},
timestamp: '2021-11-23T12:13:14.555Z'
},
{
text: 'Let me help you with that',
sender: {role: 'agent', externalId: 'agent-111'},
timestamp: '2021-11-23T12:13:16.666Z'
}
]
})
};
fetch('https://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch', 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://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch",
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([
'messages' => [
[
'text' => 'Hello, I would like to upgrade my internet plan to GOLD.',
'sender' => [
'role' => 'customer',
'externalId' => 'customer-xyz'
],
'timestamp' => '2021-11-23T12:13:14.555Z'
],
[
'text' => 'Let me help you with that',
'sender' => [
'role' => 'agent',
'externalId' => 'agent-111'
],
'timestamp' => '2021-11-23T12:13:16.666Z'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"asapp-api-id: <api-key>",
"asapp-api-secret: <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://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch"
payload := strings.NewReader("{\n \"messages\": [\n {\n \"text\": \"Hello, I would like to upgrade my internet plan to GOLD.\",\n \"sender\": {\n \"role\": \"customer\",\n \"externalId\": \"customer-xyz\"\n },\n \"timestamp\": \"2021-11-23T12:13:14.555Z\"\n },\n {\n \"text\": \"Let me help you with that\",\n \"sender\": {\n \"role\": \"agent\",\n \"externalId\": \"agent-111\"\n },\n \"timestamp\": \"2021-11-23T12:13:16.666Z\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("asapp-api-id", "<api-key>")
req.Header.Add("asapp-api-secret", "<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://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch")
.header("asapp-api-id", "<api-key>")
.header("asapp-api-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"messages\": [\n {\n \"text\": \"Hello, I would like to upgrade my internet plan to GOLD.\",\n \"sender\": {\n \"role\": \"customer\",\n \"externalId\": \"customer-xyz\"\n },\n \"timestamp\": \"2021-11-23T12:13:14.555Z\"\n },\n {\n \"text\": \"Let me help you with that\",\n \"sender\": {\n \"role\": \"agent\",\n \"externalId\": \"agent-111\"\n },\n \"timestamp\": \"2021-11-23T12:13:16.666Z\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["asapp-api-id"] = '<api-key>'
request["asapp-api-secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"messages\": [\n {\n \"text\": \"Hello, I would like to upgrade my internet plan to GOLD.\",\n \"sender\": {\n \"role\": \"customer\",\n \"externalId\": \"customer-xyz\"\n },\n \"timestamp\": \"2021-11-23T12:13:14.555Z\"\n },\n {\n \"text\": \"Let me help you with that\",\n \"sender\": {\n \"role\": \"agent\",\n \"externalId\": \"agent-111\"\n },\n \"timestamp\": \"2021-11-23T12:13:16.666Z\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "400-01",
"message": "Bad request"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "401-01",
"message": "Unauthorized"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "403-01",
"message": "Forbidden Response"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "404-01",
"message": "Not Found"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "409-01",
"message": "Conflict"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "413-01",
"message": "Request Entity Too Large"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "422-01",
"message": "Unprocessable Entity"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "429-01",
"message": "Too Many Requests"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "503-01",
"message": "Service Unavailable"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "500-01",
"message": "Internal server error"
}
}Messages
Create multiple messages
This creates multiple message objects at once, adding them to an existing conversation.
Use this endpoint when you need to add several messages at once, such as when importing historical conversation data.
POST
/
conversation
/
v1
/
conversations
/
{conversationId}
/
messages
/
batch
Create multiple messages
curl --request POST \
--url https://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch \
--header 'Content-Type: application/json' \
--header 'asapp-api-id: <api-key>' \
--header 'asapp-api-secret: <api-key>' \
--data '
{
"messages": [
{
"text": "Hello, I would like to upgrade my internet plan to GOLD.",
"sender": {
"role": "customer",
"externalId": "customer-xyz"
},
"timestamp": "2021-11-23T12:13:14.555Z"
},
{
"text": "Let me help you with that",
"sender": {
"role": "agent",
"externalId": "agent-111"
},
"timestamp": "2021-11-23T12:13:16.666Z"
}
]
}
'import requests
url = "https://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch"
payload = { "messages": [
{
"text": "Hello, I would like to upgrade my internet plan to GOLD.",
"sender": {
"role": "customer",
"externalId": "customer-xyz"
},
"timestamp": "2021-11-23T12:13:14.555Z"
},
{
"text": "Let me help you with that",
"sender": {
"role": "agent",
"externalId": "agent-111"
},
"timestamp": "2021-11-23T12:13:16.666Z"
}
] }
headers = {
"asapp-api-id": "<api-key>",
"asapp-api-secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'asapp-api-id': '<api-key>',
'asapp-api-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
messages: [
{
text: 'Hello, I would like to upgrade my internet plan to GOLD.',
sender: {role: 'customer', externalId: 'customer-xyz'},
timestamp: '2021-11-23T12:13:14.555Z'
},
{
text: 'Let me help you with that',
sender: {role: 'agent', externalId: 'agent-111'},
timestamp: '2021-11-23T12:13:16.666Z'
}
]
})
};
fetch('https://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch', 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://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch",
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([
'messages' => [
[
'text' => 'Hello, I would like to upgrade my internet plan to GOLD.',
'sender' => [
'role' => 'customer',
'externalId' => 'customer-xyz'
],
'timestamp' => '2021-11-23T12:13:14.555Z'
],
[
'text' => 'Let me help you with that',
'sender' => [
'role' => 'agent',
'externalId' => 'agent-111'
],
'timestamp' => '2021-11-23T12:13:16.666Z'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"asapp-api-id: <api-key>",
"asapp-api-secret: <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://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch"
payload := strings.NewReader("{\n \"messages\": [\n {\n \"text\": \"Hello, I would like to upgrade my internet plan to GOLD.\",\n \"sender\": {\n \"role\": \"customer\",\n \"externalId\": \"customer-xyz\"\n },\n \"timestamp\": \"2021-11-23T12:13:14.555Z\"\n },\n {\n \"text\": \"Let me help you with that\",\n \"sender\": {\n \"role\": \"agent\",\n \"externalId\": \"agent-111\"\n },\n \"timestamp\": \"2021-11-23T12:13:16.666Z\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("asapp-api-id", "<api-key>")
req.Header.Add("asapp-api-secret", "<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://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch")
.header("asapp-api-id", "<api-key>")
.header("asapp-api-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"messages\": [\n {\n \"text\": \"Hello, I would like to upgrade my internet plan to GOLD.\",\n \"sender\": {\n \"role\": \"customer\",\n \"externalId\": \"customer-xyz\"\n },\n \"timestamp\": \"2021-11-23T12:13:14.555Z\"\n },\n {\n \"text\": \"Let me help you with that\",\n \"sender\": {\n \"role\": \"agent\",\n \"externalId\": \"agent-111\"\n },\n \"timestamp\": \"2021-11-23T12:13:16.666Z\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.asapp.com/conversation/v1/conversations/{conversationId}/messages/batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["asapp-api-id"] = '<api-key>'
request["asapp-api-secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"messages\": [\n {\n \"text\": \"Hello, I would like to upgrade my internet plan to GOLD.\",\n \"sender\": {\n \"role\": \"customer\",\n \"externalId\": \"customer-xyz\"\n },\n \"timestamp\": \"2021-11-23T12:13:14.555Z\"\n },\n {\n \"text\": \"Let me help you with that\",\n \"sender\": {\n \"role\": \"agent\",\n \"externalId\": \"agent-111\"\n },\n \"timestamp\": \"2021-11-23T12:13:16.666Z\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "400-01",
"message": "Bad request"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "401-01",
"message": "Unauthorized"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "403-01",
"message": "Forbidden Response"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "404-01",
"message": "Not Found"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "409-01",
"message": "Conflict"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "413-01",
"message": "Request Entity Too Large"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "422-01",
"message": "Unprocessable Entity"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "429-01",
"message": "Too Many Requests"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "503-01",
"message": "Service Unavailable"
}
}{
"error": {
"requestId": "8e033668-9f1a-11ec-b909-0242ac120002",
"code": "500-01",
"message": "Internal server error"
}
}Path Parameters
The identifier for a conversation.
Pattern:
^[A-Z0-9]+$Body
application/json
A batch of messages for conversation
Required array length:
1 - 300 elementsShow child attributes
Show child attributes
Response
Successfully created messages in conversation
Response for batch messages
Was this page helpful?
⌘I