Guia de Início Rápido

Este guia mostra o caminho completo desde a criação do tenant até a assinatura do primeiro documento.

1. Solicitar um Tenant

Entre em contato com a equipe Rubrix para solicitar a criação do seu tenant. Você receberá um e-mail com as credenciais do usuário Owner.

A partir da interface web do Rubrix, o Owner pode convidar outros usuários e atribuir papéis (OWNER, ADMIN, USER).

2. Fazer Login

Autentique-se para obter um token JWT:

POST /auth/login
Content-Type: application/json
{
  "email": "owner@suaempresa.com",
  "password": "sua-senha"
}

Resposta (200):

{
  "token": "eyJ0eXAiOiJKV1Qi...",
  "expires_in": 3600
}

Use o token retornado em todas as requisições subsequentes:

Authorization: Bearer eyJ0eXAiOiJKV1Qi...

Para verificar que a autenticação está funcionando:

curl --location 'https://rubrix.lat/core/api/auth/me' \
  --header 'Authorization: Bearer <SEU_TOKEN>'

3. Criar uma API Key (opcional)

Para integrações via aplicação, crie uma API Key que pode ser usada como alternativa ao JWT em qualquer endpoint autenticado:

POST /api-keys
Content-Type: application/json
Authorization: Bearer {token}
{
  "name": "integracao-erp",
  "expires_at": "2027-12-31T23:59:59Z"
}

A API Key retornada deve ser enviada no header X-Api-Key. Exemplo:

curl --location 'https://rubrix.lat/core/api/auth/me' \
  --header 'X-Api-Key: <SUA_API_KEY>'

Warning

Guarde o valor da API Key retornado. Ele não será exibido novamente.

Tip

Ambos os métodos são intercambiáveis: onde a documentação mostra Authorization: Bearer {token}, você pode substituir por X-Api-Key: {apiKey}.

4. Criar um Fluxo de Assinatura

Envie o documento codificado em Base64 e defina os signatários:

POST /flow/init
Content-Type: application/json
Authorization: Bearer {token}
{
  "file_name": "contrato_servicos.pdf",
  "document": "JVBERi0xLjQK...",
  "webhook": "https://api.suaempresa.com/callback",
  "pools": [
    {
      "alias": "Jurídico",
      "priority": 1,
      "signers": [
        {
          "email": "advogado@suaempresa.com",
          "document": "12345678900"
        }
      ]
    },
    {
      "alias": "Diretoria",
      "priority": 2,
      "signers": [
        {
          "email": "diretor@suaempresa.com",
          "document": "98765432100"
        }
      ]
    }
  ]
}

Resposta (201):

{
  "flowId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "WAITING",
  "currentSigners": [
    {
      "document": "12345678900",
      "email": "advogado@suaempresa.com",
      "signUrl": "https://rubrix.lat/sign/..."
    }
  ]
}

Os signatários do pool com priority: 1 recebem o e-mail automaticamente. Ao concluírem, os signatários do priority: 2 são notificados.

Tip

Configure o campo webhook para receber o documento final assinado automaticamente, permitindo integração direta com seu ERP, CRM ou ferramenta de automação.

5. Acompanhar o Status

GET /flow/status/{flowId}
Authorization: Bearer {token}

Resposta (200):

{
  "flow_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "WAITING",
  "current_signers": ["12345678900"],
  "document": "https://s3.rubrix.local/temp-url..."
}

Valores possíveis para status: CREATED, WAITING, SIGNED.

6. Receber o Documento Final via Webhook

Quando todas as assinaturas forem concluídas, a API envia automaticamente o documento assinado para a URL de webhook configurada:

POST {sua-url-de-webhook}
Content-Type: application/pdf
X-Flow-Id: 550e8400-e29b-41d4-a716-446655440000

[binário do PDF assinado]