Inicio
Splitdigital Logo

Documentacao tenant-local

Como usar a API do tenant zeroum.splitdigital.app.br

Esta biblioteca explica o acesso direto aos recursos deste tenant, sem passar pela Central. A URL base deste ambiente e https://zeroum.splitdigital.app.br/api.

Base URL

https://zeroum.splitdigital.app.br/api

Todas as chamadas desta pagina devem usar o dominio atual do tenant.

Identidade

Usuario do tenant

O token e emitido no proprio tenant e respeita as permissoes do usuario local.

Isolamento

Somente este tenant

O dominio identifica o tenant antes da autenticacao. Nao ha selecao de tenant por parametro.

Autenticacao

Use o token Bearer gerado em /profile no proprio dominio do tenant.

Authorization: Bearer SEU_TOKEN
Accept: application/json
Content-Type: application/json

O usuario precisa estar com acesso por API habilitado, possuir a ability no token e manter a permissao da tela correspondente.

Contrato de isolamento

  • O token emitido neste tenant deve ser usado em https://zeroum.splitdigital.app.br/api.
  • O token tenant-local nao concede acesso a outros tenants.
  • A API Central continua separada para usuarios centrais multi-tenant.
  • As regras de permissao seguem as mesmas views do tenant.

Permissoes e abilities

Pessoas

Permissao: Visualizar Pessoa

  • tenant.pessoas.read
  • tenant.pessoas.write
  • tenant.pessoas.delete

Movimentos

Permissao: Visualizar Movimento

  • tenant.movimentos.read
  • tenant.movimentos.write
  • tenant.movimentos.delete

Provisoes

Permissao: Visualizar Provisao

  • tenant.provisoes.read
  • tenant.provisoes.write
  • tenant.provisoes.delete

Endpoints

Consulta

  • GET /api/me: usuario autenticado e dados do tenant.
  • GET /api/pessoas: lista pessoas.
  • GET /api/pessoas/{id}: consulta pessoa.
  • PUT/PATCH /api/pessoas/{id}: edita pessoa.
  • GET /api/movimentos: lista movimentos.
  • GET /api/movimentos/{id}: consulta movimento.
  • PUT/PATCH /api/movimentos/{id}: edita movimento.
  • GET /api/provisoes: lista provisoes.
  • GET /api/provisoes/{id}: consulta provisao com parcelas.
  • PUT/PATCH /api/provisoes/{id}: edita provisao respeitando bloqueios de boleto e baixa.

Escrita

  • POST /api/pessoas: cadastra pessoa.
  • DELETE /api/pessoas/{id}: exclui pessoa, se nao estiver usada no financeiro.
  • POST /api/movimentos: cadastra movimento.
  • DELETE /api/movimentos/{id}: exclui movimento.
  • POST /api/provisoes: cadastra provisao e parcelas.
  • DELETE /api/provisoes/{id}: exclui provisao, se as parcelas permitirem.

Regras de escrita

Provisoes

  • Alteracoes respeitam as mesmas regras usadas nas telas do tenant.
  • Uma provisao com qualquer parcela baixada nao pode ser alterada pela API.
  • Boletos recebidos ou em situacao nao editavel bloqueiam alteracao de cabecalho e parcelas.
  • Boletos cancelados ou expirados nao sao editados no banco; ao alterar vencimento ou valor, sera criado um novo boleto.
  • Ao informar parcelas[].id, a parcela precisa pertencer a provisao da URL.
  • Provisoes de entrada com forma de pagamento boleto disparam o registro bancario apos salvar.

Boleto e metadata

  • A parcela so e tratada como boleto vinculado quando existem dados reais no metadata, como status, codigo de solicitacao, instituicao ou nosso numero.
  • Apenas escolher forma de pagamento boleto nao bloqueia edicao antes do vinculo bancario existir.
  • Metadata enviado em parcelas e mesclado com o metadata existente para preservar dados bancarios.
  • O campo linha_digitavel pode ser enviado na parcela e sera normalizado para numeros.
  • Erros tecnicos dos bancos sao normalizados antes de serem exibidos ao usuario.

Exemplo: criar pessoa

POST https://zeroum.splitdigital.app.br/api/pessoas
Authorization: Bearer SEU_TOKEN
Content-Type: application/json

{
  "nome": "Cliente API",
  "inscrfederal": "12345678901",
  "ativo": true,
  "pix_tipo": 1,
  "pix_chave": "12345678901"
}

Exemplo: criar movimento

POST https://zeroum.splitdigital.app.br/api/movimentos
Authorization: Bearer SEU_TOKEN
Content-Type: application/json

{
  "doc": "MOV-001",
  "pessoa_id": 1,
  "tipo": 1,
  "valor": 150.75,
  "previsto": "2026-05-10",
  "realizado": "2026-05-10",
  "descricao": "Recebimento via integracao",
  "formapagamento_id": 1
}

Exemplo: criar provisao com parcelas

POST https://zeroum.splitdigital.app.br/api/provisoes
Authorization: Bearer SEU_TOKEN
Content-Type: application/json

{
  "doc": "PROV-001",
  "pessoa_id": 1,
  "tipo": 1,
  "valor": 300.50,
  "previsto": "2026-06-10",
  "descricao": "Provisao via integracao",
  "formapagamento_id": 1,
  "parcelas": [
    {
      "seq": 1,
      "valor": 150.25,
      "previsto": "2026-06-10",
      "formapagamento_id": 1
    },
    {
      "seq": 2,
      "valor": 150.25,
      "previsto": "2026-07-10",
      "formapagamento_id": 1
    }
  ]
}

Parametros uteis

  • limit: limite de registros, de 1 a 100.
  • search: busca pessoas por nome ou documento.
  • include=extras: inclui metadados controlados.
  • include=parcelas: inclui parcelas na listagem de provisoes.

Respostas esperadas

  • 200: consulta autorizada.
  • 201: recurso criado.
  • 204: recurso excluido.
  • 401: token ausente, invalido ou expirado.
  • 403: API desabilitada, ability ausente ou permissao insuficiente.
  • 409: operacao bloqueada por regra de negocio.
  • 422: payload invalido.

Resumo OpenAPI

Referencia compacta para IAs e integradores

openapi: 3.0.3
servers:
  - url: https://zeroum.splitdigital.app.br/api
security:
  - bearerAuth: []
paths:
  /me:
    get:
      x-ability: tenant.read
  /pessoas:
    get:
      x-ability: tenant.pessoas.read
    post:
      x-ability: tenant.pessoas.write
  /pessoas/{id}:
    get:
      x-ability: tenant.pessoas.read
    patch:
      x-ability: tenant.pessoas.write
    delete:
      x-ability: tenant.pessoas.delete
  /movimentos:
    get:
      x-ability: tenant.movimentos.read
    post:
      x-ability: tenant.movimentos.write
  /movimentos/{id}:
    get:
      x-ability: tenant.movimentos.read
    patch:
      x-ability: tenant.movimentos.write
    delete:
      x-ability: tenant.movimentos.delete
  /provisoes:
    get:
      x-ability: tenant.provisoes.read
    post:
      x-ability: tenant.provisoes.write
  /provisoes/{id}:
    get:
      x-ability: tenant.provisoes.read
    patch:
      x-ability: tenant.provisoes.write
    delete:
      x-ability: tenant.provisoes.delete
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer