Update Communication Preferences
curl --request POST \
--url https://api.birdeye.com/resources/v1/contact/external/preferences/change-permission \
--header 'Content-Type: application/json' \
--data '
{
"accountNumber": 123,
"emailPreferences": {
"marketingOptin": true,
"feedbackOptin": true,
"serviceOptin": true
},
"smsPreferences": {
"marketingOptin": true,
"feedbackOptin": true,
"serviceOptin": true
},
"smsOptin": true,
"email": [
"<string>"
],
"phone": [
"<string>"
]
}
'import requests
url = "https://api.birdeye.com/resources/v1/contact/external/preferences/change-permission"
payload = {
"accountNumber": 123,
"emailPreferences": {
"marketingOptin": True,
"feedbackOptin": True,
"serviceOptin": True
},
"smsPreferences": {
"marketingOptin": True,
"feedbackOptin": True,
"serviceOptin": True
},
"smsOptin": True,
"email": ["<string>"],
"phone": ["<string>"]
}
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({
accountNumber: 123,
emailPreferences: {marketingOptin: true, feedbackOptin: true, serviceOptin: true},
smsPreferences: {marketingOptin: true, feedbackOptin: true, serviceOptin: true},
smsOptin: true,
email: ['<string>'],
phone: ['<string>']
})
};
fetch('https://api.birdeye.com/resources/v1/contact/external/preferences/change-permission', 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.birdeye.com/resources/v1/contact/external/preferences/change-permission",
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([
'accountNumber' => 123,
'emailPreferences' => [
'marketingOptin' => true,
'feedbackOptin' => true,
'serviceOptin' => true
],
'smsPreferences' => [
'marketingOptin' => true,
'feedbackOptin' => true,
'serviceOptin' => true
],
'smsOptin' => true,
'email' => [
'<string>'
],
'phone' => [
'<string>'
]
]),
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://api.birdeye.com/resources/v1/contact/external/preferences/change-permission"
payload := strings.NewReader("{\n \"accountNumber\": 123,\n \"emailPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsOptin\": true,\n \"email\": [\n \"<string>\"\n ],\n \"phone\": [\n \"<string>\"\n ]\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://api.birdeye.com/resources/v1/contact/external/preferences/change-permission")
.header("Content-Type", "application/json")
.body("{\n \"accountNumber\": 123,\n \"emailPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsOptin\": true,\n \"email\": [\n \"<string>\"\n ],\n \"phone\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/contact/external/preferences/change-permission")
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 \"accountNumber\": 123,\n \"emailPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsOptin\": true,\n \"email\": [\n \"<string>\"\n ],\n \"phone\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 1089,
"message": "Customer id is invalid."
}{
"code": 1161,
"message": "Invalid API key"
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 89,
"message": "Rate limit exceeded"
}Contact V2
Update Communication Preferences
Customer can be subscribe/unsubscribe from Email & SMS using this API.
POST
/
v1
/
contact
/
external
/
preferences
/
change-permission
Update Communication Preferences
curl --request POST \
--url https://api.birdeye.com/resources/v1/contact/external/preferences/change-permission \
--header 'Content-Type: application/json' \
--data '
{
"accountNumber": 123,
"emailPreferences": {
"marketingOptin": true,
"feedbackOptin": true,
"serviceOptin": true
},
"smsPreferences": {
"marketingOptin": true,
"feedbackOptin": true,
"serviceOptin": true
},
"smsOptin": true,
"email": [
"<string>"
],
"phone": [
"<string>"
]
}
'import requests
url = "https://api.birdeye.com/resources/v1/contact/external/preferences/change-permission"
payload = {
"accountNumber": 123,
"emailPreferences": {
"marketingOptin": True,
"feedbackOptin": True,
"serviceOptin": True
},
"smsPreferences": {
"marketingOptin": True,
"feedbackOptin": True,
"serviceOptin": True
},
"smsOptin": True,
"email": ["<string>"],
"phone": ["<string>"]
}
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({
accountNumber: 123,
emailPreferences: {marketingOptin: true, feedbackOptin: true, serviceOptin: true},
smsPreferences: {marketingOptin: true, feedbackOptin: true, serviceOptin: true},
smsOptin: true,
email: ['<string>'],
phone: ['<string>']
})
};
fetch('https://api.birdeye.com/resources/v1/contact/external/preferences/change-permission', 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.birdeye.com/resources/v1/contact/external/preferences/change-permission",
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([
'accountNumber' => 123,
'emailPreferences' => [
'marketingOptin' => true,
'feedbackOptin' => true,
'serviceOptin' => true
],
'smsPreferences' => [
'marketingOptin' => true,
'feedbackOptin' => true,
'serviceOptin' => true
],
'smsOptin' => true,
'email' => [
'<string>'
],
'phone' => [
'<string>'
]
]),
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://api.birdeye.com/resources/v1/contact/external/preferences/change-permission"
payload := strings.NewReader("{\n \"accountNumber\": 123,\n \"emailPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsOptin\": true,\n \"email\": [\n \"<string>\"\n ],\n \"phone\": [\n \"<string>\"\n ]\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://api.birdeye.com/resources/v1/contact/external/preferences/change-permission")
.header("Content-Type", "application/json")
.body("{\n \"accountNumber\": 123,\n \"emailPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsOptin\": true,\n \"email\": [\n \"<string>\"\n ],\n \"phone\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/contact/external/preferences/change-permission")
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 \"accountNumber\": 123,\n \"emailPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsPreferences\": {\n \"marketingOptin\": true,\n \"feedbackOptin\": true,\n \"serviceOptin\": true\n },\n \"smsOptin\": true,\n \"email\": [\n \"<string>\"\n ],\n \"phone\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 1089,
"message": "Customer id is invalid."
}{
"code": 1161,
"message": "Invalid API key"
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 89,
"message": "Rate limit exceeded"
}Headers
e.g. application/json
e.g. [Required] Partner specific API key provided by Birdeye for data exchange.
e.g. [Required] User assosiated businessNumber
Media type of the JSON request body.
Body
application/json
Location id.
Email communication preference flags.
Show child attributes
Show child attributes
SMS communication preference flags.
Show child attributes
Show child attributes
SMS communication.
Customer email ids.
Customer phone numbers.
Response
OK