Saltar para o conteúdo
🎉 Bem-vindo! Sinfonia by 27Devs é uma plataforma completa de orquestração de robôs, solicite já seu acesso.
Fluxo completo

Fluxo completo

Este exemplo junta as peças da API em um fluxo típico de integração:

Executar o bot

O seu sistema chama POST /v1/run com o nome do bot, os parâmetros e uma webhook_url.

Receber o resultado

Quando a execução termina, o Sinfonia chama a webhook_url com o exec_id e o status.

Buscar o log

Com o exec_id, o seu sistema chama GET /v1/execlog/{id} e guarda o log ou trata o erro.

Disparar a execução

import json
import os
import requests

SINFONIA_API = "https://sinfonia.live/api"
TOKEN = os.environ["SINFONIA_TOKEN"]

def executar_faturamento(mes: str) -> None:
    response = requests.post(
        f"{SINFONIA_API}/v1/run",
        headers={"token": TOKEN},
        json={
            "bot_name": "bot-faturamento",
            "bot_params": json.dumps({"MES": mes}),
            "label": f"fat-{mes}",
            "webhook_url": "https://meusistema.com/webhooks/sinfonia?key=um-segredo-longo",
        },
        timeout=30,
    )
    response.raise_for_status()  # 200: execução na fila

executar_faturamento("2026-10")

Nota

Repare que bot_params é serializado duas vezes: os parâmetros viram uma string JSON, e essa string vai dentro do corpo da requisição.

Receber o resultado e buscar o log

O receptor do webhook recebe o exec_id, busca o log e decide o que fazer. Veja o código completo em Webhook de retorno.

Tratamento de erros

StatusO que fazer
400Confira o nome do bot, a versão, o agente e se o corpo é um JSON válido.
401Confira o header token e se o token ainda existe na tela de Tokens.
429Aguarde e tente de novo. O limite é de 5 requisições por segundo por rota.
5xxTente de novo com intervalo crescente entre as tentativas.
Última modificação em