Seus usuários criam algo no seu produto e depois saem para publicar em outro lugar. Fechar essa lacuna é um pedido de recurso comum, e o formato do trabalho depende quase inteiramente de uma decisão tomada no início.
A decisão: de quem é a conta?
Se os posts vão para as suas próprias contas, uma chave de API basta. Servidor para servidor, sem fluxo de consentimento, o mais simples possível.
Se os posts vão para as contas dos seus usuários, você precisa de OAuth. Cada usuário autoriza o seu app e você recebe um token com escopo vinculado ao workspace que ele escolheu.
Acerte isso desde o início. Produtos que começam pedindo aos usuários que colem uma chave de API acabam migrando para OAuth mais tarde, e nesse meio tempo ensinaram aos usuários um hábito ruim para os dois lados: colar uma credencial de vida longa e acesso amplo em um produto de terceiros.
O que você teria que construir de outra forma
O motivo para usar uma API de publicação em vez de integrar plataformas diretamente é que a integração direta é um projeto por plataforma que nunca termina:
- Um fluxo de OAuth separado por plataforma, com escopos e tempos de vida de token diferentes
- Um job de renovação por plataforma, que falha silenciosamente e leva a publicação junto
- Um pipeline de mídia separado por plataforma, com modelos de upload diferentes
- Publicação assíncrona em várias delas, onde um 200 não significa publicado
- Um limite de taxa separado por plataforma
- Revisão de aplicativo em várias delas, que é tempo de calendário fora do seu controle e pode ser recusada
- Mudanças que quebram compatibilidade continuamente, no cronograma próprio de cada plataforma
Para um SaaS em que a publicação é um recurso e não o produto, isso é um compromisso permanente de manutenção anexado a algo que não é o seu diferencial.
O que você ainda constrói
Usar uma API de publicação não elimina todo o trabalho. Você ainda precisa de:
Uma interface de conexão. Um lugar onde os usuários conectam suas contas e veem o estado da conexão.
Um estado de quebra visível. Conexões quebram. Os usuários precisam ver isso e corrigir, e isso precisa ser um estado no seu produto, não um erro que você engole.
Composição, nos termos do seu produto. A API recebe conteúdo e canais. O que seus usuários realmente fazem, e como isso se mapeia em um post, é seu.
Tratamento de falhas. Algo vai falhar ao publicar. Decida agora se o usuário descobre por meio de você ou pela ausência de um post.
O que checar ao escolher
| Requisito | Por quê |
|---|---|
| OAuth com escopos granulares | Produtos multiusuário precisam disso, e escopos estreitos limitam o raio de impacto |
| A lista específica de plataformas | Não “todas as principais redes” |
| Validação na criação | Para que uma legenda acima do limite falhe onde você pode mostrar ao usuário |
| Limites de taxa no seu nível | O número que decide se isso escala com você |
| Erros estruturados | Para que você possa mostrar algo útil em vez de “falha na publicação” |
O BulkPublish para isso
- Autenticação: OAuth 2.1 para agir nas contas dos seus usuários, chaves de API para as suas próprias
- Detalhes do OAuth: PKCE (S256) obrigatório,
scopeobrigatório sem padrão implícito, códigos de autorização de uso único, tokens de renovação rotativos, tokens passados comoBearer bpat_... - Escopos:
posts:read,posts:write,media:read,media:write,analytics:read,channels:read,full - Superfície: 59 endpoints documentados
- Plataformas: 15
Um limite para projetar em torno dele: tokens de OAuth alcançam posts, agendamentos, etiquetas, mídia, analytics e dados de canal somente leitura. Administração de conta, isto é, equipe, organizações, cobrança, compra de créditos, chaves de API e gerenciamento de apps OAuth, retorna 403 para qualquer token OAuth, incluindo full, porque essas ações sobreviveriam a um usuário desconectando seu app. Essas precisam de uma chave de API.
Melhor saber disso agora do que encontrar isso como um 403 inexplicado em produção.
| Free | Pro | Business | |
|---|---|---|---|
| Requisições de API/dia | 30 | 5.000 | 50.000 |
| Chaves de API | 1 | 5 | 10 |
A versão curta
Decida primeiro se você está publicando nas suas próprias contas ou nas dos seus usuários. Se forem dos usuários, use OAuth desde o primeiro dia em vez de migrar depois. Integrar plataformas diretamente é um compromisso permanente de manutenção sobre algo que não é o seu produto, e as partes que você ainda precisa construir são a interface de conexão, um estado de quebra visível e avisar os usuários quando algo falhar.