Link a Google Business Profile
curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"location_id": "locations/12345"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link"
payload = { "location_id": "locations/12345" }
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({location_id: 'locations/12345'})
};
fetch('https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link', 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://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link",
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([
'location_id' => 'locations/12345'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_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://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link"
payload := strings.NewReader("{\n \"location_id\": \"locations/12345\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_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.post("https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"location_id\": \"locations/12345\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"location_id\": \"locations/12345\"\n}"
response = http.request(request)
puts response.read_body{
"business_profile_location_id": "locations/12345"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Accounts
Link a Google Business Profile
This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.
Links a Google Business Profile location to the account, so Smart campaigns created from now on can show its address and hours.
Send the location as locations/<id>, which is how Google names it. A malformed value comes back as a 400.
This affects campaigns created after the link. Campaigns that already exist are not changed.
The response includes fields beyond the ones documented here. Don’t rely on undocumented response fields, as they can change at any time. Send only the fields documented here. Other request fields are not supported and their behavior can change.
POST
/
api
/
apps
/
{app_id}
/
google-ads
/
accounts
/
{account_id}
/
business-profile
/
link
Link a Google Business Profile
curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"location_id": "locations/12345"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link"
payload = { "location_id": "locations/12345" }
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({location_id: 'locations/12345'})
};
fetch('https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link', 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://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link",
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([
'location_id' => 'locations/12345'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_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://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link"
payload := strings.NewReader("{\n \"location_id\": \"locations/12345\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_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.post("https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"location_id\": \"locations/12345\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/business-profile/link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"location_id\": \"locations/12345\"\n}"
response = http.request(request)
puts response.read_body{
"business_profile_location_id": "locations/12345"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Personal API key.
Path Parameters
ID of the app whose Google Ads campaigns to manage.
ID of the Google Ads account, as returned in id by Get Google Ads account. An account that belongs to a different app returns a 404.
Body
application/json
Google Business Profile location, as Google names it: locations/<id>.
Response
Successful Response
The account's linked Google Business Profile location.
The linked location as locations/<id>. Empty after unlinking.
Example:
"locations/12345"
Was this page helpful?