Skip to main content
POST
/
conversation
/
v1
/
conversations
Create or update a conversation
curl --request POST \
  --url https://api.sandbox.asapp.com/conversation/v1/conversations \
  --header 'Content-Type: application/json' \
  --header 'asapp-api-id: <api-key>' \
  --header 'asapp-api-secret: <api-key>' \
  --data '
{
  "externalId": "id-111",
  "agent": {
    "externalId": "agent-111",
    "name": "agent-x"
  },
  "customer": {
    "externalId": "customer-x",
    "name": "customer-name-x"
  },
  "metadata": {
    "organizationalGroup": "some-group",
    "subdivision": "some-division",
    "queue": "some-queue"
  },
  "timestamp": "2021-11-23T12:13:14.555Z"
}
'
import requests

url = "https://api.sandbox.asapp.com/conversation/v1/conversations"

payload = {
"externalId": "id-111",
"agent": {
"externalId": "agent-111",
"name": "agent-x"
},
"customer": {
"externalId": "customer-x",
"name": "customer-name-x"
},
"metadata": {
"organizationalGroup": "some-group",
"subdivision": "some-division",
"queue": "some-queue"
},
"timestamp": "2021-11-23T12:13:14.555Z"
}
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({
externalId: 'id-111',
agent: {externalId: 'agent-111', name: 'agent-x'},
customer: {externalId: 'customer-x', name: 'customer-name-x'},
metadata: {
organizationalGroup: 'some-group',
subdivision: 'some-division',
queue: 'some-queue'
},
timestamp: '2021-11-23T12:13:14.555Z'
})
};

fetch('https://api.sandbox.asapp.com/conversation/v1/conversations', 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",
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([
'externalId' => 'id-111',
'agent' => [
'externalId' => 'agent-111',
'name' => 'agent-x'
],
'customer' => [
'externalId' => 'customer-x',
'name' => 'customer-name-x'
],
'metadata' => [
'organizationalGroup' => 'some-group',
'subdivision' => 'some-division',
'queue' => 'some-queue'
],
'timestamp' => '2021-11-23T12:13:14.555Z'
]),
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"

payload := strings.NewReader("{\n \"externalId\": \"id-111\",\n \"agent\": {\n \"externalId\": \"agent-111\",\n \"name\": \"agent-x\"\n },\n \"customer\": {\n \"externalId\": \"customer-x\",\n \"name\": \"customer-name-x\"\n },\n \"metadata\": {\n \"organizationalGroup\": \"some-group\",\n \"subdivision\": \"some-division\",\n \"queue\": \"some-queue\"\n },\n \"timestamp\": \"2021-11-23T12:13:14.555Z\"\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")
.header("asapp-api-id", "<api-key>")
.header("asapp-api-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"externalId\": \"id-111\",\n \"agent\": {\n \"externalId\": \"agent-111\",\n \"name\": \"agent-x\"\n },\n \"customer\": {\n \"externalId\": \"customer-x\",\n \"name\": \"customer-name-x\"\n },\n \"metadata\": {\n \"organizationalGroup\": \"some-group\",\n \"subdivision\": \"some-division\",\n \"queue\": \"some-queue\"\n },\n \"timestamp\": \"2021-11-23T12:13:14.555Z\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.sandbox.asapp.com/conversation/v1/conversations")

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 \"externalId\": \"id-111\",\n \"agent\": {\n \"externalId\": \"agent-111\",\n \"name\": \"agent-x\"\n },\n \"customer\": {\n \"externalId\": \"customer-x\",\n \"name\": \"customer-name-x\"\n },\n \"metadata\": {\n \"organizationalGroup\": \"some-group\",\n \"subdivision\": \"some-division\",\n \"queue\": \"some-queue\"\n },\n \"timestamp\": \"2021-11-23T12:13:14.555Z\"\n}"

response = http.request(request)
puts response.read_body
{
  "id": "01BX5ZZKBKACTAV9WEVGEMMVRZ"
}
{
"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"
}
}

Authorizations

asapp-api-id
string
header
required
asapp-api-secret
string
header
required

Body

application/json

Conversation between an agent and a customer that requires a timestamp of creation

externalId
string
required

Your unique identifier for a conversation.

customer
object
required

Information about the customer participating in the conversation.

timestamp
string<date-time>
required

The time when the conversation was created. Include the timezone, otherwise UTC will be assumed.

id
string

The identifier of the conversation.

agent
object

Information about the agent participating in the conversation.

metadata
object

Additional key-value pairs to store custom metadata about the conversation. Use this for filtering or categorization purposes.

Response

Successfully created or updated conversation

Response for conversation

id
string

The identifier of the conversation.