# Aplicativo na Meta e dois perfis do Instagram

Este arquivo é para o Claude Code do computador novo. Ele substitui a Etapa 10 do `INSTALACAO-AGENCIA-MARCELO.md`.

Faça depois das Etapas 1 a 9, com a agência já instalada na VPS.

**Resultado:** um único aplicativo na Meta, com os dois perfis conectados e um token de cada perfil guardado na VPS.

## Para o Claude que está lendo

- **Nunca peça, receba ou digite a senha do Facebook ou do Instagram.** A pessoa faz o login no navegador dela, incluindo o código de dois fatores.
- **Tokens não passam pelo chat.** Eles são colados direto no terminal da VPS, na Parte 5.
- Se a extensão do Claude no Chrome estiver disponível, você pode clicar nas telas depois que a pessoa tiver feito o login. Se não, conduza a pessoa tela por tela.
- Pare e chame a pessoa em verificação de identidade, código, captcha, cadastro de cartão ou aviso de segurança.
- A Meta muda os nomes das telas. Se algo estiver diferente daqui, descreva o que apareceu e escolha a opção equivalente da **API do Instagram com login do Instagram**. Não use a opção com login do Facebook.

## Importante: o que já funciona

| Item | Situação |
|---|---|
| Aplicativo com os dois perfis | Pode fazer agora |
| Perfil 1: publicar e automatizar comentários | Funciona com a matriz `v1.0.0` |
| Perfil 2: publicar e automatizar comentários | **Depende da versão `v1.1.0` da matriz** |

A `v1.0.0` usa apenas o perfil 1. Os dados do perfil 2 ficam guardados, mas nada publica nele até a atualização. O token dele também só passa a ser renovado sozinho com a `v1.1.0`, e vence em cerca de 60 dias.

Não tente adaptar o código na VPS. Quando a `v1.1.0` sair, rode `bash /opt/agencia/atualizar.sh`.

## Fazendo só o Perfil 1 agora (o perfil do Marcelo)

Este é o modo atual. O Perfil 2 fica para depois, no mesmo aplicativo.

- Ignore tudo que fala do Perfil 2: na Parte 4, pule o item 5; na Parte 5, não rode `salvar IG2_ACCESS_TOKEN`.
- Na Parte 6, a linha `IG2 FALHOU` é esperada e pode ser ignorada.
- O aplicativo pode ser criado **antes de a VPS existir**. Sem VPS, faça as Partes 1 a 3 e, na Parte 4, só os itens 1 e 2. **Não gere o token ainda**: pare, avise o Joe e continue quando a VPS estiver instalada. O token pode ser gerado depois, na mesma tela.
- Se a tela pedir código, confirmação de identidade ou aprovação no celular do Marcelo, pare e chame o Joe.

## Parte 1 — Conferir os dois perfis (5 min)

Para cada perfil:

- [ ] A conta é **profissional** (Empresa ou Criador de conteúdo)
- [ ] A conta é **pública**
- [ ] O login e o celular de verificação estão à mão

Anote: **Perfil 1** = @________ e **Perfil 2** = @________

## Parte 2 — Entrar como desenvolvedor (5 a 10 min)

1. Abra o navegador e **a pessoa faz login** em facebook.com. O ideal é usar o Facebook do Marcelo, porque o aplicativo fica no nome dele. O Joe pode entrar depois como administrador.
2. Acesse developers.facebook.com e clique em **Começar** ou **Get Started**, se aparecer.
3. Conclua a verificação da conta, que costuma pedir celular ou e-mail. Essa parte é com a pessoa.

## Parte 3 — Criar o aplicativo (10 min)

1. Vá em **Meus aplicativos** e depois em **Criar aplicativo**.
2. Nome sugerido: `Agencia Score da Vida`. Evite as palavras "Instagram", "Facebook" e "Meta" no nome.
3. No caso de uso, escolha o de **Instagram** (gerenciar mensagens e conteúdo). Se não aparecer, escolha **Outro**, tipo **Empresa**, e adicione o produto **Instagram**.
4. Abra **Configuração da API com login do Instagram** (API setup with Instagram login).
5. Confira se estas permissões estão ativas:
   - `instagram_business_basic`
   - `instagram_business_content_publish`
   - `instagram_business_manage_comments`
   - `instagram_business_manage_messages`
