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
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
externalId | string | Nao | Identificador unico do contato no seu sistema (max 255 caracteres) |
firstName | string | Nao | Primeiro nome do contato (max 255 caracteres) |
lastName | string | Nao | Sobrenome do contato (max 255 caracteres) |
email | string | Nao | Email do contato (max 255 caracteres) |
sms | string | Nao | Telefone para SMS (max 50 caracteres) |
whatsapp | string | Nao | Telefone para WhatsApp (max 50 caracteres) |
city | string | Nao | Cidade do contato (max 255 caracteres) |
state | string | Nao | Estado/Provincia do contato (max 100 caracteres) |
country | string | Nao | Pais do contato - codigo ISO de 2 letras (ex: BR, US) |
language | string | Nao | Idioma preferido do contato (max 10 caracteres, ex: pt-BR) |
Campo Type
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
type | string | Nao | Tipo 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
externalIdouemail), 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)