BIBLEIT / Documentação

HTTP e WebSocket

Envie um comando por requisição HTTP. Use SSH para assinaturas persistentes do protocolo e WebSockets para eventos de Live no navegador.

POST /api/cli/command

Crie um token nas configurações da conta e envie como Bearer. Nunca coloque em URLs ou armazenamento do navegador. O fluxo de autorização da CLI usa código único e PKCE; cookies de sessão não são tokens Bearer.

Comando / requisição

curl --request POST http://localhost:8080/api/cli/command \
  --header "Authorization: Bearer $BIBLEIT_TOKEN" \
  --header 'Content-Type: application/json' \
  --data '{"command":"PING"}'

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8

OK pong=true

Um comando válido executado retorna HTTP 200 com saída text/plain, incluindo erros de domínio ERR. Token ausente ou inválido retorna 401; nome de usuário ausente retorna 403; comandos inválidos e assinaturas exclusivas de SSH retornam 400. Confira o status HTTP e o envelope.

WebSocket /ws?live=<id>

Conecte a /ws?live=LIVE_ID para eventos do espectador, usando o cookie do Live quando houver segredo. Um comando push também exige sessão válida, live.update e acesso ao Live. Frames de comando de texto têm limite de 4 KiB. Sucessos retornam push_result; falhas retornam error com code.

Comando / requisição

{"type":"push","reference":{"translation":"WEB","book":19,"chapter":23,"verse":1}}

Exemplo de resposta

{
  "type": "push_result",
  "live": "demoLive01",
  "verse": {
    "translation": "web", "book": "Psalms",
    "chapter": 23, "verse": 1,
    "reference": "Psalms 23:1",
    "text": "The LORD is my shepherd; I shall lack nothing.",
    "publisher_id": "demo-account", "sequence": 1,
    "translations": [{
      "translation": "web", "book": "Psalms",
      "chapter": 23, "verse": 1,
      "reference": "Psalms 23:1",
      "text": "The LORD is my shepherd; I shall lack nothing."
    }]
  }
}
{"type":"error","live":"demoLive01","code":"invalid_reference"}
{"type":"clear","live":"demoLive01"}
{"type":"paused","live":"demoLive01"}
{"type":"closed","live":"demoLive01"}
HTTP e WebSocket ↗