6. Anote o **ID do aplicativo do Instagram**, mostrado nessa tela.

## Parte 4 — Conectar os dois perfis e gerar os tokens (15 min)

Na seção **Gerar tokens de acesso** (Generate access tokens):

1. Clique em **Adicionar conta** e faça login no **Perfil 1** na janela que abrir.
2. Se a Meta pedir testador, adicione o perfil em **Funções do aplicativo** e aceite no Instagram, em **Configurações > Apps e sites > Convites de testador**.
3. Clique em **Gerar token** ao lado do Perfil 1.
4. Deixe o token visível e siga para a Parte 5, porque a Meta só mostra uma vez.
5. Saia da conta do Instagram no navegador e repita tudo com o **Perfil 2**.

## Parte 5 — Guardar na VPS, sem passar pelo chat (10 min)

**A pessoa**, no terminal dela e conectada à VPS, cria o comando abaixo uma vez:

```sh
salvar() { read -rsp "Cole o valor de $1 e aperte Enter: " V; echo; python3 -c "import sys; sys.path.insert(0,'/opt/agencia/lib'); from cfg import gravar; gravar(sys.argv[1], sys.argv[2])" "$1" "$V"; unset V; echo "$1 guardado."; }
```

Depois guarda os valores. O que for colado não aparece na tela, e isso é normal.

```sh
salvar IG_APP_ID
salvar IG_ACCESS_TOKEN
salvar IG2_ACCESS_TOKEN
```

`IG_ACCESS_TOKEN` é o do Perfil 1, e `IG2_ACCESS_TOKEN` é o do Perfil 2.

## Parte 6 — Conferir e completar os dados (5 min)

**Claude novo:** rode na VPS. O comando só mostra o ID e o @ de cada perfil:

```sh
python3 - <<'PY'
import json, sys, urllib.request
sys.path.insert(0, '/opt/agencia/lib')
from cfg import c, gravar
for prefixo in ('IG', 'IG2'):
    url = 'https://graph.instagram.com/v21.0/me?fields=user_id,username'
    req = urllib.request.Request(url, headers={'Authorization': 'Bearer ' + c(prefixo + '_ACCESS_TOKEN')})
    try:
        d = json.load(urllib.request.urlopen(req, timeout=60))
    except Exception as e:
        print(prefixo, 'FALHOU', e)
        continue
    gravar(prefixo + '_USER_ID', d['user_id'])
    gravar(prefixo + '_ARROBA', '@' + d['username'])
    print(prefixo, '@' + d['username'], d['user_id'])
PY
```

Confira com a pessoa se cada @ saiu no lugar certo. Se os dois forem iguais, o token do Perfil 2 foi gerado na conta errada: volte à Parte 4.

Depois aplique:

```sh
bash /opt/agencia/atualizar.sh --so-aplicar
agencia-status
```

## Parte 7 — Testar o Perfil 1 (10 min)

```sh
ig-palavra criar TESTE --dm "Mensagem de teste" --publica "Te mandei no direct"
ig-palavra testar
```

1. Comente `TESTE` num post recente do Perfil 1, usando uma conta **sem nenhum papel no aplicativo**.
2. Espere até 2 minutos e confira a resposta pública e a mensagem privada.
3. Apague a regra com `ig-palavra apagar TESTE`.

**Se só contas com papel no aplicativo receberem a resposta:** não insista. A Meta exige análise do aplicativo para acessar dados reais em alguns casos. Pode ser preciso publicar o aplicativo, com uma política de privacidade, e passar por essa análise. Avise o Joe, porque a publicação de posts pode seguir normalmente.

## Parte 8 — Fechar

- [ ] Os dois @ conferidos com a pessoa
- [ ] Perfil 1 publicando e respondendo comentários
- [ ] Joe adicionado como administrador em **Funções do aplicativo**
- [ ] Avisar o Joe para liberar a `v1.1.0` e testar o Perfil 2
- [ ] Nenhum token ficou em chat, grupo ou arquivo fora de `/etc/agencia/cliente.env`
