API

Detalhes técnicos para consumo das APIs

Base URL

Ambiente produção: https://docs.smartix.tech/api

Autenticação

POST /user/auth

A autenticação foi feita com base no padrão Bearer Token

Headers

Name
Value

Content-Type

application/json

Body

Name
Type
Description

username

string

Email da credencial

password

string

Senha da credencial

{
  "username": "[email protected]",
  "password": "ThisPassIsVeryHard"
}

Response

{
    "status": 200,
    "type": "OK",
    "message": "Usuario autenticado com sucesso",
    "data": {
        "jwt": "eyJhbGciOiJIUzI1NiIsInR5cCI6Ik9.eyJpZCI6MSwiaWF0IjoxzODE4LCJleHAiOjE3NDQzMjU4MTh9.59s4e-ywH-",
        "expiresIn": "30d"
    }
}

Buscar dados do usuário logado

GET /user/get-logged-user

Busca dados detalhados do usuário logado, como nome, email, permissões, empresa vinculada, etc.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <jwt>

Response

{
    "status": 200,
    "type": "OK",
    "message": "Usuario autenticado com sucesso",
    "data": {
        "id": 1,
        "companyId": 1,
        "name": "John",
        "username": "[email protected]",
        "profiles": [
            {
                "id": 1,
                "name": "Administrador da Conta",
                "key": "SYSTEM_ADMIN",
                "description": "Administrador da conta com todos os privilégios",
                "isPublic": false,
                "createdAt": "2024-08-29T00:52:44.000Z",
                "updatedAt": "2024-08-29T00:52:44.000Z",
                "companyId": null,
                "roles": [
                    {
                        "id": 1,
                        "name": "Criação de Usuários",
                        "key": "USERS_CREATE",
                        "description": "Permite a criação de usuários na conta",
                        "endpoint": null,
                        "createdAt": "2024-08-29T00:52:44.000Z",
                        "updatedAt": "2024-08-29T00:52:44.000Z"
                    },
                    {
                        "id": 2,
                        "name": "Visualização de Usuários",
                        "key": "USERS_READ",
                        "description": "Permite a visualização de usuários na conta",
                        "endpoint": null,
                        "createdAt": "2024-08-29T00:52:44.000Z",
                        "updatedAt": "2024-08-29T00:52:44.000Z"
                    }
                ]
            }
        ],
        "company": {
            "id": 1,
            "name": "Smartix Tech",
            "cgc": "45.061.055/0001-40",
            "disabled": null,
            "accepctTermDate": null,
            "createdAt": "2024-08-29T00:52:42.000Z",
            "updatedAt": "2024-08-29T00:52:42.000Z"
        }
    }
}

Buscar Classificadores Disponíveis

POST /classifier/filter

Busca classificadores disponíveis para processamento de documentos

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <jwt>

Body

Name
Type
Description

page.limit

number

Limite de itens que devem ser trazidos. Máximo 50 itens.

page.offset

number

Pagina atual dos dados.

{
  "page": {
    "limit": 10,
    "offset": 1
  }
}

Response

{
    "status": 200,
    "type": "OK",
    "message": "Listagem de classificadores",
    "data": {
        "rows": [
            {
                "id": 999,
                "name": "Notas de Serviço",
                "prompt": "Extrator de notas fiscais de serviço",
                "multiFiles": null,
                "createdAt": "2025-03-08T18:30:42.000Z",
                "updatedAt": "2025-03-08T18:30:42.000Z",
                "companyId": 1,
                "userId": 1
            }
        ],
        "page": {
            "offset": 1,
            "limit": 10
        }
    }
}

Adiciona Documentos

POST /

Adiciona documentos em um classificador para processamento por IA.

Este processo é feito com multipart/form-data. Então o upload do documento é feito de forma binária.

Headers

Name
Value

Content-Type

multipart/form-data;

Authorization

Bearer <jwt>

Body

Name
Type
Description

params

object

Objeto com dados especificos do upload, como código do classificador.

file

binary

Dados binários do documento

