API Reference

Documentação da API Coomarcas Integrador. Utilize estes endpoints para autenticação, gestão de empresas e envio de notas fiscais eletrônicas.

Base URL
https://integrador.dev.coomarcas.com.br
Autenticação

A API utiliza autenticação via Bearer Token (JWT). Obtenha o token através do endpoint de login e inclua-o no header de todas as requisições autenticadas:

Authorization: Bearer <seu_token>

Login

Autentica o usuário e retorna um token JWT para acesso aos endpoints protegidos.

POST /api/auth/login
● Pública

Request Body

Campo Tipo Descrição
email* string Email do usuário Obrigatório. Deve ser um email válido.
password* string Senha do usuário Obrigatório.

Exemplo de Request

{ "email": "joao.silva@coomarcas.com.br", "password": "sua_senha_aqui" }

Response

{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }

Status Codes

200 Sucesso
400 Validação
401 Credenciais inválidas
500 Erro interno

Erros de Validação

Campo Código Mensagem
email required O email é obrigatório.
email format O email informado não é válido.
password required A senha é obrigatória.

Listar Empresas

Retorna a lista paginada de empresas que o usuário autenticado tem acesso.

GET /api/company/get-all
● Autenticação obrigatória

Query Parameters

Campo Tipo Descrição
page int Número da página Padrão: 1
pageSize int Itens por página Padrão: 10

Exemplo de Request

GET /api/company/get-all?page=1&pageSize=10 Authorization: Bearer <token>

Response

{ "items": [ { "companyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "companyName": "Empresa LTDA", "tradeName": "Nome Fantasia", "cnpj": "12345678000199", "isActive": true } ], "page": 1, "pageSize": 10, "totalCount": 1, "totalPages": 1, "hasNextPage": false, "hasPreviousPage": false }

Campos da Response

Campo Tipo Descrição
companyId guid Identificador único da empresa
companyName string Razão social (máx. 200 caracteres)
tradeName string Nome fantasia (máx. 200 caracteres)
cnpj string CNPJ (14 dígitos)
isActive boolean Status ativo/inativo da empresa

Status Codes

200 Sucesso
400 Usuário não encontrado
401 Não autenticado
404 Não encontrado
500 Erro interno

Enviar Nota Fiscal

Submete um documento fiscal eletrônico (XML) para processamento assíncrono. O arquivo é armazenado e um evento de processamento é disparado.

POST /api/invoice-requests
● Autenticação obrigatória

Content-Type

multipart/form-data

Request Body (Form Data)

Campo Tipo Descrição
cnpjCliente* string CNPJ da empresa destinatária Obrigatório. Exatamente 14 caracteres.
tipoDocFiscal* string Tipo do documento fiscal Obrigatório. Valores aceitos: NFE NFCE NFSE
entradaSaidaEnum* string Direção da nota fiscal Obrigatório. Valores aceitos: 0 (entrada) 1 (saída)
docFiscal* file Arquivo XML do documento fiscal Obrigatório. Formato: .xml | Máximo: 300KB
dataDocumento* date Data do documento fiscal Obrigatório. Formato: YYYY-MM-DD | Não pode ser data futura.

Exemplo de Request (cURL)

# Envio via multipart/form-data curl -X POST https://integrador.dev.coomarcas.com.br/api/invoice-requests \ -H "Authorization: Bearer <token>" \ -F "cnpjCliente=12345678000199" \ -F "tipoDocFiscal=NFE" \ -F "entradaSaidaEnum=0" \ -F "docFiscal=@nota_fiscal.xml" \ -F "dataDocumento=2026-04-15"

Response (202 Accepted)

{ "invoiceRequestId": "0192d5e8-7a3b-7c4d-9e2f-1a2b3c4d5e6f", "cliente": { "cnpj": "12345678000199", "nomeEmpresa": "Nome Fantasia" }, "tipo": "NFE", "entradaSaidaEnum": 0, "status": "Pendente", "nomeArquivo": "nota_fiscal.xml", "dataDocumento": "2026-04-15", "criadoEm": "2026-04-20T14:30:00Z" }

Campos da Response

Campo Tipo Descrição
invoiceRequestId guid Identificador único da solicitação
cliente.cnpj string CNPJ da empresa
cliente.nomeEmpresa string Nome fantasia da empresa
tipo string Tipo do documento (NFE, NFCE, NFSE)
entradaSaidaEnum int Direção: 0 (entrada) ou 1 (saída)
status string Status atual da solicitação
nomeArquivo string Nome do arquivo enviado
dataDocumento date Data do documento fiscal
criadoEm datetime Data e hora de criação

Status Codes

202 Aceito para processamento
400 Validação
401 Não autenticado
500 Erro interno

Erros de Validação

Campo Código Mensagem
cnpjCliente required O CNPJ é obrigatório.
cnpjCliente length O CNPJ deve ter exatamente 14 caracteres.
tipoDocFiscal required O tipo da nota fiscal é obrigatório.
tipoDocFiscal invalid '{valor}' não é um tipo de nota fiscal válido. Valores aceitos: NFE, NFCE, NFSE.
entradaSaidaEnum required A direção da nota fiscal é obrigatória.
entradaSaidaEnum invalid '{valor}' não é uma EntradaSaidaEnum válida. Valores aceitos: 0 (entrada), 1 (saída).
docFiscal required O arquivo do documento é obrigatório.
docFiscal format O documento deve ser um arquivo XML.
docFiscal size O documento não pode ultrapassar 300KB.
dataDocumento required A data do documento é obrigatória.
dataDocumento invalid A data do documento é inválida.
dataDocumento future A data do documento não pode ser no futuro.