Pular para o conteúdo principal

Subscriptions

A API de Subscriptions permite cadastrar e atualizar contatos na plataforma NotifyChain. Use esta API para sincronizar sua base de contatos e manter os dados sempre atualizados.

Endpoint

POST https://subscription.notifychain.com/subscription

Autenticacao

Todas as requisicoes devem incluir o header x-api-key com sua chave de API.

x-api-key: sua-chave-de-api
informação

Voce pode gerar sua chave de API em Configuracoes > Chaves de API na plataforma.

Payload

{
"contact": {
"externalId": "user_12345",
"firstName": "Joao",
"lastName": "Silva",
"email": "joao.silva@exemplo.com",
"sms": "+5511999999999",
"whatsapp": "+5511999999999",
"city": "Sao Paulo",
"state": "SP",
"country": "BR",
"language": "pt-BR"
},
"type": "newsletter"
}

Campos do Contato

CampoTipoObrigatorioDescricao
externalIdstringNaoIdentificador unico do contato no seu sistema (max 255 caracteres)
firstNamestringNaoPrimeiro nome do contato (max 255 caracteres)
lastNamestringNaoSobrenome do contato (max 255 caracteres)
emailstringNaoEmail do contato (max 255 caracteres)
smsstringNaoTelefone para SMS (max 50 caracteres)
whatsappstringNaoTelefone para WhatsApp (max 50 caracteres)
citystringNaoCidade do contato (max 255 caracteres)
statestringNaoEstado/Provincia do contato (max 100 caracteres)
countrystringNaoPais do contato - codigo ISO de 2 letras (ex: BR, US)
languagestringNaoIdioma preferido do contato (max 10 caracteres, ex: pt-BR)

Campo Type

CampoTipoObrigatorioDescricao
typestringNaoTipo de inscricao (ex: newsletter, promocoes, atualizacoes)
dica

O campo type permite segmentar seus contatos por tipo de inscricao, facilitando o envio de campanhas direcionadas.

Exemplo de Requisicao

cURL

curl -X POST https://subscription.notifychain.com/subscription \
-H "Content-Type: application/json" \
-H "x-api-key: sua-chave-de-api" \
-d '{
"contact": {
"externalId": "user_12345",
"firstName": "Joao",
"lastName": "Silva",
"email": "joao.silva@exemplo.com",
"sms": "+5511999999999"
},
"type": "newsletter"
}'

JavaScript

const response = await fetch('https://subscription.notifychain.com/subscription', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'sua-chave-de-api'
},
body: JSON.stringify({
contact: {
externalId: 'user_12345',
firstName: 'Joao',
lastName: 'Silva',
email: 'joao.silva@exemplo.com',
sms: '+5511999999999'
},
type: 'newsletter'
})
});

const data = await response.json();
console.log(data);

Resposta

Sucesso (HTTP 202)

{
"success": true,
"message": "Subscription received"
}

Erro de Autenticacao (HTTP 401)

{
"statusCode": 401,
"message": "API key is required"
}

ou

{
"statusCode": 401,
"message": "Invalid API key"
}

Comportamento

  • Se o contato ja existir (identificado por externalId ou email), os dados serao atualizados
  • Se o contato nao existir, um novo contato sera criado
  • A requisicao e processada de forma assincrona, por isso retorna HTTP 202 (Accepted)