curl -X POST https://api.ayrshare.com/api/ads/facebook/boost \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-d '{
"postId": "1234567890",
"accountId": "1234567890",
"adName": "My Ad",
"status": "active",
"goal": "engagement",
"minAge": 18,
"maxAge": 65,
"locations": { "countries": ["US"] },
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z",
"interests": [1234567890, 1234567891]
}'
curl -X POST https://api.ayrshare.com/api/ads/facebook/boost \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-d '{
"postId": "1234567890",
"accountId": "1234567890",
"adName": "Nurse Practitioner Hiring",
"status": "active",
"goal": "traffic",
"callToAction": {
"type": "APPLY_NOW",
"link": "https://example.com/careers/nurse-practitioner",
"linkTitle": "Apply today"
},
"specialAdCategories": ["employment"],
"minAge": 18,
"maxAge": 65,
"locations": { "countries": ["US"] },
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z"
}'
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/facebook/boost", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`
},
body: JSON.stringify({
postId: "1234567890",
accountId: "1234567890",
adName: "My Ad",
status: "active",
goal: "engagement",
minAge: 18,
maxAge: 65,
locations: { countries: ["US"] },
budget: 100,
bidAmount: 1,
startDate: "2025-03-01T00:00:00Z",
endDate: "2025-03-07T23:59:59Z",
interests: [1234567890, 1234567891]
})
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
API_KEY = "API_KEY"
url = "https://api.ayrshare.com/api/ads/facebook/boost"
payload = {
"postId": "1234567890",
"accountId": "1234567890",
"adName": "My Ad",
"status": "active",
"goal": "engagement",
"minAge": 18,
"maxAge": 65,
"locations": {"countries": ["US"]},
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z",
"interests": [1234567890, 1234567891]
}
response = requests.post(url, headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}, json=payload)
print(response.json())
<?php
$API_KEY = "API_KEY";
$payload = [
"postId" => "1234567890",
"accountId" => "1234567890",
"adName" => "My Ad",
"status" => "active",
"goal" => "engagement",
"minAge" => 18,
"maxAge" => 65,
"locations" => ["countries" => ["US"]],
"budget" => 100,
"bidAmount" => 1,
"startDate" => "2025-03-01T00:00:00Z",
"endDate" => "2025-03-07T23:59:59Z",
"interests" => [1234567890, 1234567891]
];
$ch = curl_init("https://api.ayrshare.com/api/ads/facebook/boost");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer " . $API_KEY
]);
$response = curl_exec($ch);
$result = json_decode($response, true);
print_r($result);
curl_close($ch);
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string API_KEY = "API_KEY";
var payload = new
{
postId = "1234567890",
accountId = "1234567890",
adName = "My Ad",
status = "active",
goal = "engagement",
minAge = 18,
maxAge = 65,
locations = new { countries = new[] { "US" } },
budget = 100,
bidAmount = 1,
startDate = "2025-03-01T00:00:00Z",
endDate = "2025-03-07T23:59:59Z",
interests = new[] { 1234567890, 1234567891 }
};
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", API_KEY);
var content = new StringContent(
JsonSerializer.Serialize(payload),
Encoding.UTF8,
"application/json"
);
var response = await client.PostAsync("https://api.ayrshare.com/api/ads/facebook/boost", content);
var responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
apiKey := "API_KEY"
payload := map[string]interface{}{
"postId": "1234567890",
"accountId": "1234567890",
"adName": "My Ad",
"status": "active",
"goal": "engagement",
"minAge": 18,
"maxAge": 65,
"locations": map[string]interface{}{"countries": []string{"US"}},
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z",
"interests": []int{1234567890, 1234567891},
}
jsonData, err := json.Marshal(payload)
if err != nil {
fmt.Println("Error marshaling JSON:", err)
return
}
req, err := http.NewRequest("POST", "https://api.ayrshare.com/api/ads/facebook/boost", bytes.NewBuffer(jsonData))
if err != nil {
fmt.Println("Error creating request:", err)
return
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error sending request:", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Error reading response:", err)
return
}
fmt.Println(string(body))
}
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.databind.ObjectMapper;
public class BoostPost {
public static void main(String[] args) {
String API_KEY = "API_KEY";
String url = "https://api.ayrshare.com/api/ads/facebook/boost";
Map<String, Object> payload = new HashMap<>();
payload.put("postId", "1234567890");
payload.put("accountId", "1234567890");
payload.put("adName", "My Ad");
payload.put("status", "active");
payload.put("goal", "engagement");
payload.put("minAge", 18);
payload.put("maxAge", 65);
Map<String, Object> locations = new HashMap<>();
locations.put("countries", Arrays.asList("US"));
payload.put("locations", locations);
payload.put("budget", 100);
payload.put("bidAmount", 1);
payload.put("startDate", "2025-03-01T00:00:00Z");
payload.put("endDate", "2025-03-07T23:59:59Z");
payload.put("interests", Arrays.asList(1234567890, 1234567891));
try {
ObjectMapper objectMapper = new ObjectMapper();
String requestBody = objectMapper.writeValueAsString(payload);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Content-Type", "application/json")
.header("Authorization", "Bearer " + API_KEY)
.POST(HttpRequest.BodyPublishers.ofString(requestBody))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'uri'
require 'json'
API_KEY = "API_KEY"
uri = URI.parse("https://api.ayrshare.com/api/ads/facebook/boost")
payload = {
postId: "1234567890",
accountId: "1234567890",
adName: "My Ad",
status: "active",
goal: "engagement",
minAge: 18,
maxAge: 65,
locations: { countries: ["US"] },
budget: 100,
bidAmount: 1,
startDate: "2025-03-01T00:00:00Z",
endDate: "2025-03-07T23:59:59Z",
interests: [1234567890, 1234567891]
}
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer #{API_KEY}"
request.body = payload.to_json
response = http.request(request)
puts response.body
{
"status": "success",
"adId": "120217670757750410",
"adName": "API Post - DE6gpw8kxlonHy2b7Lo - 2025-03-26T23:42:43",
"adStatus": "active",
"bidAmount": 10,
"budget": 100,
"endDate": "2026-03-28T22:30:00Z",
"goal": {
"title": "Get More Engagement",
"description": "This goal seeks to increase engagement...",
"type": "engagement"
},
"interests": [
"6003195554098"
],
"locations": { "countries": ["US"] },
"maxAge": 65,
"minAge": 18,
"postId": "DE6gpw8kxlonHy2b7Lo",
"startDate": "2026-03-26T22:30:00Z"
}
{
"status": "success",
"adId": "120217670757750411",
"adName": "Nurse Practitioner Hiring - DE6gpw8kxlonHy2b7Lo - 2025-03-26T23:42:43",
"adStatus": "active",
"bidAmount": 1,
"budget": 100,
"callToAction": {
"type": "APPLY_NOW",
"link": "https://example.com/careers/nurse-practitioner",
"linkTitle": "Apply today"
},
"endDate": "2025-03-07T23:59:59Z",
"goal": {
"title": "Drive Traffic",
"description": "Sends people from the boosted post to a destination off Facebook...",
"type": "traffic"
},
"locations": { "countries": ["US"] },
"maxAge": 65,
"minAge": 18,
"postId": "DE6gpw8kxlonHy2b7Lo",
"startDate": "2025-03-01T00:00:00Z"
}
{
"action": "boost post",
"status": "error",
"code": 369,
"message": "Unable to boost post. Please try again or contact us if the issue persists.",
"details": "The accountId likely does not exist. Please check the accountId and try again."
}
{
"action": "request",
"status": "error",
"code": 101,
"message": "Missing or incorrect parameters. Please verify with the docs. https://www.ayrshare.com/docs/apis",
"details": "Missing required fields: budget"
}
Facebook Ads
Impulsionar publicação
Impulsione uma publicação enviando-a para a plataforma de anúncios do Facebook
POST
/
ads
/
facebook
/
boost
curl -X POST https://api.ayrshare.com/api/ads/facebook/boost \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-d '{
"postId": "1234567890",
"accountId": "1234567890",
"adName": "My Ad",
"status": "active",
"goal": "engagement",
"minAge": 18,
"maxAge": 65,
"locations": { "countries": ["US"] },
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z",
"interests": [1234567890, 1234567891]
}'
curl -X POST https://api.ayrshare.com/api/ads/facebook/boost \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-d '{
"postId": "1234567890",
"accountId": "1234567890",
"adName": "Nurse Practitioner Hiring",
"status": "active",
"goal": "traffic",
"callToAction": {
"type": "APPLY_NOW",
"link": "https://example.com/careers/nurse-practitioner",
"linkTitle": "Apply today"
},
"specialAdCategories": ["employment"],
"minAge": 18,
"maxAge": 65,
"locations": { "countries": ["US"] },
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z"
}'
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/facebook/boost", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`
},
body: JSON.stringify({
postId: "1234567890",
accountId: "1234567890",
adName: "My Ad",
status: "active",
goal: "engagement",
minAge: 18,
maxAge: 65,
locations: { countries: ["US"] },
budget: 100,
bidAmount: 1,
startDate: "2025-03-01T00:00:00Z",
endDate: "2025-03-07T23:59:59Z",
interests: [1234567890, 1234567891]
})
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
API_KEY = "API_KEY"
url = "https://api.ayrshare.com/api/ads/facebook/boost"
payload = {
"postId": "1234567890",
"accountId": "1234567890",
"adName": "My Ad",
"status": "active",
"goal": "engagement",
"minAge": 18,
"maxAge": 65,
"locations": {"countries": ["US"]},
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z",
"interests": [1234567890, 1234567891]
}
response = requests.post(url, headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}, json=payload)
print(response.json())
<?php
$API_KEY = "API_KEY";
$payload = [
"postId" => "1234567890",
"accountId" => "1234567890",
"adName" => "My Ad",
"status" => "active",
"goal" => "engagement",
"minAge" => 18,
"maxAge" => 65,
"locations" => ["countries" => ["US"]],
"budget" => 100,
"bidAmount" => 1,
"startDate" => "2025-03-01T00:00:00Z",
"endDate" => "2025-03-07T23:59:59Z",
"interests" => [1234567890, 1234567891]
];
$ch = curl_init("https://api.ayrshare.com/api/ads/facebook/boost");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer " . $API_KEY
]);
$response = curl_exec($ch);
$result = json_decode($response, true);
print_r($result);
curl_close($ch);
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string API_KEY = "API_KEY";
var payload = new
{
postId = "1234567890",
accountId = "1234567890",
adName = "My Ad",
status = "active",
goal = "engagement",
minAge = 18,
maxAge = 65,
locations = new { countries = new[] { "US" } },
budget = 100,
bidAmount = 1,
startDate = "2025-03-01T00:00:00Z",
endDate = "2025-03-07T23:59:59Z",
interests = new[] { 1234567890, 1234567891 }
};
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", API_KEY);
var content = new StringContent(
JsonSerializer.Serialize(payload),
Encoding.UTF8,
"application/json"
);
var response = await client.PostAsync("https://api.ayrshare.com/api/ads/facebook/boost", content);
var responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
apiKey := "API_KEY"
payload := map[string]interface{}{
"postId": "1234567890",
"accountId": "1234567890",
"adName": "My Ad",
"status": "active",
"goal": "engagement",
"minAge": 18,
"maxAge": 65,
"locations": map[string]interface{}{"countries": []string{"US"}},
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z",
"interests": []int{1234567890, 1234567891},
}
jsonData, err := json.Marshal(payload)
if err != nil {
fmt.Println("Error marshaling JSON:", err)
return
}
req, err := http.NewRequest("POST", "https://api.ayrshare.com/api/ads/facebook/boost", bytes.NewBuffer(jsonData))
if err != nil {
fmt.Println("Error creating request:", err)
return
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error sending request:", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Error reading response:", err)
return
}
fmt.Println(string(body))
}
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.databind.ObjectMapper;
public class BoostPost {
public static void main(String[] args) {
String API_KEY = "API_KEY";
String url = "https://api.ayrshare.com/api/ads/facebook/boost";
Map<String, Object> payload = new HashMap<>();
payload.put("postId", "1234567890");
payload.put("accountId", "1234567890");
payload.put("adName", "My Ad");
payload.put("status", "active");
payload.put("goal", "engagement");
payload.put("minAge", 18);
payload.put("maxAge", 65);
Map<String, Object> locations = new HashMap<>();
locations.put("countries", Arrays.asList("US"));
payload.put("locations", locations);
payload.put("budget", 100);
payload.put("bidAmount", 1);
payload.put("startDate", "2025-03-01T00:00:00Z");
payload.put("endDate", "2025-03-07T23:59:59Z");
payload.put("interests", Arrays.asList(1234567890, 1234567891));
try {
ObjectMapper objectMapper = new ObjectMapper();
String requestBody = objectMapper.writeValueAsString(payload);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Content-Type", "application/json")
.header("Authorization", "Bearer " + API_KEY)
.POST(HttpRequest.BodyPublishers.ofString(requestBody))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'uri'
require 'json'
API_KEY = "API_KEY"
uri = URI.parse("https://api.ayrshare.com/api/ads/facebook/boost")
payload = {
postId: "1234567890",
accountId: "1234567890",
adName: "My Ad",
status: "active",
goal: "engagement",
minAge: 18,
maxAge: 65,
locations: { countries: ["US"] },
budget: 100,
bidAmount: 1,
startDate: "2025-03-01T00:00:00Z",
endDate: "2025-03-07T23:59:59Z",
interests: [1234567890, 1234567891]
}
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer #{API_KEY}"
request.body = payload.to_json
response = http.request(request)
puts response.body
{
"status": "success",
"adId": "120217670757750410",
"adName": "API Post - DE6gpw8kxlonHy2b7Lo - 2025-03-26T23:42:43",
"adStatus": "active",
"bidAmount": 10,
"budget": 100,
"endDate": "2026-03-28T22:30:00Z",
"goal": {
"title": "Get More Engagement",
"description": "This goal seeks to increase engagement...",
"type": "engagement"
},
"interests": [
"6003195554098"
],
"locations": { "countries": ["US"] },
"maxAge": 65,
"minAge": 18,
"postId": "DE6gpw8kxlonHy2b7Lo",
"startDate": "2026-03-26T22:30:00Z"
}
{
"status": "success",
"adId": "120217670757750411",
"adName": "Nurse Practitioner Hiring - DE6gpw8kxlonHy2b7Lo - 2025-03-26T23:42:43",
"adStatus": "active",
"bidAmount": 1,
"budget": 100,
"callToAction": {
"type": "APPLY_NOW",
"link": "https://example.com/careers/nurse-practitioner",
"linkTitle": "Apply today"
},
"endDate": "2025-03-07T23:59:59Z",
"goal": {
"title": "Drive Traffic",
"description": "Sends people from the boosted post to a destination off Facebook...",
"type": "traffic"
},
"locations": { "countries": ["US"] },
"maxAge": 65,
"minAge": 18,
"postId": "DE6gpw8kxlonHy2b7Lo",
"startDate": "2025-03-01T00:00:00Z"
}
{
"action": "boost post",
"status": "error",
"code": 369,
"message": "Unable to boost post. Please try again or contact us if the issue persists.",
"details": "The accountId likely does not exist. Please check the accountId and try again."
}
{
"action": "request",
"status": "error",
"code": 101,
"message": "Missing or incorrect parameters. Please verify with the docs. https://www.ayrshare.com/docs/apis",
"details": "Missing required fields: budget"
}
Impulsione uma publicação existente do Facebook para criar um anúncio.
Este endpoint permite converter suas publicações orgânicas em anúncios pagos com parâmetros personalizados de segmentação, orçamento e agendamento.
- Os valores de orçamento e lance devem ser especificados em USD com até duas casas decimais.
- O anúncio deve ser veiculado por pelo menos 30 horas para atender ao requisito do Facebook.
- Você pode usar o endpoint de interesses para encontrar IDs de interesses para segmentação.
- O Facebook pode levar até 24 horas para revisar e aprovar publicações impulsionadas.
- Se estiver usando
fbPostIddiretamente (em vez dopostIdda Ayrshare), certifique-se de que seja um ID de publicação válido do Facebook. - Se um impulsionamento falhar depois que o Facebook tiver criado a campanha (na etapa do criativo, do conjunto de anúncios ou do anúncio), tentamos excluir essa campanha. Se a exclusão também falhar, a campanha vazia permanece na sua conta de anúncios. Você pode encontrá-la e excluí-la no Gerenciador de Anúncios.
Objetivos do anúncio
Cada anúncio deve ter um objetivo. O objetivo determina como o anúncio será otimizado para exibição.engagement: Este objetivo busca aumentar o engajamento, garantindo ao mesmo tempo que o anúncio alcance o maior número possível de usuários únicos. Equilibra a visibilidade com o engajamento, exibindo o anúncio para o maior número possível de pessoas diferentes que possam interagir com ele.interactions: Projetado para impulsionar interações, como curtidas, comentários e compartilhamentos, no anúncio. O Facebook prioriza exibir o anúncio para usuários com maior probabilidade de interagir com ele.awareness_views: Foca em aumentar o reconhecimento da marca maximizando o número de vezes que o anúncio é exibido. Prioriza mostrar o anúncio o maior número de vezes possível dentro do orçamento, independentemente do alcance único.awareness_audience: Visa aumentar o reconhecimento da marca maximizando o número de pessoas únicas que veem o anúncio. Garante que o anúncio alcance o maior número possível de usuários diferentes e maximiza o tamanho da audiência única em vez de exibi-lo várias vezes para a mesma audiência.traffic: Envia as pessoas para fora do Facebook, para um destino de sua escolha, como seu site, uma landing page ou uma publicação de vaga de emprego. O Facebook otimiza para cliques no link em vez de engajamento na plataforma. Este é o único objetivo que suporta um botão decallToAction.
Parâmetros de cabeçalho
Parâmetros do corpo
string
obrigatório
O ID da conta de anúncios do Facebook na qual impulsionar a publicação. O ID da conta pode ser obtido no
endpoint de contas de anúncios.
string
obrigatório
Nome do seu anúncio (aparece no Gerenciador de Anúncios do Facebook) com o formato
{adName} - {postId or fbPostId} - {current date}.number
obrigatório
Valor máximo do lance em USD. O lance mínimo é de US$ 1,00.
number
obrigatório
Orçamento diário em USD. O orçamento mínimo é de US$ 1,00.
string
obrigatório
O ID da publicação social do Facebook da publicação a ser impulsionada, que permite
criar um anúncio a partir de uma publicação criada diretamente no Facebook. Este é o ID da publicação no
Facebook, não da Ayrshare. Obrigatório se
postId não estiver definido.string
padrão:"engagement"
obrigatório
O objetivo do anúncio. Valores:
engagement, interactions, awareness_views,
awareness_audience e traffic. Consulte os detalhes dos objetivos de
anúncio acima para mais informações.object
obrigatório
Localizações de segmentação do anúncio com um objeto de arrays:
countries, regions, cities.Mostrar child attributes
Mostrar child attributes
array
Lista de códigos de países.
{
"countries": ["US", "CA"]
}
array
As regiões exigem o valor
key da região do Facebook. Consulte o endpoint de regiões para mais informações.{
"regions": [{ "key": "3886" }]
}
array
As cidades exigem:
key (do Facebook), radius e distance_unit.
radius é a distância ao redor da cidade: 10–50 milhas ou 17–80 quilômetros.
distance_unit é mile ou kilometer.
Consulte o endpoint de cidades para mais informações.{
"cities": [
{ "key": "2420605", "radius": 25, "distance_unit": "mile" }
]
}
string
obrigatório
O ID da publicação da Ayrshare da publicação a ser impulsionada. Obrigatório se
fbPostId não estiver definido.string
padrão:"active"
obrigatório
O status do anúncio. Valores:
active e paused.Você pode alterar o status do anúncio posteriormente usando o endpoint de atualização de anúncio.boolean
padrão:false
Controla o compartilhamento de orçamento no nível da campanha entre conjuntos de anúncios da Meta.
A Meta agora exige este campo em todas as campanhas criadas sem um orçamento no nível da campanha, portanto a Ayrshare sempre o envia — usando
false por padrão para compatibilidade retroativa.Defina como true para permitir que a Meta compartilhe até ~20% do orçamento de um conjunto de anúncios com outros conjuntos da mesma campanha para otimizar o desempenho geral. Consulte a referência do grupo de campanhas de anúncios da Meta para obter detalhes.object
Adicione um botão de call-to-action, como Apply Now ou Shop Now, à publicação impulsionada. O botão abre a URL que você fornecer.
{
"callToAction": {
"type": "APPLY_NOW",
"link": "https://www.mysite.com/careers/social-media-manager",
"linkTitle": "Social Media Manager"
}
}
Mostrar child attributes
Mostrar child attributes
string
obrigatório
O rótulo do botão. Valores:
LEARN_MORE, APPLY_NOW, SIGN_UP, SHOP_NOW, BOOK_TRAVEL,
GET_QUOTE, CONTACT_US, DOWNLOAD e SUBSCRIBE.Não diferencia maiúsculas de minúsculas na entrada, então apply_now, Apply_Now e APPLY_NOW são todos aceitos.string
obrigatório
O destino que o botão abre. Deve ser uma URL absoluta
http ou https. Caminhos relativos,
links mailto: e URLs malformadas são rejeitados.string
Título opcional exibido junto com o botão.
callToAction só é suportado com o objetivo de anúncio traffic.
Enviá-lo com engagement, interactions, awareness_views ou awareness_audience retorna um 400 com code: 101 indicando os objetivos compatíveis.
Anteriormente, o valor era aceito com qualquer objetivo e então silenciosamente ignorado, produzindo um anúncio sem botão.callToAction.link fornece a URL de destino. Quando a Meta renderiza o call to action como um botão na publicação existente, as urlTags são anexadas ao link desse botão. goal: "traffic" sem um callToAction é permitido e cria um anúncio de tráfego sem botão.O callToAction que você envia é ecoado de volta na resposta do impulsionamento com type em maiúsculas — veja o exemplo Post Boosted with a Call to Action — e também é retornado no anúncio posteriormente pelo endpoint de anúncios impulsionados.object
Acompanhe o anúncio usando um Facebook Pixel.
Mostrar child attributes
Mostrar child attributes
number
obrigatório
O ID do Facebook Pixel para rastrear o anúncio.
{
"pixelId": 1234567890
}
array
Adicione tags UTM à URL do anúncio.Por exemplo, se a URL de link for
{
"urlTags": ["utm_source=ayrshare", "utm_medium=social", "utm_campaign=ayrshare-social"]
}
https://www.mysite.com/my-post e as tags de URL adicionadas forem:utm_source=ayrshare, utm_medium=social e utm_campaign=ayrshare-social.A URL do anúncio será:
https://www.mysite.com/my-post?utm_source=ayrshare&utm_medium=social&utm_campaign=ayrshare-social.array
A Meta exige que anunciantes em categorias especiais de anúncios identifiquem por conta própria a categoria de sua campanha.Se sua empresa está em uma dessas categorias, você deve selecionar a categoria apropriada ao impulsionar sua publicação.Os seguintes valores são suportados:
housing: Anúncios que promovem ou vinculam diretamente a uma oportunidade de moradia ou serviço relacionado, incluindo, mas não se limitando a, anúncios de venda ou aluguel de uma casa ou apartamento, seguro residencial, seguro hipotecário, empréstimos hipotecários, reparos habitacionais e serviços de home equity ou avaliação.financial_product_services: Anúncios que promovem ou vinculam diretamente a uma oferta de produtos e serviços financeiros, incluindo crédito.financial_products_servicesé aceito como grafia equivalente, ecredité aceito como o antigo nome da Meta para esta categoria — os três chegam à Meta como a mesma categoria, então envie o que você já tiver.employment: Anúncios que promovem ou vinculam diretamente a uma oportunidade de emprego, incluindo, mas não se limitando a, vagas de tempo parcial ou integral, estágios ou programas de certificação profissional. Anúncios relacionados que se enquadram nesta categoria incluem promoções de bolsas de emprego ou feiras, serviços de agregação ou anúncios que detalham benefícios que uma empresa possa oferecer, independentemente de uma oferta de emprego específica.none: O padrão. Declara que a campanha não está em nenhuma categoria especial de anúncios. Enviá-lo explicitamente equivale a omitirspecialAdCategoriespor completo, e é aceito para que um cliente que sempre envia o campo possa indicar “nenhuma categoria” sem precisar tratar esse caso à parte.issues_elections_politics: Anúncios feitos por, em nome de, ou sobre um candidato a cargo público, uma figura política, um partido político ou que defendam o resultado de uma eleição para cargo público. Também inclui anúncios sobre qualquer eleição, referendo ou iniciativa de votação, incluindo campanhas eleitorais do tipo “Vá votar”. Anúncios regulamentados como publicidade política ou sobre questões sociais em qualquer lugar onde o anúncio esteja sendo veiculado. Se selecionar issues, elections ou politics, você deve selecionar o país onde deseja veicular esses anúncios. É necessário estar autorizado a veicular anúncios sobre questões sociais, eleições ou política no país especificado.
400 e code: 101 listando os valores aceitos. Anteriormente, um valor não reconhecido era silenciosamente descartado e a campanha era criada sem categoria, então um erro de digitação deixava um anúncio regulamentado em veiculação sem nenhuma categoria declarada.A lista de valores aceitos nessa mensagem de erro é escrita na forma em maiúsculas da Meta e também menciona as grafias alternativas acima, então ela aparece como NONE, HOUSING, FINANCIAL_PRODUCTS_SERVICES, EMPLOYMENT, ISSUES_ELECTIONS_POLITICS, FINANCIAL_PRODUCT_SERVICES, CREDIT. São as mesmas cinco categorias listadas aqui — FINANCIAL_PRODUCT_SERVICES e CREDIT são os equivalentes de financial_product_services, não categorias extras. A mesma mensagem é retornada pelo endpoint de interesses.Repetir uma categoria, ou enviar duas grafias da mesma categoria, como ["credit", "financial_product_services"], é aceito e é reduzido a uma única categoria antes de chegar à Meta. Um valor vazio é rejeitado com um 400 e code: 101.Para encontrar IDs de interesses que a Meta permite para uma dessas categorias, passe o mesmo valor ao endpoint de interesses.A Meta também precisa saber os países em que um anúncio de categoria especial é veiculado. A Ayrshare os obtém de locations: os países que você listar, mais o país de cada região e cidade. Assim, um impulsionamento housing que segmenta uma cidade do Reino Unido é configurado para o Reino Unido, sem nada extra na sua solicitação. Sem locations, o anúncio é veiculado nos EUA e a campanha é configurada para os EUA.A Meta também define um raio mínimo ao redor de cada cidade para essas categorias. Uma cidade do Reino Unido com raio de 17 quilômetros foi rejeitada com #2909039, que exige pelo menos 25 quilômetros (15 milhas), então use 25 quilômetros ou mais.A Meta exige que os anunciantes identifiquem por conta própria a categoria de sua campanha.
A Meta utiliza revisores humanos e aprendizado de máquina para identificar esses tipos de anúncios.
Se você nos enviar uma
specialAdCategory incorreta, existe o risco de que seus anúncios sejam pausados até que a campanha seja ajustada.string
Data e hora de término no formato ISO 8601 (deve ser pelo menos 30 horas após o início), por exemplo
2025-03-01T00:00:00Z.Se não for definida, o anúncio será veiculado indefinidamente e terá data de término ongoing.object
Exclua localizações usando um objeto com arrays de
countries, regions e cities.Mostrar child attributes
Mostrar child attributes
array
Lista de códigos de países para excluir.
{
"countries": ["US", "CA"]
}
array
As regiões exigem o valor
key da região do Facebook. Consulte o endpoint de regiões para mais informações.{
"regions": [{ "key": "3886" }]
}
array
As cidades exigem:
key (do Facebook), radius e distance_unit.
radius é a distância ao redor da cidade: 10–50 milhas ou 17–80 quilômetros.
distance_unit é mile ou kilometer.
Consulte o endpoint de cidades para mais informações.{
"cities": [
{ "key": "2420605", "radius": 25, "distance_unit": "mile" }
]
}
string
padrão:"all"
O gênero da audiência. Valores:
all, male, female.array
Os interesses de segmentação do anúncio como um array de IDs de
interesse do Facebook.
number
padrão:65
Idade máxima para segmentação do anúncio (padrão: 65).
number
padrão:18
Idade mínima para segmentação do anúncio (padrão: 18).
string
Data e hora de início no formato ISO 8601, por exemplo
2025-03-01T00:00:00Z.Se não for definida, o anúncio começará imediatamente.string
O beneficiário do anúncio para conformidade com o Digital Services Act (DSA) para países da UE. Deve ser definido
em conjunto com
dsaPayor se qualquer um dos dois for fornecido. Consulte nosso guia do
DSA para mais informações.string
O pagador do anúncio para conformidade com o Digital Services Act (DSA) para países da UE. Deve ser definido
em conjunto com
dsaBeneficiary se qualquer um dos dois for fornecido.Orçamentos de campanha
Para manter o orçamento na campanha em vez de no conjunto de anúncios, enviebudget.level: "campaign" no formato aninhado. Assim, o conjunto de anúncios não tem orçamento próprio. Funciona com orçamentos diários e vitalícios.
{
"accountId": "123456789",
"postId": "Ut1fWU6XkqkMayHGnJZ",
"goal": "traffic",
"budget": { "amount": 50, "type": "lifetime", "level": "campaign" },
"schedule": { "start": "2026-11-01T00:00:00Z", "end": "2026-11-08T00:00:00Z" },
"platformOptions": { "facebook": { "adName": "November boost", "bidAmount": 2 } }
}
budget.level:adSet(o padrão) oucampaign. Um orçamento de campanha não pode ser combinado comadSetBudgetSharingEnabled. Se você enviar os dois, a solicitação é rejeitada com um400ecode: 101.- A resposta inclui
budgetLevel: "campaign"para um orçamento de campanha. Um orçamento de conjunto de anúncios não retornabudgetLevel, então trate a ausência do campo comoadSet. - No Histórico,
budgetDailymostra o orçamento diário da campanha para um anúncio com orçamento diário de campanha. Se vários anúncios compartilham um mesmo orçamento de campanha, cada um mostra todo o orçamento da campanha, e não a sua parcela. O Histórico não mostra orçamentos vitalícios, seja na campanha ou no conjunto de anúncios. Quando um orçamento vitalício de campanha é gasto, todo anúncio nessa campanha mostradeliveryStatus: "COMPLETED"após a próxima atualização noturna, inclusive um anúncio agendado ou em análise. Um anúncio rejeitado continuaREJECTED.
Impulsionar em uma campanha ou conjunto de anúncios existente
Por padrão, cada impulsionamento cria sua própria campanha, seu próprio conjunto de anúncios e seu próprio anúncio. Para adicionar o impulsionamento a uma campanha ou a um conjunto de anúncios que você já executa na Meta, envie o formato aninhado comattachTo.
attachTo.campaignId: o impulsionamento cria um novo conjunto de anúncios e um novo anúncio dentro dessa campanha. Enviebudget,targetingebidAmountnormalmente: eles se aplicam ao novo conjunto de anúncios.attachTo.adSetId: o impulsionamento cria apenas o anúncio, dentro desse conjunto de anúncios. Envie tambémattachTo.campaignId, a campanha à qual o conjunto de anúncios pertence. Omitabudget,targetingeplatformOptions.facebook.bidAmount: o conjunto de anúncios mantém os seus próprios. Enviar qualquer um deles retorna um400comcode: 101.
{
"accountId": "123456789",
"postId": "Ut1fWU6XkqkMayHGnJZ",
"goal": "engagement",
"attachTo": { "campaignId": "120210000000000001", "adSetId": "120210000000000002" },
"platformOptions": { "facebook": { "adName": "November boost" } }
}
- A campanha ou o conjunto de anúncios deve estar na conta de anúncios indicada por
accountIde não pode pertencer aos impulsionamentos de outro usuário. Caso contrário, a solicitação retorna um400. Um impulsionamento do Facebook também não pode ser anexado a uma campanha criada por um impulsionamento do Instagram, e vice-versa. attachTonão pode ser combinado combudget.level: "campaign",specialAdCategoriesouadSetBudgetSharingEnabled, que são definidos em uma nova campanha. Enviá-los retornacode: 101.- Pausar ou ativar o impulsionamento altera apenas o que o impulsionamento criou: o anúncio, e o conjunto de anúncios quando o impulsionamento o criou. A campanha ou o conjunto de anúncios que você indicou em
attachTomantém o próprio status. O anúncio só é veiculado enquanto a campanha e o conjunto de anúncios acima dele estiverem ativos. Isso também vale quando a Ayrshare pausa seus anúncios, por exemplo, quando um perfil é excluído. - Se o impulsionamento falhar, a campanha ou o conjunto de anúncios indicado em
attachTonunca é excluído. - Se o conjunto de anúncios ao qual você anexa estiver em uma campanha que detém o orçamento (um orçamento de campanha), o Histórico informa o impulsionamento como qualquer anúncio com orçamento de campanha:
budgetDailymostra todo o orçamento da campanha, e não a parcela do impulsionamento, e, quando um orçamento vitalício de campanha é gasto, todo anúncio que a Ayrshare acompanha nessa campanha mostradeliveryStatus: "COMPLETED"após a próxima atualização noturna, inclusive um anúncio agendado ou em análise. Um anúncio rejeitado continuaREJECTED.
curl -X POST https://api.ayrshare.com/api/ads/facebook/boost \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-d '{
"postId": "1234567890",
"accountId": "1234567890",
"adName": "My Ad",
"status": "active",
"goal": "engagement",
"minAge": 18,
"maxAge": 65,
"locations": { "countries": ["US"] },
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z",
"interests": [1234567890, 1234567891]
}'
curl -X POST https://api.ayrshare.com/api/ads/facebook/boost \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-d '{
"postId": "1234567890",
"accountId": "1234567890",
"adName": "Nurse Practitioner Hiring",
"status": "active",
"goal": "traffic",
"callToAction": {
"type": "APPLY_NOW",
"link": "https://example.com/careers/nurse-practitioner",
"linkTitle": "Apply today"
},
"specialAdCategories": ["employment"],
"minAge": 18,
"maxAge": 65,
"locations": { "countries": ["US"] },
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z"
}'
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/facebook/boost", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`
},
body: JSON.stringify({
postId: "1234567890",
accountId: "1234567890",
adName: "My Ad",
status: "active",
goal: "engagement",
minAge: 18,
maxAge: 65,
locations: { countries: ["US"] },
budget: 100,
bidAmount: 1,
startDate: "2025-03-01T00:00:00Z",
endDate: "2025-03-07T23:59:59Z",
interests: [1234567890, 1234567891]
})
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
API_KEY = "API_KEY"
url = "https://api.ayrshare.com/api/ads/facebook/boost"
payload = {
"postId": "1234567890",
"accountId": "1234567890",
"adName": "My Ad",
"status": "active",
"goal": "engagement",
"minAge": 18,
"maxAge": 65,
"locations": {"countries": ["US"]},
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z",
"interests": [1234567890, 1234567891]
}
response = requests.post(url, headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}, json=payload)
print(response.json())
<?php
$API_KEY = "API_KEY";
$payload = [
"postId" => "1234567890",
"accountId" => "1234567890",
"adName" => "My Ad",
"status" => "active",
"goal" => "engagement",
"minAge" => 18,
"maxAge" => 65,
"locations" => ["countries" => ["US"]],
"budget" => 100,
"bidAmount" => 1,
"startDate" => "2025-03-01T00:00:00Z",
"endDate" => "2025-03-07T23:59:59Z",
"interests" => [1234567890, 1234567891]
];
$ch = curl_init("https://api.ayrshare.com/api/ads/facebook/boost");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer " . $API_KEY
]);
$response = curl_exec($ch);
$result = json_decode($response, true);
print_r($result);
curl_close($ch);
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string API_KEY = "API_KEY";
var payload = new
{
postId = "1234567890",
accountId = "1234567890",
adName = "My Ad",
status = "active",
goal = "engagement",
minAge = 18,
maxAge = 65,
locations = new { countries = new[] { "US" } },
budget = 100,
bidAmount = 1,
startDate = "2025-03-01T00:00:00Z",
endDate = "2025-03-07T23:59:59Z",
interests = new[] { 1234567890, 1234567891 }
};
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", API_KEY);
var content = new StringContent(
JsonSerializer.Serialize(payload),
Encoding.UTF8,
"application/json"
);
var response = await client.PostAsync("https://api.ayrshare.com/api/ads/facebook/boost", content);
var responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
apiKey := "API_KEY"
payload := map[string]interface{}{
"postId": "1234567890",
"accountId": "1234567890",
"adName": "My Ad",
"status": "active",
"goal": "engagement",
"minAge": 18,
"maxAge": 65,
"locations": map[string]interface{}{"countries": []string{"US"}},
"budget": 100,
"bidAmount": 1,
"startDate": "2025-03-01T00:00:00Z",
"endDate": "2025-03-07T23:59:59Z",
"interests": []int{1234567890, 1234567891},
}
jsonData, err := json.Marshal(payload)
if err != nil {
fmt.Println("Error marshaling JSON:", err)
return
}
req, err := http.NewRequest("POST", "https://api.ayrshare.com/api/ads/facebook/boost", bytes.NewBuffer(jsonData))
if err != nil {
fmt.Println("Error creating request:", err)
return
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error sending request:", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Error reading response:", err)
return
}
fmt.Println(string(body))
}
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.databind.ObjectMapper;
public class BoostPost {
public static void main(String[] args) {
String API_KEY = "API_KEY";
String url = "https://api.ayrshare.com/api/ads/facebook/boost";
Map<String, Object> payload = new HashMap<>();
payload.put("postId", "1234567890");
payload.put("accountId", "1234567890");
payload.put("adName", "My Ad");
payload.put("status", "active");
payload.put("goal", "engagement");
payload.put("minAge", 18);
payload.put("maxAge", 65);
Map<String, Object> locations = new HashMap<>();
locations.put("countries", Arrays.asList("US"));
payload.put("locations", locations);
payload.put("budget", 100);
payload.put("bidAmount", 1);
payload.put("startDate", "2025-03-01T00:00:00Z");
payload.put("endDate", "2025-03-07T23:59:59Z");
payload.put("interests", Arrays.asList(1234567890, 1234567891));
try {
ObjectMapper objectMapper = new ObjectMapper();
String requestBody = objectMapper.writeValueAsString(payload);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Content-Type", "application/json")
.header("Authorization", "Bearer " + API_KEY)
.POST(HttpRequest.BodyPublishers.ofString(requestBody))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'uri'
require 'json'
API_KEY = "API_KEY"
uri = URI.parse("https://api.ayrshare.com/api/ads/facebook/boost")
payload = {
postId: "1234567890",
accountId: "1234567890",
adName: "My Ad",
status: "active",
goal: "engagement",
minAge: 18,
maxAge: 65,
locations: { countries: ["US"] },
budget: 100,
bidAmount: 1,
startDate: "2025-03-01T00:00:00Z",
endDate: "2025-03-07T23:59:59Z",
interests: [1234567890, 1234567891]
}
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer #{API_KEY}"
request.body = payload.to_json
response = http.request(request)
puts response.body
{
"status": "success",
"adId": "120217670757750410",
"adName": "API Post - DE6gpw8kxlonHy2b7Lo - 2025-03-26T23:42:43",
"adStatus": "active",
"bidAmount": 10,
"budget": 100,
"endDate": "2026-03-28T22:30:00Z",
"goal": {
"title": "Get More Engagement",
"description": "This goal seeks to increase engagement...",
"type": "engagement"
},
"interests": [
"6003195554098"
],
"locations": { "countries": ["US"] },
"maxAge": 65,
"minAge": 18,
"postId": "DE6gpw8kxlonHy2b7Lo",
"startDate": "2026-03-26T22:30:00Z"
}
{
"status": "success",
"adId": "120217670757750411",
"adName": "Nurse Practitioner Hiring - DE6gpw8kxlonHy2b7Lo - 2025-03-26T23:42:43",
"adStatus": "active",
"bidAmount": 1,
"budget": 100,
"callToAction": {
"type": "APPLY_NOW",
"link": "https://example.com/careers/nurse-practitioner",
"linkTitle": "Apply today"
},
"endDate": "2025-03-07T23:59:59Z",
"goal": {
"title": "Drive Traffic",
"description": "Sends people from the boosted post to a destination off Facebook...",
"type": "traffic"
},
"locations": { "countries": ["US"] },
"maxAge": 65,
"minAge": 18,
"postId": "DE6gpw8kxlonHy2b7Lo",
"startDate": "2025-03-01T00:00:00Z"
}
{
"action": "boost post",
"status": "error",
"code": 369,
"message": "Unable to boost post. Please try again or contact us if the issue persists.",
"details": "The accountId likely does not exist. Please check the accountId and try again."
}
{
"action": "request",
"status": "error",
"code": 101,
"message": "Missing or incorrect parameters. Please verify with the docs. https://www.ayrshare.com/docs/apis",
"details": "Missing required fields: budget"
}