Save the contact fetch configuration
curl --request PUT \
--url https://api.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch \
--header 'Content-Type: application/json' \
--header 'X-CB-KEY: <api-key>' \
--data '
{
"template": {
"method": "<string>",
"url": "<string>",
"headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"bodyTemplate": "<string>"
},
"fieldPaths": {}
}
'import requests
url = "https://api.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch"
payload = {
"template": {
"method": "<string>",
"url": "<string>",
"headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"bodyTemplate": "<string>"
},
"fieldPaths": {}
}
headers = {
"X-CB-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-CB-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
template: {
method: '<string>',
url: '<string>',
headers: [{name: '<string>', value: '<string>'}],
bodyTemplate: '<string>'
},
fieldPaths: {}
})
};
fetch('https://api.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch', 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.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'template' => [
'method' => '<string>',
'url' => '<string>',
'headers' => [
[
'name' => '<string>',
'value' => '<string>'
]
],
'bodyTemplate' => '<string>'
],
'fieldPaths' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-CB-KEY: <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.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch"
payload := strings.NewReader("{\n \"template\": {\n \"method\": \"<string>\",\n \"url\": \"<string>\",\n \"headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"bodyTemplate\": \"<string>\"\n },\n \"fieldPaths\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-CB-KEY", "<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.put("https://api.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch")
.header("X-CB-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"template\": {\n \"method\": \"<string>\",\n \"url\": \"<string>\",\n \"headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"bodyTemplate\": \"<string>\"\n },\n \"fieldPaths\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-CB-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"template\": {\n \"method\": \"<string>\",\n \"url\": \"<string>\",\n \"headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"bodyTemplate\": \"<string>\"\n },\n \"fieldPaths\": {}\n}"
response = http.request(request)
puts response.read_body{
"configured": true,
"requireAccessToken": true,
"inbound": {
"contactIdPath": "<string>",
"bodyPath": "<string>",
"attachmentsPath": "<string>",
"statePath": "<string>",
"contactFieldPaths": {}
},
"filterKey": {
"path": "<string>",
"expectedValue": "<string>"
},
"outboundMode": "<string>",
"sendMessageTemplate": {
"method": "<string>",
"url": "<string>",
"headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"bodyTemplate": "<string>"
},
"setFieldTemplate": {
"method": "<string>",
"url": "<string>",
"headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"bodyTemplate": "<string>"
},
"getContactTemplate": {
"method": "<string>",
"url": "<string>",
"headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"bodyTemplate": "<string>"
},
"contactFieldResponsePaths": {},
"webhookCallbackUri": "<string>",
"hasExternalApiKey": true,
"listenUntil": "2023-11-07T05:31:56Z",
"contactFieldDescriptors": [
"<string>"
],
"lastTestResults": {},
"selectedSampleEventId": 123
}"<string>"Source
Save the contact fetch configuration
Saves the optional request executed on inbound messages to fetch contact details (typically a GET with ), plus the mapping of contact field descriptors to JSON paths within its response body. Passing a null template disables contact fetching.
PUT
/
agency
/
source
/
{sourceId}
/
webhook-integration
/
contact-fetch
Save the contact fetch configuration
curl --request PUT \
--url https://api.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch \
--header 'Content-Type: application/json' \
--header 'X-CB-KEY: <api-key>' \
--data '
{
"template": {
"method": "<string>",
"url": "<string>",
"headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"bodyTemplate": "<string>"
},
"fieldPaths": {}
}
'import requests
url = "https://api.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch"
payload = {
"template": {
"method": "<string>",
"url": "<string>",
"headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"bodyTemplate": "<string>"
},
"fieldPaths": {}
}
headers = {
"X-CB-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-CB-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
template: {
method: '<string>',
url: '<string>',
headers: [{name: '<string>', value: '<string>'}],
bodyTemplate: '<string>'
},
fieldPaths: {}
})
};
fetch('https://api.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch', 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.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'template' => [
'method' => '<string>',
'url' => '<string>',
'headers' => [
[
'name' => '<string>',
'value' => '<string>'
]
],
'bodyTemplate' => '<string>'
],
'fieldPaths' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-CB-KEY: <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.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch"
payload := strings.NewReader("{\n \"template\": {\n \"method\": \"<string>\",\n \"url\": \"<string>\",\n \"headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"bodyTemplate\": \"<string>\"\n },\n \"fieldPaths\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-CB-KEY", "<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.put("https://api.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch")
.header("X-CB-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"template\": {\n \"method\": \"<string>\",\n \"url\": \"<string>\",\n \"headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"bodyTemplate\": \"<string>\"\n },\n \"fieldPaths\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.closebot.com/agency/source/{sourceId}/webhook-integration/contact-fetch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-CB-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"template\": {\n \"method\": \"<string>\",\n \"url\": \"<string>\",\n \"headers\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"bodyTemplate\": \"<string>\"\n },\n \"fieldPaths\": {}\n}"
response = http.request(request)
puts response.read_body{
"configured": true,
"requireAccessToken": true,
"inbound": {
"contactIdPath": "<string>",
"bodyPath": "<string>",
"attachmentsPath": "<string>",
"statePath": "<string>",
"contactFieldPaths": {}
},
"filterKey": {
"path": "<string>",
"expectedValue": "<string>"
},
"outboundMode": "<string>",
"sendMessageTemplate": {
"method": "<string>",
"url": "<string>",
"headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"bodyTemplate": "<string>"
},
"setFieldTemplate": {
"method": "<string>",
"url": "<string>",
"headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"bodyTemplate": "<string>"
},
"getContactTemplate": {
"method": "<string>",
"url": "<string>",
"headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"bodyTemplate": "<string>"
},
"contactFieldResponsePaths": {},
"webhookCallbackUri": "<string>",
"hasExternalApiKey": true,
"listenUntil": "2023-11-07T05:31:56Z",
"contactFieldDescriptors": [
"<string>"
],
"lastTestResults": {},
"selectedSampleEventId": 123
}"<string>"Authorizations
CloseBot API Key Authorization
Path Parameters
The source ID.
Body
application/jsontext/jsonapplication/*+json
The contact fetch configuration to save.
Response
OK
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

