Pular para o conteúdo

Seguir para receber

O Seguir para receber entrega um conteúdo no direct do Instagram só para quem segue o seu perfil. A pessoa comenta uma palavra-chave no post e recebe uma mensagem com um botão. Ao tocar, a FORSI confere se ela segue a conta: quem segue recebe o conteúdo na hora; quem não segue recebe um pedido para seguir e um botão "Estou seguindo" para conferir de novo.

Na API, é uma regra de comentário com tipo: "seguir", criada por POST /regras-comentario. Precisa dos escopos automacoes:ler e automacoes:escrever, do módulo Automações no plano e do recurso liberado na organização (é o mesmo dos botões; sem ele, 403 recurso_desligado).

Como funciona#

O fluxo do Seguir para receberA pessoa comenta a palavra-chave no post. A FORSI responde o comentário (se você configurou) e manda no direct a sua mensagem com o botão "Quero receber". Quando a pessoa toca, a FORSI confere se ela segue a conta. Se já segue, recebe texto_ja_segue e o conteúdo. Se não segue, recebe texto_nao_segue com o botão "Estou seguindo". A cada toque nesse botão a FORSI confere de novo: se seguiu, recebe texto_seguiu_depois e o conteúdo; se ainda não, recebe texto_ainda_nao_segue e pode tocar outra vez, até max_tentativas (então vai texto_limite). Cada pessoa recebe o conteúdo uma vez só.Comentário no posta pessoa escreve a palavra-chavea FORSI manda no directDirect com a sua mensageme o botão “Quero receber”a pessoa toca no botãoSegue o seu perfil?simnãoJá seguetexto_ja_seguee o conteúdoNão seguetexto_nao_seguecom “Estou seguindo”toca “Estou seguindo”Confere de novoseguiuainda nãoSeguiutexto_seguiu_depoise o conteúdoAinda não seguetexto_ainda_nao_seguepode tocar de novopassou do limitePassou de max_tentativasrecebe texto_limite e a conversa para aíCada pessoa recebe o conteúdo uma vez só.
O fluxo do Seguir para receber
  • Cada pessoa recebe o conteúdo uma vez só, mesmo que comente de novo.
  • Quem já seguia recebe texto_ja_segue e o conteúdo. Quem seguiu depois do pedido recebe texto_seguiu_depois e o conteúdo.
  • O botão "Estou seguindo" pode ser tocado quantas vezes for preciso, até max_tentativas. Quando as tentativas acabam, vai texto_limite (se você definiu) e a FORSI para de responder a essa pessoa.

Passo a passo#

  1. Pegue a conta. GET /instagram/contas lista as contas conectadas. O id de cada uma é o conexao_id da regra.
  2. Escolha o post. Mande o post_id da publicação. Sem ele (null), a regra vale para todos os posts da conta.
  3. Crie a regra com tipo: "seguir", as palavras-chave, resposta_privada (a mensagem que leva o botão, até 640 caracteres) e seguir.conteudo.texto. O resto do bloco seguir é opcional e tem padrão. Mande ativo: true para a regra já nascer ligada.
  4. Teste comentando a palavra-chave no post com um perfil que não segue a conta, e depois com um que segue.
  5. Acompanhe em GET /regras-comentario/{id}: estatisticas traz pediram (receberam o botão), entregues (receberam o conteúdo), ja_seguiam, seguiram_depois e aguardando.

Requisição completa#

Só o mínimo; o resto do bloco seguir usa os padrões da tabela abaixo:

cURL

curl -X POST "https://chat.forsi.com.br/api/v1/regras-comentario" \
  -H "Authorization: Bearer $FORSI_CHAVE" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: pedido-4821" \
  -d '{
    "nome": "Guia grátis",
    "conexao_id": "54b27747-86c2-455a-91a4-c0c02d0bd891",
    "post_id": "17912345678901234",
    "palavras": ["guia"],
    "responder_publico": "Te chamei no direct!",
    "resposta_privada": "Oi, {nome}! Toque no botão para receber o guia.",
    "tipo": "seguir",
    "seguir": {"conteudo":{"texto":"Aqui está o seu guia!"}},
    "ativo": true
  }'

A resposta é 201 com a regra criada e o bloco seguir completo, já com os padrões. O mesmo pedido com todos os campos:

Seguir para receber (todos os campos)
{
  "nome": "Guia grátis",
  "conexao_id": "54b27747-86c2-455a-91a4-c0c02d0bd891",
  "post_id": "17912345678901234",
  "palavras": ["guia"],
  "responder_publico": "Te chamei no direct!",
  "resposta_privada": "Oi, {nome}! Toque no botão para receber o guia.",
  "tipo": "seguir",
  "seguir": {
    "botao_receber": "Quero receber",
    "texto_nao_segue": "Para receber, é só seguir o perfil @{conta} e depois tocar em \"Estou seguindo\".",
    "botao_estou_seguindo": "Estou seguindo",
    "texto_ainda_nao_segue": "Ainda não apareceu que você segue @{conta}. Siga o perfil e toque de novo em \"Estou seguindo\".",
    "texto_ja_segue": "Que bom ter você por aqui! Aqui está o que você pediu:",
    "texto_seguiu_depois": "Obrigado por seguir! Aqui está o que você pediu:",
    "conteudo": {
      "texto": "Seu guia completo está aqui.",
      "botao": {"titulo":"Abrir o guia","url":"https://exemplo.com.br/guia"}
    },
    "max_tentativas": 5,
    "texto_limite": "Quando seguir, é só comentar de novo.",
    "se_nao_verificar": "enviar"
  },
  "ativo": true
}

