Como enviar um feed RSS para um webhook

Atualizado em 12 de outubro de 2026 9 min de leitura

Para enviar um feed RSS para um webhook, você precisa de algo que verifique o feed periodicamente, identifique os novos itens e envie cada um para sua URL por meio de uma requisição HTTP POST. A regra Postar em Webhook do Feeder faz isso com quantos feeds você quiser, com filtros por palavra-chave e novas tentativas integradas. Ferramentas de automação como Zapier, Make, IFTTT e n8n também fazem isso, assim como um script curto no seu próprio servidor.

Quais são as opções para enviar um feed RSS para um webhook?

OpçãoIdeal paraO que você precisa saber
Regra Postar em Webhook do FeederMuitos feeds, filtros por palavra-chave e um formato JSON para todos os feedsFaz parte do Feeder Professional. Os detalhes estão abaixo.
Zapier, Make, IFTTT ou n8nEncaminhar cada item para outros aplicativos sem escrever códigoVocê mapeia os campos manualmente. Cada ferramenta tem seus próprios planos e limites.
Um scriptDesenvolvedores que querem controle totalVocê hospeda e agenda a execução do script, além de acompanhar o que ele já enviou.

Como funciona a regra Postar em Webhook do Feeder?

Postar em Webhook é uma das ações disponíveis nas regras do Feeder. Crie uma regra, escolha Postar em Webhook em O que deve acontecer?, cole a URL do seu endpoint e selecione os feeds, as pastas ou Todos os feeds que quer monitorar. Adicione palavras-chave se quiser enviar apenas algumas publicações. A partir daí, o Feeder envia cada nova publicação correspondente para sua URL.

Crie suas próprias integrações usando webhooks explica cada etapa com capturas de tela, e a publicação de lançamento mostra a regra em ação. As informações desta página vêm do código que envia os webhooks.

O que o Feeder envia para meu webhook?

Uma requisição HTTP POST para cada publicação, com um corpo JSON e estes cabeçalhos:

POST /hooks/rss HTTP/1.1
Content-Type: application/json
User-Agent: Feeder-Webhooks/1.0
X-Feeder-Signature: sha256=<HMAC-SHA256 of the body, in hex>

Este é o corpo de uma publicação do blog do Feeder, com o content abreviado. O Feeder o envia em uma única linha. Aqui, ele está dividido em várias linhas para facilitar a leitura.

{
  "version": "2023-06-26",
  "message_id": "3f1c9a52-7e4b-4d0a-9b6e-2c8d51f0a7e4",
  "post": {
    "id": "aff2424a-abc9-11f1-afb3-1a21cf3a468a",
    "title": "Feed your AI",
    "url": "https://feeder.co/blog/1208-feed-your-ai",
    "published": "2026-09-08T20:19:59Z",
    "content": "\u003cp\u003eWith Feeder's MCP server, you can connect Feeder to your AI client of choice.\u003c/p\u003e",
    "audio_url": null,
    "image_url": "https://uploads.feedercdn.com/8XSXZN92WHeb2d17f3440d-feedyourai-1024x538.png"
  },
  "feed": {
    "id": "21f058e947",
    "source_url": "https://feeder.co/blog.rss",
    "public_url": "https://feeder.co/blog",
    "title": "Feeder.co",
    "favicon": "https://icons.feedercdn.com/feeder.co"
  }
}
CampoO que contém
versionA versão do formato: 2023-06-26.
message_idUm novo ID para cada mensagem. As novas tentativas da mesma mensagem mantêm esse ID, para que você possa ignorar duplicatas.
post.idO ID da publicação no Feeder.
post.titleO título da publicação.
post.urlO link para a publicação no site.
post.publishedData e hora de publicação, no formato de data e hora RFC 3339, ou null.
post.contentA publicação em HTML, conforme fornecida pelo feed: o artigo completo ou um resumo.
post.audio_urlO MP3 anexado à publicação, como um episódio de podcast, ou null.
post.image_urlA imagem anexada à publicação ou, se não houver, a primeira imagem do conteúdo, ou null.
feed.idO ID curto do feed no Feeder.
feed.source_urlO endereço do feed.
feed.public_urlO site ao qual o feed pertence.
feed.titleO título do feed.
feed.faviconO endereço do ícone do site.

No campo content, os caracteres <, > e & são recebidos como \u003c, \u003e e \u0026. Isso é válido em JSON, e qualquer analisador de JSON os converte novamente em HTML.

