Integração de API

API de publicação no TikTok para distribuição multiconta segura em filas

Implemente fluxos de publicação no TikTok com rastreamento de status explícito, orquestração segura para retries e tratamento consciente da moderação para equipes em escala de produção.

Problema

Em escala, a distribuição falha onde a publicação ainda é manual: as ações de upload/publicação tornam-se frágeis em muitas contas, agendamentos e estados de moderação.

Resultado com a Ssemble

A Ssemble oferece suporte à geração de conteúdo e à orquestração de status enquanto sua camada de publicação no TikTok executa publicações controladas com idempotency, retries e estados de job auditáveis.

Fundamentos de implementação

URL base: https://aiclipping.ssemble.com/api/v1 (+ TikTok Open API for publish)

Arquitetura de integração (ingestão → processamento → polling/webhook → publicação)

1) Ingestão

Armazene a source URL/file URL + conta de destino + scheduleAt + idempotency key no modelo de job do seu publicador.

2) Processamento

Chame POST /shorts/create, persista o requestId e vincule-o aos jobs de publicação subsequentes.

3) Poll / Webhook

Mova os jobs pelos estados processing/ready/failed usando GET /shorts/:id/status e fallbacks de eventos.

4) Publicação

Acione a publicação no TikTok com limites de concorrência por conta, política de retry e reconciliação de status final.

Exemplos de endpoint

  • POST /shorts/createGerar o ativo em formato curto antes de publicar
  • GET /shorts/:id/statusAcompanhar o ciclo de vida do processamento e o failureReason
  • GET /shorts/:idRecuperar os metadados da saída concluída para publicação

Orientações de autenticação

Use a X-API-Key no lado do servidor para a Ssemble e mantenha os tokens OAuth do TikTok isolados no seu serviço de publicação. Faça a rotação de cada conjunto de chaves de forma independente por ambiente.

Rate limits e retries

Trate geração e publicação como orçamentos separados. Serialize as chamadas de mutação por conta de destino e, em caso de 429, respeite reset/retryAfter com backoff exponencial + jitter.

Exemplo de requisição

POST /api/publish/tiktok
{
  "jobId": "job_01HT...",
  "requestId": "665a1b2c3d4e5f6a7b8c9d0e",
  "tiktokAccountId": "acct_kor_store_03",
  "scheduleAt": "2026-03-10T18:00:00Z",
  "idempotencyKey": "2f182b63-312f-4290-9222-7cf6f7f8f12d"
}

Exemplo de resposta

200 OK
{
  "jobId": "job_01HT...",
  "state": "publish_processing",
  "publishId": "v_inbox_file~v2.123456789",
  "nextCheckAt": "2026-03-10T18:00:30Z"
}

Exemplo de cenário de erro

429 Too Many Requests
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Per-account posting throttle reached",
    "details": { "retryAfter": "2026-03-10T18:01:00Z" }
  }
}

Versionamento

Fixe as versões de endpoint e registre os metadados de versão upstream por requisição, para que as regressões de integração sejam rastreáveis.

Suporte

Para triagem de incidentes, persista requestId + publish_id + account id + error.code + upstream log_id em um único registro consultável.

Início rápido

  1. Crie a SSEMBLE_API_KEY e armazene-a nos segredos do backend.
  2. Chame POST /shorts/create e persista o requestId na sua tabela de jobs.
  3. Faça polling em GET /shorts/:id/status a cada 10 segundos até o estado terminal.
  4. Ao chegar em completed, publique no TikTok pela fila do seu servidor.
  5. Trate 429/5xx com retries limitados e idempotency keys estáveis.
Abrir a documentação de publicação no TikTok

Iniciar integração

Fluxo de trabalho em 3 etapas

  1. Gere ativos em formato curto e armazene o requestId junto com o contexto de publicação na sua tabela de jobs.
  2. Acompanhe o processamento por polling de status ou webhooks e mova os jobs para estados ready/failed de forma determinística.
  3. Publique no TikTok com controle de throttle por conta, idempotency keys e logs de reconciliação.

Por que as equipes escolhem a Ssemble

  • Feito para equipes de distribuição multiconta em que a confiabilidade da fila é mais importante do que o sucesso pontual.
  • Separa as responsabilidades de renderização e publicação, de modo que as falhas fiquem isoladas e recuperáveis.
  • Oferece suporte ao tratamento de estados consciente da moderação: a conclusão do upload nem sempre significa disponibilidade pública final.

Próximo passo

FAQ

Podemos tratar o sucesso do upload como publicado?

Nem sempre. Mantenha estados separados para uploaded, submitted, publish_complete e publicly_available para evitar falsos positivos.

Qual etapa precisa ser idempotente?

No mínimo, o início da publicação. Use uma idempotency key estável por job para que os retries não criem duplicatas.

Polling ou webhooks: qual devemos usar?

Use webhooks como opção principal quando disponíveis e mantenha o polling como fallback para reconciliação e eventos perdidos.

Como evitamos picos de 429 em muitas contas?

Faça o sharding das filas por conta de destino e imponha limites de concorrência por conta, em vez de uma única fila global de picos.

Quais logs são obrigatórios para a resposta a incidentes?

Registre requestId, publish_id, account id, transições de status e error code para dar suporte a uma depuração determinística.

Isso garante o tempo de conclusão da moderação?

Não. As janelas de moderação variam, então os sistemas de produção devem tratar o tempo de disponibilidade final como assíncrono e variável.

Recursos relacionados