curl --request POST \
--url https://api.birdeye.com/resources/v1/customer/checkin \
--header 'Content-Type: application/json' \
--data '
{
"name": "Steve Smith",
"emailId": "steves@abcd.com",
"phone": "408-xxx-xxxx",
"smsEnabled": 1,
"additionalParams": {
"Tag Group Name 1": "Tag Name 1",
"Tag Group Name 2": "Tag Name 2",
"location": "New York"
},
"employees": [
{
"emailId": "sshikha@abcd.com"
}
],
"externalId": "ABC123"
}
'import requests
url = "https://api.birdeye.com/resources/v1/customer/checkin"
payload = {
"name": "Steve Smith",
"emailId": "steves@abcd.com",
"phone": "408-xxx-xxxx",
"smsEnabled": 1,
"additionalParams": {
"Tag Group Name 1": "Tag Name 1",
"Tag Group Name 2": "Tag Name 2",
"location": "New York"
},
"employees": [{ "emailId": "sshikha@abcd.com" }],
"externalId": "ABC123"
}
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({
name: 'Steve Smith',
emailId: 'steves@abcd.com',
phone: '408-xxx-xxxx',
smsEnabled: 1,
additionalParams: {
'Tag Group Name 1': 'Tag Name 1',
'Tag Group Name 2': 'Tag Name 2',
location: 'New York'
},
employees: [{emailId: 'sshikha@abcd.com'}],
externalId: 'ABC123'
})
};
fetch('https://api.birdeye.com/resources/v1/customer/checkin', 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/customer/checkin",
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([
'name' => 'Steve Smith',
'emailId' => 'steves@abcd.com',
'phone' => '408-xxx-xxxx',
'smsEnabled' => 1,
'additionalParams' => [
'Tag Group Name 1' => 'Tag Name 1',
'Tag Group Name 2' => 'Tag Name 2',
'location' => 'New York'
],
'employees' => [
[
'emailId' => 'sshikha@abcd.com'
]
],
'externalId' => 'ABC123'
]),
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/customer/checkin"
payload := strings.NewReader("{\n \"name\": \"Steve Smith\",\n \"emailId\": \"steves@abcd.com\",\n \"phone\": \"408-xxx-xxxx\",\n \"smsEnabled\": 1,\n \"additionalParams\": {\n \"Tag Group Name 1\": \"Tag Name 1\",\n \"Tag Group Name 2\": \"Tag Name 2\",\n \"location\": \"New York\"\n },\n \"employees\": [\n {\n \"emailId\": \"sshikha@abcd.com\"\n }\n ],\n \"externalId\": \"ABC123\"\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/customer/checkin")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Steve Smith\",\n \"emailId\": \"steves@abcd.com\",\n \"phone\": \"408-xxx-xxxx\",\n \"smsEnabled\": 1,\n \"additionalParams\": {\n \"Tag Group Name 1\": \"Tag Name 1\",\n \"Tag Group Name 2\": \"Tag Name 2\",\n \"location\": \"New York\"\n },\n \"employees\": [\n {\n \"emailId\": \"sshikha@abcd.com\"\n }\n ],\n \"externalId\": \"ABC123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/customer/checkin")
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 \"name\": \"Steve Smith\",\n \"emailId\": \"steves@abcd.com\",\n \"phone\": \"408-xxx-xxxx\",\n \"smsEnabled\": 1,\n \"additionalParams\": {\n \"Tag Group Name 1\": \"Tag Name 1\",\n \"Tag Group Name 2\": \"Tag Name 2\",\n \"location\": \"New York\"\n },\n \"employees\": [\n {\n \"emailId\": \"sshikha@abcd.com\"\n }\n ],\n \"externalId\": \"ABC123\"\n}"
response = http.request(request)
puts response.read_body{
"customerId": 123
}{
"code": 1142,
"message": "Customer name cannot be blank"
}{
"code": 1033,
"message": "You are not authorized to perform this action"
}{
"code": 89,
"message": "Rate limit exceeded"
}Check in
Customer check-in can be done using Check in API.
curl --request POST \
--url https://api.birdeye.com/resources/v1/customer/checkin \
--header 'Content-Type: application/json' \
--data '
{
"name": "Steve Smith",
"emailId": "steves@abcd.com",
"phone": "408-xxx-xxxx",
"smsEnabled": 1,
"additionalParams": {
"Tag Group Name 1": "Tag Name 1",
"Tag Group Name 2": "Tag Name 2",
"location": "New York"
},
"employees": [
{
"emailId": "sshikha@abcd.com"
}
],
"externalId": "ABC123"
}
'import requests
url = "https://api.birdeye.com/resources/v1/customer/checkin"
payload = {
"name": "Steve Smith",
"emailId": "steves@abcd.com",
"phone": "408-xxx-xxxx",
"smsEnabled": 1,
"additionalParams": {
"Tag Group Name 1": "Tag Name 1",
"Tag Group Name 2": "Tag Name 2",
"location": "New York"
},
"employees": [{ "emailId": "sshikha@abcd.com" }],
"externalId": "ABC123"
}
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({
name: 'Steve Smith',
emailId: 'steves@abcd.com',
phone: '408-xxx-xxxx',
smsEnabled: 1,
additionalParams: {
'Tag Group Name 1': 'Tag Name 1',
'Tag Group Name 2': 'Tag Name 2',
location: 'New York'
},
employees: [{emailId: 'sshikha@abcd.com'}],
externalId: 'ABC123'
})
};
fetch('https://api.birdeye.com/resources/v1/customer/checkin', 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/customer/checkin",
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([
'name' => 'Steve Smith',
'emailId' => 'steves@abcd.com',
'phone' => '408-xxx-xxxx',
'smsEnabled' => 1,
'additionalParams' => [
'Tag Group Name 1' => 'Tag Name 1',
'Tag Group Name 2' => 'Tag Name 2',
'location' => 'New York'
],
'employees' => [
[
'emailId' => 'sshikha@abcd.com'
]
],
'externalId' => 'ABC123'
]),
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/customer/checkin"
payload := strings.NewReader("{\n \"name\": \"Steve Smith\",\n \"emailId\": \"steves@abcd.com\",\n \"phone\": \"408-xxx-xxxx\",\n \"smsEnabled\": 1,\n \"additionalParams\": {\n \"Tag Group Name 1\": \"Tag Name 1\",\n \"Tag Group Name 2\": \"Tag Name 2\",\n \"location\": \"New York\"\n },\n \"employees\": [\n {\n \"emailId\": \"sshikha@abcd.com\"\n }\n ],\n \"externalId\": \"ABC123\"\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/customer/checkin")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Steve Smith\",\n \"emailId\": \"steves@abcd.com\",\n \"phone\": \"408-xxx-xxxx\",\n \"smsEnabled\": 1,\n \"additionalParams\": {\n \"Tag Group Name 1\": \"Tag Name 1\",\n \"Tag Group Name 2\": \"Tag Name 2\",\n \"location\": \"New York\"\n },\n \"employees\": [\n {\n \"emailId\": \"sshikha@abcd.com\"\n }\n ],\n \"externalId\": \"ABC123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/customer/checkin")
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 \"name\": \"Steve Smith\",\n \"emailId\": \"steves@abcd.com\",\n \"phone\": \"408-xxx-xxxx\",\n \"smsEnabled\": 1,\n \"additionalParams\": {\n \"Tag Group Name 1\": \"Tag Name 1\",\n \"Tag Group Name 2\": \"Tag Name 2\",\n \"location\": \"New York\"\n },\n \"employees\": [\n {\n \"emailId\": \"sshikha@abcd.com\"\n }\n ],\n \"externalId\": \"ABC123\"\n}"
response = http.request(request)
puts response.read_body{
"customerId": 123
}{
"code": 1142,
"message": "Customer name cannot be blank"
}{
"code": 1033,
"message": "You are not authorized to perform this action"
}{
"code": 89,
"message": "Rate limit exceeded"
}Headers
e.g. application/json
e.g. [Required] Partner specific API key provided by Birdeye for data exchange.
Media type of the JSON request body.
Query Parameters
Id of the business.
Body
Name of the customer.
Email ID of the customer (optional If business has enabled for sms, then either email or phone will be required).
Phone number of the customer (optional If business has enabled for sms, then either email or phone will be required).
Whether customer has opted to receive SMS request or not. Valid values are 0(false), 1(true). Default is 1.
Custom tags can be added as key value pair.
Show child attributes
Show child attributes
Unique external identifier of the contact which could be from the CRM or any external system storing your contacts.
Response
OK
Id of enterprise customer.