Nesse tipo não use automacao_id nem botoes: o botão vem de seguir.botao_receber. A resposta pública (responder_publico), as variações e esconder o comentário funcionam normalmente.

Campos do bloco seguir#

CampoPara que serveLimitePadrão
botao_receberBotão da primeira mensagem.1 a 20 caracteres, sem variáveis"Quero receber"
texto_nao_seguePedido para seguir, para quem ainda não segue.1 a 640"Para receber, é só seguir o perfil @{conta} e depois tocar em "Estou seguindo"."
botao_estou_seguindoBotão para avisar que seguiu.1 a 20, sem variáveis"Estou seguindo"
texto_ainda_nao_segueQuando a pessoa toca em "Estou seguindo" e ainda não segue.1 a 640"Ainda não apareceu que você segue @{conta}. Siga o perfil e toque de novo em "Estou seguindo"."
texto_ja_segueVai antes do conteúdo, para quem já seguia.0 a 640 ("" manda só o conteúdo)"Que bom ter você por aqui! Aqui está o que você pediu:"
texto_seguiu_depoisVai antes do conteúdo, para quem acabou de seguir.0 a 640 ("" manda só o conteúdo)"Obrigado por seguir! Aqui está o que você pediu:"
conteudo.textoO conteúdo entregue. Obrigatório.1 a 640nenhum
conteudo.botaoBotão com link no conteúdo: titulo (1 a 20) e url (https).opcionalnull (sem botão)
max_tentativasQuantas vezes conferir quando a pessoa toca em "Estou seguindo".1 a 50, ou nullnull: confere até a pessoa seguir, no máximo 50 vezes
texto_limiteVai uma vez quando as tentativas acabam.1 a 640, ou nullnull (não manda nada)
se_nao_verificarO que fazer se o Instagram não deixar conferir.enviar ou pedir_de_novoenviar: entrega o conteúdo assim mesmo

Os textos aceitam {nome}, {usuario} e {conta}: o nome e o @ de quem comentou e o @ da sua conta. Os dois botões não trocam variáveis. Cada texto vai até 900 bytes (emoji e acento contam mais que uma letra), porque a mensagem direta do Instagram vai até 1000 bytes.

Editar uma regra#

No PATCH /regras-comentario/{id}, sem tipo a regra mantém o tipo. Em seguir, só os campos enviados mudam: os que você omitir mantêm o valor atual, inclusive dentro de conteudo (mande só texto ou só botao; botao: null tira o botão). max_tentativas: null e texto_limite: null voltam ao padrão. tipo: "comum" apaga o bloco seguir. Ao trocar uma regra comum para seguir, o que faltar vem dos padrões e conteudo.texto é obrigatório.

Mudar só um texto do Seguir para receber
{
  "seguir": {"conteudo":{"texto":"Novo texto do conteúdo."},"max_tentativas":3}
}
Voltar para regra comum (apaga o bloco seguir)
{"tipo":"comum"}

Respostas#

Toda regra traz tipo. Nas regras seguir, o bloco seguir vem completo, com os padrões. Campo sem valor não aparece: conteudo.botao, max_tentativas e texto_limite somem enquanto forem null, e seguir some na regra comum. GET /regras-comentario/{id} e a listagem trazem estatisticas. Filtre a listagem com ?tipo=seguir.

Erros#

  • 403 recurso_desligado: o Seguir para receber não está liberado na organização (é o mesmo recurso dos botões).
  • 422 seguir_invalido: um campo de seguir está vazio, passa do limite, tem { num dos dois botões, tem caractere de controle ou invisível, ou passa de 900 bytes. A mensagem diz qual campo.
  • 422 limite_de_regras: a organização já tem 200 regras.

Perguntas frequentes#

A FORSI confere mesmo se a pessoa segue?#

Sim, a cada toque no botão. Se o Instagram não deixar conferir, vale se_nao_verificar: enviar (padrão) entrega o conteúdo assim mesmo e pedir_de_novo pede para seguir outra vez.

Quem comentar duas vezes recebe duas vezes?#

Não. Cada pessoa recebe o conteúdo uma vez só.

Posso usar variáveis nos botões?#

Não. botao_receber e botao_estou_seguindo não trocam variáveis, e um { neles dá 422 seguir_invalido. Nos textos, use {nome}, {usuario} e {conta}.

Dá para transformar uma regra comum em Seguir para receber?#

Dá, com PATCH e tipo: "seguir". O que faltar vem dos padrões, mas seguir.conteudo.texto é obrigatório. Para voltar, mande tipo: "comum": o bloco seguir é apagado.

O que acontece se eu não mandar post_id?#

A regra vale para todos os posts da conta e responde a palavra-chave em qualquer publicação. Se o conteúdo é de um post só, mande sempre o post_id.

O que a pessoa vê se nunca seguir?#

A cada toque em "Estou seguindo" ela recebe texto_ainda_nao_segue. Com max_tentativas, quando as tentativas acabam vai texto_limite (se houver) e a FORSI para de responder a ela. Sem max_tentativas, a FORSI confere até 50 vezes.