params: {"classifierId":999,"store":true,"indexes":[]}
file: (binário)

Response

{
    "status": 200,
    "type": "OK",
    "message": "Documento classificado com sucesso",
    "data": {
        "id": 9999,
        "uuid": "1bPAz98NyzXQ47_xlI00nbViTwgu4",
        "audited": null,
        "createdAt": "2025-03-11T23:18:04.000Z",
        "updatedAt": "2025-03-11T23:18:04.000Z",
        "userId": 1,
        "classifierId": 52,
        "indexes": [
            {
                "id": 71534,
                "type": "string",
                "name": "numeroNotaFiscal",
                "value": "00000001",
                "valueBigData": null,
                "audited": null,
                "classifierIndexId": 823
            },
            {
                "id": 71535,
                "type": "string",
                "name": "dataHoraEmissao",
                "value": "1/6/2006 12:01:40",
                "valueBigData": null,
                "audited": null,
                "classifierIndexId": 824
            },
            {
                "id": 71536,
                "type": "string",
                "name": "competencia",
                "value": "junho",
                "valueBigData": null,
                "audited": null,
                "classifierIndexId": 825
            }
        ]
    }
}

Caso seja necessário passar um parâmetro de campo interno, basta enviar dento dos params com o nome específico. Exemplo:

params: {
    "classifierId": 999,
    "store": true,
    "indexes": [
        {
            "id": 110,
            "type": "string",
            "name": "assinatura_importacao",
            "value": "Minha Assinatura"
        }
    ]
}

Buscar Documentos por ID

GET /doc/{idDoc}

Busca dados específicos de um documento a partir de seu ID principal

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <jwt>

Response

{
    "status": 200,
    "type": "OK",
    "message": "Documento recuperado com sucesso",
    "data": {
        "id": 9999,
        "uuid": "1bPAz98NyzXQ47_xlIN999887",
        "audited": null,
        "createdAt": "2025-03-11T23:18:04.000Z",
        "updatedAt": "2025-03-11T23:18:04.000Z",
        "userId": 1,
        "classifierId": 999,
        "indexes": [
            {
                "id": 9999,
                "type": "string",
                "name": "numeroNotaFiscal",
                "value": "00000001",
                "valueBigData": null,
                "audited": null,
                "classifierIndexId": 823
            },
            {
                "id": 9998,
                "type": "string",
                "name": "dataHoraEmissao",
                "value": "1/6/2006 12:01:40",
                "valueBigData": null,
                "audited": null,
                "classifierIndexId": 824
            },
            {
                "id": 9997,
                "type": "string",
                "name": "competencia",
                "value": "junho",
                "valueBigData": null,
                "audited": null,
                "classifierIndexId": 825
            }
        ]
    }
}

Buscar Relatório de Documentos Existentes

POST /doc/filter

Busca relatório de documentos por ID do classificador

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <jwt>

Body

Name
Type
Description

page.limit

number

Limite de itens que devem ser trazidos. Máximo 50 itens.

page.offset

number

Pagina atual dos dados.

classifierId

number

Código do classificador

values

array

Array com filtros nos campos indexados do classificador

{
  "classifierId": 1,
  "values":[
    //{"name": "cidade_emissao", "valueEqual": "JOINVILLE"},
    //{"name": "codigo_identificador_nota", "valueEqual": "8c4f6743"}
  ],
  "page": {
    "limit": 10,
    "offset": 1
  }
}

Response

{
    "status": 200,
    "type": "OK",
    "message": "Listagem de documentos recuperados com sucesso",
    "data": {
        "rows": [
            {
                "numeroNotaFiscal": "00000001",
                "dataHoraEmissao": "1/6/2006 12:01:40",
                "competencia": "junho"
            },
            {
                "numeroNotaFiscal": "00000001",
                "dataHoraEmissao": "1/6/2006 12:01:40",
                "competencia": "junho",
            }
        ],
        "page": {
            "page": 1,
            "rowsPerPage": 10
        }
    }
}

Last updated

Was this helpful?