Adicionando publicação em redes sociais ao seu SaaS

Adicionando publicação em redes sociais ao seu SaaS

Se seus usuários querem publicar de dentro do seu produto, é isso que a integração realmente envolve e qual modelo de autenticação escolher.

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

RequisitoPor quê
OAuth com escopos granularesProdutos multiusuário precisam disso, e escopos estreitos limitam o raio de impacto
A lista específica de plataformasNão “todas as principais redes”
Validação na criaçãoPara que uma legenda acima do limite falhe onde você pode mostrar ao usuário
Limites de taxa no seu nívelO número que decide se isso escala com você
Erros estruturadosPara 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, scope obrigatório sem padrão implícito, códigos de autorização de uso único, tokens de renovação rotativos, tokens passados como Bearer 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.

FreeProBusiness
Requisições de API/dia305.00050.000
Chaves de API1510

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.