Quando o webhook é acionado?

  • Apenas para novas publicações. A regra é aplicada às publicações que o Feeder encontra depois que você a salva. Ela não envia publicações que você já tinha.
  • Uma vez para cada publicação. Cada publicação correspondente gera sua própria requisição. O Feeder não agrupa publicações. Se o site editar uma publicação mais tarde e o Feeder detectar a alteração, a versão editada também será enviada.
  • Logo após a próxima verificação do feed. No Professional, o Feeder verifica os feeds a cada 10 minutos por padrão. Você pode configurar um feed para ser atualizado até a cada minuto. Consulte Com que frequência o Feeder verifica seus feeds.
  • Apenas para publicações correspondentes. Com palavras-chave, só as publicações correspondentes são enviadas. Sem palavras-chave, todas as novas publicações são enviadas. Uma publicação ocultada por uma regra Filtrar posts ou Filtrar duplicatas não é enviada.

O que acontece se meu endpoint estiver indisponível?

O Feeder aguarda até 60 segundos por uma resposta. Um status 2xx conta como entrega concluída. Se o endpoint responder com um erro, como 404 ou 500, ou não responder, o Feeder tenta novamente até mais 8 vezes:

TentativaTempo após a tentativa anterior
25 segundos
330 segundos
41 minuto
55 minutos
610 minutos
730 minutos
830 minutos
930 minutos

Depois da nona tentativa, cerca de 1 hora e 47 minutos após a primeira, o Feeder desiste de enviar aquela publicação. Cada tentativa que falha aparece no registro de erros da regra: abra a regra e selecione Abrir registro de erros. Se você alterar a URL da regra enquanto houver novas tentativas pendentes, as próximas serão enviadas para a nova URL. Enviar mensagem de teste envia uma única mensagem de teste, sem novas tentativas.

O que meu endpoint deve fazer?

  • Responder rapidamente. Primeiro responda com um status 2xx e deixe tarefas demoradas para depois, para não se aproximar do limite de 60 segundos.
  • Ignorar duplicatas. Se o servidor processar uma mensagem, mas responder tarde demais, ela será enviada novamente na próxima tentativa. Guarde os valores de message_id ou post.id que já recebeu.
  • Usar o endereço final. A URL precisa incluir um caminho, como https://example.com/hooks/rss, e apontar para um servidor na internet pública. O Feeder não envia requisições para endereços de redes locais ou privadas. Evite também redirecionamentos: depois de um redirecionamento 301, 302 ou 303, a requisição chega como GET, sem o corpo JSON.
  • Verificar a assinatura. Qualquer pessoa que conheça sua URL pode enviar requisições para ela. Por isso, confie apenas em requisições com um X-Feeder-Signature válido. A próxima seção mostra como fazer isso.

Como verificar se uma requisição veio do Feeder?

O Feeder assina cada requisição com o segredo do webhook da sua regra. Para encontrá-lo, abra a regra, ative Avançado, copie o Segredo do webhook e salve a regra. O cabeçalho X-Feeder-Signature contém sha256=, seguido do HMAC-SHA256 do corpo da requisição em hexadecimal, calculado com esse segredo.

Para verificar a assinatura, calcule o mesmo HMAC sobre o corpo original, antes de analisar o JSON, e compare os dois valores em tempo constante. Em Python:

import hashlib, hmac

def from_feeder(body, header, secret):
    expected = "sha256=" + hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
    return hmac.compare_digest(expected, header or "")

Neste caso, body é o corpo da requisição em bytes. Rejeite a requisição se from_feeder retornar False. As novas tentativas são assinadas com o segredo atual da regra, portanto, se você alterar o segredo, ele também será usado nessas tentativas.

O Feeder pode enviar um resumo para um webhook?

Não. A regra Postar em Webhook envia uma requisição por publicação assim que o Feeder a encontra. Para criar um resumo, há três opções:

  • Agrupar as publicações do seu lado. Armazene cada publicação recebida pelo endpoint e envie seu próprio resumo de acordo com uma programação.
  • Usar resumos por e-mail. O Feeder pode enviar por e-mail um resumo diário, semanal ou mensal dos feeds escolhidos, nos planos Plus e Professional. Consulte Receba notificações sobre novas publicações.
  • Publicar um feed. No Professional, publique uma pasta ou coleção como feed RSS ou JSON e deixe sua ferramenta acessá-lo de acordo com a própria programação. Consulte Como exportar suas publicações como feeds RSS e JSON.

