curl --request POST \
--url https://api.hubapi.com/communication-preferences/v4/statuses/batch/write \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"channel": "EMAIL",
"subscriberIdString": "<string>",
"subscriptionId": 123,
"legalBasisExplanation": "<string>"
}
]
}
'import requests
url = "https://api.hubapi.com/communication-preferences/v4/statuses/batch/write"
payload = { "inputs": [
{
"channel": "EMAIL",
"subscriberIdString": "<string>",
"subscriptionId": 123,
"legalBasisExplanation": "<string>"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
inputs: [
{
channel: 'EMAIL',
subscriberIdString: '<string>',
subscriptionId: 123,
legalBasisExplanation: '<string>'
}
]
})
};
fetch('https://api.hubapi.com/communication-preferences/v4/statuses/batch/write', 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.hubapi.com/communication-preferences/v4/statuses/batch/write",
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([
'inputs' => [
[
'channel' => 'EMAIL',
'subscriberIdString' => '<string>',
'subscriptionId' => 123,
'legalBasisExplanation' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.hubapi.com/communication-preferences/v4/statuses/batch/write"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"channel\": \"EMAIL\",\n \"subscriberIdString\": \"<string>\",\n \"subscriptionId\": 123,\n \"legalBasisExplanation\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.hubapi.com/communication-preferences/v4/statuses/batch/write")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"channel\": \"EMAIL\",\n \"subscriberIdString\": \"<string>\",\n \"subscriptionId\": 123,\n \"legalBasisExplanation\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/communication-preferences/v4/statuses/batch/write")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"inputs\": [\n {\n \"channel\": \"EMAIL\",\n \"subscriberIdString\": \"<string>\",\n \"subscriptionId\": 123,\n \"legalBasisExplanation\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"channel": "EMAIL",
"source": "<string>",
"subscriberIdString": "<string>",
"subscriptionId": 123,
"timestamp": "2023-11-07T05:31:56Z",
"businessUnitId": 123,
"legalBasisExplanation": "<string>",
"subscriptionName": "<string>"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"errors": [
{
"category": "<string>",
"context": {},
"errors": [
{
"message": "<string>",
"code": "<string>",
"context": "{missingScopes=[scope1, scope2]}",
"in": "<string>",
"subCategory": "<string>"
}
],
"links": {},
"message": "<string>",
"status": "<string>",
"id": "<string>",
"subCategory": {}
}
],
"links": {},
"numErrors": 123,
"requestedAt": "2023-11-07T05:31:56Z"
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Batch update subscription status
Atualize o status de assinatura de um conjunto de contatos.
curl --request POST \
--url https://api.hubapi.com/communication-preferences/v4/statuses/batch/write \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"channel": "EMAIL",
"subscriberIdString": "<string>",
"subscriptionId": 123,
"legalBasisExplanation": "<string>"
}
]
}
'import requests
url = "https://api.hubapi.com/communication-preferences/v4/statuses/batch/write"
payload = { "inputs": [
{
"channel": "EMAIL",
"subscriberIdString": "<string>",
"subscriptionId": 123,
"legalBasisExplanation": "<string>"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
inputs: [
{
channel: 'EMAIL',
subscriberIdString: '<string>',
subscriptionId: 123,
legalBasisExplanation: '<string>'
}
]
})
};
fetch('https://api.hubapi.com/communication-preferences/v4/statuses/batch/write', 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.hubapi.com/communication-preferences/v4/statuses/batch/write",
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([
'inputs' => [
[
'channel' => 'EMAIL',
'subscriberIdString' => '<string>',
'subscriptionId' => 123,
'legalBasisExplanation' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.hubapi.com/communication-preferences/v4/statuses/batch/write"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"channel\": \"EMAIL\",\n \"subscriberIdString\": \"<string>\",\n \"subscriptionId\": 123,\n \"legalBasisExplanation\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.hubapi.com/communication-preferences/v4/statuses/batch/write")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"channel\": \"EMAIL\",\n \"subscriberIdString\": \"<string>\",\n \"subscriptionId\": 123,\n \"legalBasisExplanation\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/communication-preferences/v4/statuses/batch/write")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"inputs\": [\n {\n \"channel\": \"EMAIL\",\n \"subscriberIdString\": \"<string>\",\n \"subscriptionId\": 123,\n \"legalBasisExplanation\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"channel": "EMAIL",
"source": "<string>",
"subscriberIdString": "<string>",
"subscriptionId": 123,
"timestamp": "2023-11-07T05:31:56Z",
"businessUnitId": 123,
"legalBasisExplanation": "<string>",
"subscriptionName": "<string>"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"errors": [
{
"category": "<string>",
"context": {},
"errors": [
{
"message": "<string>",
"code": "<string>",
"context": "{missingScopes=[scope1, scope2]}",
"in": "<string>",
"subCategory": "<string>"
}
],
"links": {},
"message": "<string>",
"status": "<string>",
"id": "<string>",
"subCategory": {}
}
],
"links": {},
"numErrors": 123,
"requestedAt": "2023-11-07T05:31:56Z"
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Required Scopes
Required Scopes
Autorizações
The access token received from the authorization server in the OAuth 2.0 flow.
Corpo
Uma matriz de objetos PublicStatusRequest, cada um representando os detalhes do status de assinatura para um assinante específico. Esta propriedade é obrigatória.
Show child attributes
Show child attributes
Resposta
successful operation
A data e a hora em que a operação em lote foi concluída.
Uma série contendo os resultados da operação em lote.
Show child attributes
Show child attributes
A data e a hora em que a operação em lote começou.
O status atual da operação em lote, que pode ser PENDENTE, PROCESSANDO, CANCELADO ou CONCLUÍDO.
CANCELED, COMPLETE, PENDING, PROCESSING Uma série de objetos de erro detalhando quaisquer problemas encontrados.
Show child attributes
Show child attributes
URLs com links para recursos ou documentação relacionados.
Show child attributes
Show child attributes
O número de erros encontrados durante a operação em lote.
A data e a hora em que a solicitação foi feita.