Skip to content

Alterar Canais da Sub-Conta

Define quais canais uma sub-conta pode usar, e quantos de cada.

PUT  /api/webhooks/agency/:agency_key/sub-accounts/:ref/channels
POST /api/webhooks/agency/:agency_key/sub-accounts/:ref/channels

As duas formas sao identicas. O atalho POST existe para ferramentas que nao conseguem enviar PUT com corpo.

Autenticacao

Requer token Bearer com o escopo sub_account.channels. Veja API de Entrada da Agencia.

Parametros de Caminho

ParametroTipoDescricao
refstringUUID da sub-conta, ou ext:<external_ref>

Corpo da Requisicao

CampoTipoObrigatorioDescricao
channelsobjectSimO estado final desejado de todos os canais

Objeto channels

CampoTipoDescricao
linkedinnumberContas de LinkedIn permitidas (0–100)
whatsappnumberNumeros de WhatsApp permitidos (0–100)
instagramnumberContas de Instagram permitidas (0–100)
email_marketingnumberDominios de envio permitidos (0–100)

O objeto e declarativo

channels e o estado final, nao um delta. Um canal omitido vai a zero e e desabilitado. Para aumentar o LinkedIn mantendo o WhatsApp, envie os dois.

Modulos que nao sao canais — CRM, campanhas, academy — nunca sao alterados por esta chamada.

Aumentar o total de canais cobraveis cobra da sua agencia na hora, pro-rata ate o fim do ciclo atual, no cartao cadastrado. Se a cobranca for recusada, nada e aplicado e a chamada devolve 402 SEAT_CHARGE_FAILED. Reduzir a quantidade nao gera credito.

Resposta

json
{
  "ok": true,
  "event_id": "7c1e9a44-3f7b-4d1b-8f2e-6c5a1b0d9e83",
  "data": {
    "id": "a1b2c3d4-5678-4e9f-a0b1-c2d3e4f5a6b7",
    "channels": {
      "linkedin": 3,
      "whatsapp": 1,
      "instagram": 0,
      "email_marketing": 0
    },
    "delta_channels": 1,
    "seat_charge": {
      "ok": true,
      "paid": true,
      "chargedCents": 2450,
      "addedChannels": 1
    }
  }
}

delta_channels e a variacao de canais cobraveis. seat_charge e null quando nada foi cobrado.

Exemplo

cURL

bash
curl --request PUT \
  --url "https://api.getraze.co/api/webhooks/agency/AGENCY_KEY/sub-accounts/ext:cliente-42/channels" \
  --header "Authorization: Bearer SEU_TOKEN" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: $(uuidgen)" \
  --data '{
    "channels": { "linkedin": 3, "whatsapp": 1 }
  }'

JavaScript

javascript
const response = await fetch(
  `https://api.getraze.co/api/webhooks/agency/${agencyKey}/sub-accounts/ext:cliente-42/channels`,
  {
    method: 'PUT',
    headers: {
      'Authorization': `Bearer ${token}`,
      'Content-Type': 'application/json',
      'Idempotency-Key': crypto.randomUUID()
    },
    body: JSON.stringify({
      channels: { linkedin: 3, whatsapp: 1 }
    })
  }
);
const data = await response.json();

Python

python
import requests, uuid

response = requests.put(
    f'https://api.getraze.co/api/webhooks/agency/{agency_key}/sub-accounts/ext:cliente-42/channels',
    headers={
        'Authorization': f'Bearer {token}',
        'Idempotency-Key': str(uuid.uuid4())
    },
    json={'channels': {'linkedin': 3, 'whatsapp': 1}}
)
data = response.json()

Erros

StatusCodigoDescricao
400MISSING_FIELDSchannels esta ausente
400INVALID_CHANNELSCanal desconhecido, ou valor fora de 0–100
401UNAUTHORIZEDToken ausente, desconhecido ou revogado
402SEAT_CHARGE_FAILEDA cobranca pro-rata foi recusada; nenhuma alteracao foi aplicada
403INVALID_SCOPEO token nao tem sub_account.channels
403SUB_ACCOUNT_FORBIDDENA sub-conta pertence a outra agencia
404SUB_ACCOUNT_NOT_FOUNDNenhuma sub-conta viva para essa referencia
409TRIAL_CHANNEL_LOCKEDDurante o trial gratuito apenas o WhatsApp esta disponivel

GetRaze - AI-Powered Lead Generation