Como enviar um feed RSS para um webhook com Zapier, Make, IFTTT ou n8n?

Cada ferramenta combina um gatilho de RSS com uma ação HTTP. Conferimos os nomes nos sites de cada ferramenta em 28 de setembro de 2026:

FerramentaGatilhoAçãoO que você precisa saber
ZapierRSS by Zapier: Novo item no feed ou Novos itens em vários feedsWebhooks by Zapier: POSTWebhooks by Zapier é um aplicativo premium, disponível apenas nos planos pagos do Zapier.
MakeRSS: Monitorar itens do feed RSSHTTP: Fazer uma requisiçãoO módulo RSS lê feeds RSS e Atom.
IFTTTRSS Feed: Novo item no feedWebhooks: Fazer uma requisição webO IFTTT verifica os feeds a cada hora no plano gratuito e a cada 5 minutos nos planos Pro e Pro+.
n8nNó Gatilho de feed RSSNó HTTP Request com o método POSTEm Intervalos de consulta, você escolhe com que frequência o feed será verificado.

Essas ferramentas são a opção mais rápida se você já usa uma delas. Você também pode combiná-las com o Feeder: configure uma regra Postar em Webhook para usar um gatilho Catch Hook do Zapier ou um nó Webhook do n8n. Assim, o Feeder monitora os feeds e filtra as publicações, e seu fluxo de trabalho cuida do restante.

Como enviar um feed RSS para um webhook usando um script?

Este script em Python envia cada novo item de um feed para seu webhook. Ele registra os itens enviados em seen.txt, para que cada item seja enviado uma só vez. Na primeira execução, envia todos os itens que estiverem no feed naquele momento.

import json, pathlib, urllib.request
import feedparser  # pip install feedparser

FEED_URL = "https://example.com/feed.xml"
WEBHOOK_URL = "https://example.com/hooks/rss"
seen_file = pathlib.Path("seen.txt")
seen = set(seen_file.read_text().split()) if seen_file.exists() else set()

for entry in reversed(feedparser.parse(FEED_URL).entries):
    key = entry.get("id") or entry.get("link")
    if not key or key in seen:
        continue
    payload = {"title": entry.get("title"), "url": entry.get("link"), "published": entry.get("published")}
    request = urllib.request.Request(WEBHOOK_URL, data=json.dumps(payload).encode(),
                                     headers={"Content-Type": "application/json"})
    urllib.request.urlopen(request, timeout=30)
    seen.add(key)
    seen_file.write_text("\n".join(seen))

O script precisa do Python 3 e do pacote feedparser (pip install feedparser). Agende a execução, por exemplo, a cada 15 minutos com o cron: */15 * * * * cd /path/to/folder && python3 rss_to_webhook.py. Se o endpoint responder com um erro, o script para, e a próxima execução tenta enviar o mesmo item novamente.

Perguntas frequentes

Posso enviar um feed RSS para um webhook do Slack, Teams ou Discord com a regra Postar em Webhook?

Não diretamente. O Feeder envia seu próprio formato JSON, não o formato de mensagem esperado por esses aplicativos. Em vez disso, use as regras do Feeder Postar no Slack, Postar no Microsoft Teams ou Postar no Discord, ou use o Zapier, o Make ou o n8n como intermediário.

Qual plano do Feeder inclui webhooks?

Postar em Webhook faz parte do Professional. As regras para filtrar, marcar com estrela ou organizar publicações também funcionam no Plus.

O webhook inclui o artigo completo?

Ele inclui o conteúdo publicado pelo feed. O campo content contém o artigo completo quando o feed o disponibiliza e o resumo quando o feed fornece apenas um resumo.

Posso testar meu endpoint antes de salvar a regra?

Sim. Enviar mensagem de teste envia uma publicação real dos seus feeds para sua URL. Você precisa ter pelo menos um feed com publicações na sua conta.

Experimente o Feeder

O Feeder é um leitor de RSS para web, iOS e Android, com extensões para Chrome, Firefox e Edge. O plano gratuito acompanha até 200 feeds sem anúncios, e os feeds são atualizados a cada 30 minutos, no máximo. O Plus acompanha 2.500 feeds, atualiza-os a cada 5 minutos, no máximo, e inclui resumos por e-mail.

Comece a usar o Feeder gratuitamente

Leia também

Ainda precisa de ajuda?

A nossa equipa de suporte lê todas as mensagens. Conta-nos o que se passa e vamos ajudar.

Contactar suporte