Enviar reação
curl --request POST \
--url https://cloud.datafyapi.com.br/ig/me/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"recipient": {
"id": "1000000000000001"
},
"sender_action": "react",
"payload": {
"message_id": "aWdfZAG1faXRlbTo......",
"reaction": "love"
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
recipient: {id: '1000000000000001'},
sender_action: 'react',
payload: {message_id: 'aWdfZAG1faXRlbTo......', reaction: 'love'}
})
};
fetch('https://cloud.datafyapi.com.br/ig/me/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://cloud.datafyapi.com.br/ig/me/messages"
payload = {
"recipient": { "id": "1000000000000001" },
"sender_action": "react",
"payload": {
"message_id": "aWdfZAG1faXRlbTo......",
"reaction": "love"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"recipient_id": "1000000000000001"
}{
"error": {
"message": "Não foi possível encontrar o usuário solicitado.",
"type": "IGApiException",
"code": 100,
"error_subcode": 2534014,
"fbtrace_id": "AbCdEfGhIjK"
}
}{
"statusCode": 401,
"message": "Token inválido ou não encontrado."
}{
"statusCode": 402,
"message": "Assinatura inativa (status: canceled). Ative sua assinatura no painel para voltar a usar a API."
}Mensagens
Enviar reação
Reaja a uma mensagem da conversa.
POST
/
ig
/
me
/
messages
Enviar reação
curl --request POST \
--url https://cloud.datafyapi.com.br/ig/me/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"recipient": {
"id": "1000000000000001"
},
"sender_action": "react",
"payload": {
"message_id": "aWdfZAG1faXRlbTo......",
"reaction": "love"
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
recipient: {id: '1000000000000001'},
sender_action: 'react',
payload: {message_id: 'aWdfZAG1faXRlbTo......', reaction: 'love'}
})
};
fetch('https://cloud.datafyapi.com.br/ig/me/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://cloud.datafyapi.com.br/ig/me/messages"
payload = {
"recipient": { "id": "1000000000000001" },
"sender_action": "react",
"payload": {
"message_id": "aWdfZAG1faXRlbTo......",
"reaction": "love"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"recipient_id": "1000000000000001"
}{
"error": {
"message": "Não foi possível encontrar o usuário solicitado.",
"type": "IGApiException",
"code": 100,
"error_subcode": 2534014,
"fbtrace_id": "AbCdEfGhIjK"
}
}{
"statusCode": 401,
"message": "Token inválido ou não encontrado."
}{
"statusCode": 402,
"message": "Assinatura inativa (status: canceled). Ative sua assinatura no painel para voltar a usar a API."
}Aplica uma reação a uma mensagem, do mesmo jeito que a pessoa faz tocando e segurando uma mensagem no Instagram.
A reação usa
Para remover, use
sender_action, e não o campo message. Informe em payload.message_id o mid da mensagem recebida, que chega no webhook.
Aplicar e remover
{
"recipient": { "id": "1000000000000001" },
"sender_action": "react",
"payload": { "message_id": "aWdfZAG1faXRlbTo...", "reaction": "love" }
}
"sender_action": "unreact" com o mesmo message_id, sem o campo reaction.
A resposta traz apenas o recipient_id, porque a reação não cria uma mensagem nova.
Reação recebida
Quando ela reage a uma mensagem sua, chega um webhook comreaction, apontando para o mid que recebeu a reação.Autorizações
Token do canal do Instagram, gerado no painel da Datafy. Formato: sk_live_xxx.
Corpo
application/json
Resposta
Aceito pela Meta. Não confirma a entrega.