GET https://examplebaseURL.com/v1/api/apps/{appID}/data/enquiry-chat
| Parameter | Type | Description |
|---|---|---|
| hid | String | History id (record id) |
| roomID | String | Enquiry room id |
| seq | Number | Message sequence |
| type | String | Channel Type |
| fromEID | String | Sender id |
| toEID | String | Recipient id |
| fromSvcID | String | Caller service ID |
| content.from.device | String | Sender device id |
| content.from.eid | String | Sender id |
| content.from.omniType | String | Omni-channel Type |
| content.from.region | String | Sender region |
| content.from.service | String | Service ID |
| content.from.session | String | Session ID |
| content.from.system | Boolean | To understand this message is sent by system |
| content.id | String | Message id |
| content.msg.channel | Number | (not in use) |
| content.msg.text | String | Message content |
| content.msg.type | Number | Message type The file type 1:text, 2:file, 5:advanced |
| content.plainText | String | (not in use) |
| content.replySeqs | String | sequence of message user replied to |
| content.retry | Integer | (internal use) |
| content.seq | Number | Message sequence |
| content.service | String | Service account |
| content.to.device | String | Receiver device id |
| content.to.eid | String | Message receiver id |
| content.to.inquiry | String | Enquiry ID |
| content.to.room | String | Enquiry room ID |
| content.to.seq | Number | IM sequence |
| content.ts | Number | IM timestamp |
| content.type | Number | Message type The file type 1:text, 2:file, 5:advanced |
| content.version | String | IM schema version |
| fromRegion | String | Caller region |
| upsertType | String | (Internal use) |
| createdAt | String | Chat creation time |
| inquiryID | String | Enquiry ID |
| msgID | String | Message id |
| msgContentType | String | Message type (TYPE_TEXT, TYPE_FILE...) |
| msgEventType | String | Message event type (TYPE_MESSAGE, TYPE_PRECHAT,...) |
| msgText | String | Message content |
| callDuration | Number | call duration |
| callDurationMin | Number | call duration in min |
| encryptSec | String | (Internal use) |
appID string required
App ID
enquiryID (Required) string
Support both "inquiry" / "displayCaseNumber" id. Can find it in the "Get Enquiry detail endpoint" response / CXDB. Use to filter in {enquiry-detail} & {enquiry-chat}, concat multiple IDs with comma. E,g {ID1},{ID2},{ID3}. max 20
Content-Type string
application/json
Authorization string
Bearer AppToken
200
Response body
json
400
Response body
object
code integer Defaults to 0
message string
LANGUAGE: Shell
curl --request GET \
--url https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat \
--header 'Authorization: Bearer AppToken' \
--header 'Content-Type: application/json' \
--header 'accept: application/json'
$ brew install httpie
http GET https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat \
Authorization:'Bearer AppToken' \
Content-Type:application/json \
accept:application/json
LANGUAGE: Node
$ npm install axios --save
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat',
headers: {
accept: 'application/json',
'Content-Type': 'application/json',
Authorization: 'Bearer AppToken'
}
};
axios
.request(options)
.then(res => console.log(res.data))
.catch(err => console.error(err));
const url = 'https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat';
const options = {
method: 'GET',
headers: {
accept: 'application/json',
'Content-Type': 'application/json',
Authorization: 'Bearer AppToken'
}
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));
const http = require('https');
const options = {
method: 'GET',
hostname: 'examplebaseurl.com',
port: null,
path: '/v1/api/apps/appID/data/enquiry-chat',
headers: {
accept: 'application/json',
'Content-Type': 'application/json',
Authorization: 'Bearer AppToken'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
$ npx api install "@cinnox2021/v7.3#45i1wk2km9l1e4hf"
import cinnox2021 from '@api/cinnox2021';
cinnox2021.getEnquiryChat({appID: 'appID', Authorization: 'Bearer AppToken'})
.then(({ data }) => console.log(data))
.catch(err => console.error(err));
LANGUAGE: Ruby
require 'uri'
require 'net/http'
url = URI("https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["Content-Type"] = 'application/json'
request["Authorization"] = 'Bearer AppToken'
response = http.request(request)
puts response.read_body
LANGUAGE: PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer AppToken",
"Content-Type: application/json",
"accept: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
$ composer require guzzlehttp/guzzle
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat', [
'headers' => [
'Authorization' => 'Bearer AppToken',
'Content-Type' => 'application/json',
'accept' => 'application/json',
],
]);
echo $response->getBody();
LANGUAGE: Python
$ python -m pip install requests
import requests
url = "https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat"
headers = {
"accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Bearer AppToken"
}
response = requests.get(url, headers=headers)
print(response.text)
LANGUAGE: C
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "Content-Type: application/json");
headers = curl_slist_append(headers, "Authorization: Bearer AppToken");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
LANGUAGE: C#
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat"),
Headers =
{
{ "accept", "application/json" },
{ "Authorization", "Bearer AppToken" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
$ dotnet add package RestSharp
using RestSharp;
var options = new RestClientOptions("https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer AppToken");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
LANGUAGE: C++
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "accept: application/json");
headers = curl_slist_append(headers, "Content-Type: application/json");
headers = curl_slist_append(headers, "Authorization: Bearer AppToken");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);
LANGUAGE: Clojure
(require '[clj-http.client :as client])
(client/get "https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat" {:headers {:Content-Type "application/json"
:Authorization "Bearer AppToken"}
:accept :json})
LANGUAGE: Go
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("accept", "application/json")
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer AppToken")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
LANGUAGE: HTTP
GET /v1/api/apps/appID/data/enquiry-chat HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer AppToken
Host: examplebaseurl.com
LANGUAGE: Java
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat")
.setHeader("accept", "application/json")
.setHeader("Content-Type", "application/json")
.setHeader("Authorization", "Bearer AppToken")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat"))
.header("accept", "application/json")
.header("Content-Type", "application/json")
.header("Authorization", "Bearer AppToken")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat")
.get()
.addHeader("accept", "application/json")
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer AppToken")
.build();
Response response = client.newCall(request).execute();
HttpResponse<String> response = Unirest.get("https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat")
.header("accept", "application/json")
.header("Content-Type", "application/json")
.header("Authorization", "Bearer AppToken")
.asString();
LANGUAGE: JavaScript
$ npm install axios --save
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat',
headers: {
accept: 'application/json',
'Content-Type': 'application/json',
Authorization: 'Bearer AppToken'
}
};
axios
.request(options)
.then(res => console.log(res.data))
.catch(err => console.error(err));
const options = {
method: 'GET',
headers: {
accept: 'application/json',
'Content-Type': 'application/json',
Authorization: 'Bearer AppToken'
}
};
fetch('https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
const settings = {
async: true,
crossDomain: true,
url: 'https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat',
method: 'GET',
headers: {
accept: 'application/json',
'Content-Type': 'application/json',
Authorization: 'Bearer AppToken'
}
};
$.ajax(settings).done(res => {
console.log(res);
});
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', 'https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat');
xhr.setRequestHeader('accept', 'application/json');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Authorization', 'Bearer AppToken');
xhr.send(data);
LANGUAGE: JSON
No JSON body
LANGUAGE: Kotlin
val client = OkHttpClient()
val request = Request.Builder()
.url("https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat")
.get()
.addHeader("accept", "application/json")
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer AppToken")
.build()
val response = client.newCall(request).execute()
LANGUAGE: Objectve-C
#import <Foundation/Foundation.h>
NSDictionary *headers = @{ @"accept": @"application/json",
@"Content-Type": @"application/json",
@"Authorization": @"Bearer AppToken" };
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
[request setAllHTTPHeaderFields:headers];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
LANGUAGE: OCaml
$ opam install cohttp-lwt-unix cohttp-async
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat" in
let headers = Header.add_list (Header.init ()) [
("accept", "application/json");
("Content-Type", "application/json");
("Authorization", "Bearer AppToken");
] in
Client.call ~headers `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
LANGUAGE: PowerShell
$headers=@{}
$headers.Add("accept", "application/json")
$headers.Add("Content-Type", "application/json")
$headers.Add("Authorization", "Bearer AppToken")
$response = Invoke-RestMethod -Uri 'https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat' -Method GET -Headers $headers
$headers=@{}
$headers.Add("accept", "application/json")
$headers.Add("Content-Type", "application/json")
$headers.Add("Authorization", "Bearer AppToken")
$response = Invoke-WebRequest -Uri 'https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat' -Method GET -Headers $headers
LANGUAGE: R
library(httr)
url <- "https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat"
response <- VERB("GET", url, add_headers('Authorization' = 'Bearer AppToken'), content_type("application/octet-stream"), accept("application/json"))
content(response, "text")
LANGUAGE: Swift
import Foundation
let url = URL(string: "https://examplebaseurl.com/v1/api/apps/appID/data/enquiry-chat")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Bearer AppToken"
]
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
RESPONSE: 200-Result (Example)
{
"code": number,
"result": {
"{ID}": {
"hid": "string",
"roomID": "string",
"seq": number,
"type": "string",
"fromEID": "string",
"toEID": "string",
"fromSvcID": "string",
"content": {
"from": {
"device": "string",
"eid": "string",
"omniType": "string",
"region": "string",
"service": "string",
"session": "string",
"system": true/false
},
"id": "string",
"msg": {
"channel 0": number,
"text": "string",
"type": number
},
"plainText": "string",
"replySeqs": [],
"retry": integer,
"seq": number,
"service": "string",
"to": {
"device": "string",
"eid": "string",
"hid": "string",
"inquiry": "string",
"room": "string",
"seq": "number",
"ts": "number"
},
"ts": string,
"type": number,
"version": "string"
},
"fromRegion": "string",
"upsertType": "string",
"createdAt": "string",
"inquiryID": "string",
"msgID": "string",
"msgContentType": "string",
"msgEventType": "string",
"msgText": "string",
"callDuration": number,
"callDurationMin": number,
"encryptSec": string
}
}
}
RESPONSE: 400-Result (Example)
{
"code": 0,
"message": "error message from server, please refer to error table"
}