Contacts API
Create a contact
Create a contact
POST
/
public
/
api
/
v1
/
inboxes
/
{inbox_identifier}
/
contacts
Create a contact
curl --request POST \
--url https://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts \
--header 'Content-Type: application/json' \
--data '
{
"identifier": "1234567890",
"identifier_hash": "e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9",
"email": "alice@acme.inc",
"name": "Alice",
"phone_number": "+123456789",
"avatar": "<string>",
"custom_attributes": {}
}
'import requests
url = "https://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts"
payload = {
"identifier": "1234567890",
"identifier_hash": "e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9",
"email": "alice@acme.inc",
"name": "Alice",
"phone_number": "+123456789",
"avatar": "<string>",
"custom_attributes": {}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
identifier: '1234567890',
identifier_hash: 'e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9',
email: 'alice@acme.inc',
name: 'Alice',
phone_number: '+123456789',
avatar: '<string>',
custom_attributes: {}
})
};
fetch('https://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts', 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://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts",
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([
'identifier' => '1234567890',
'identifier_hash' => 'e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9',
'email' => 'alice@acme.inc',
'name' => 'Alice',
'phone_number' => '+123456789',
'avatar' => '<string>',
'custom_attributes' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts"
payload := strings.NewReader("{\n \"identifier\": \"1234567890\",\n \"identifier_hash\": \"e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9\",\n \"email\": \"alice@acme.inc\",\n \"name\": \"Alice\",\n \"phone_number\": \"+123456789\",\n \"avatar\": \"<string>\",\n \"custom_attributes\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
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://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts")
.header("Content-Type", "application/json")
.body("{\n \"identifier\": \"1234567890\",\n \"identifier_hash\": \"e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9\",\n \"email\": \"alice@acme.inc\",\n \"name\": \"Alice\",\n \"phone_number\": \"+123456789\",\n \"avatar\": \"<string>\",\n \"custom_attributes\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"identifier\": \"1234567890\",\n \"identifier_hash\": \"e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9\",\n \"email\": \"alice@acme.inc\",\n \"name\": \"Alice\",\n \"phone_number\": \"+123456789\",\n \"avatar\": \"<string>\",\n \"custom_attributes\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"source_id": "<string>",
"name": "<string>",
"email": "<string>",
"phone_number": "<string>",
"pubsub_token": "<string>"
}{
"description": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}Path Parameters
The identifier obtained from API inbox channel
Body
application/json
External identifier of the contact
Example:
"1234567890"
Identifier hash prepared for HMAC authentication
Example:
"e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9"
Email of the contact
Example:
"alice@acme.inc"
Name of the contact
Example:
"Alice"
Phone number of the contact
Example:
"+123456789"
Send the form data with the avatar image binary or use the avatar_url
Custom attributes of the customer
Example:
{}
Response
Success
Id of the contact
The session identifier of the contact
Name of the contact when available
Email of the contact
Phone number of the contact
The token to be used to connect to Voxys Connect websocket
⌘I
Create a contact
curl --request POST \
--url https://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts \
--header 'Content-Type: application/json' \
--data '
{
"identifier": "1234567890",
"identifier_hash": "e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9",
"email": "alice@acme.inc",
"name": "Alice",
"phone_number": "+123456789",
"avatar": "<string>",
"custom_attributes": {}
}
'import requests
url = "https://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts"
payload = {
"identifier": "1234567890",
"identifier_hash": "e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9",
"email": "alice@acme.inc",
"name": "Alice",
"phone_number": "+123456789",
"avatar": "<string>",
"custom_attributes": {}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
identifier: '1234567890',
identifier_hash: 'e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9',
email: 'alice@acme.inc',
name: 'Alice',
phone_number: '+123456789',
avatar: '<string>',
custom_attributes: {}
})
};
fetch('https://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts', 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://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts",
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([
'identifier' => '1234567890',
'identifier_hash' => 'e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9',
'email' => 'alice@acme.inc',
'name' => 'Alice',
'phone_number' => '+123456789',
'avatar' => '<string>',
'custom_attributes' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts"
payload := strings.NewReader("{\n \"identifier\": \"1234567890\",\n \"identifier_hash\": \"e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9\",\n \"email\": \"alice@acme.inc\",\n \"name\": \"Alice\",\n \"phone_number\": \"+123456789\",\n \"avatar\": \"<string>\",\n \"custom_attributes\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
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://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts")
.header("Content-Type", "application/json")
.body("{\n \"identifier\": \"1234567890\",\n \"identifier_hash\": \"e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9\",\n \"email\": \"alice@acme.inc\",\n \"name\": \"Alice\",\n \"phone_number\": \"+123456789\",\n \"avatar\": \"<string>\",\n \"custom_attributes\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://connect.voxys.ai/public/api/v1/inboxes/{inbox_identifier}/contacts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"identifier\": \"1234567890\",\n \"identifier_hash\": \"e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9\",\n \"email\": \"alice@acme.inc\",\n \"name\": \"Alice\",\n \"phone_number\": \"+123456789\",\n \"avatar\": \"<string>\",\n \"custom_attributes\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"source_id": "<string>",
"name": "<string>",
"email": "<string>",
"phone_number": "<string>",
"pubsub_token": "<string>"
}{
"description": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}
