# Manual Técnico – Integração ILLI + F360 (Webhooks) ##### Estrutura Geral Autenticação Não há autenticação via token no Webhook. A segurança e a identificação são feitas via **`identificador-unico-do-servico`** gerado pelo F360 e atribuído a cada cliente. Endpoints Formato padrão das URLs: ``` https://webhook.f360.com.br/{identificador-unico-do-servico}/{servico-consumido} ``` - `{identificador-unico-do-servico}`: fornecido pelo F360 após solicitação. - `{servico-consumido}`: exemplos: - `f360-cupom-fiscal` - `f360-{id}-titulos` --- ##### Envio de Cupons Fiscais > `POST /{identificador}/f360-cupom-fiscal` ##### Regras Técnicas - A request é assíncrona. - `Content-Type: application/json` - Cupom e CNPJ devem ser **únicos** por requisição. - Várias formas de pagamento podem ser inseridas no mesmo cupom. - Várias vendas podem ser inseridas no mesmo JSON, desde que sejam do mesmo **CNPJ** e **data** (yyyy-MM-dd). ##### 📤 Payload (exemplo): ``` { "NomeSistema": "ILLI", "Values": [ { "NumeroCupom": "001234", "CNPJEmitente": "12345678000100", "Cliente": { "Nome": "João Silva", "Cpf": "12345678900" }, "MeioPagamento": [ { "FormaPagamento": "Cartao Crédito", "Valor": 100.00, "Autorizacao": "ABC123", "NSU": "999999", "QtdParcelas": "2", "Parcelas": [ { "DataDeApresentacao": "2025-06-01", "Valor": 50.00, "NumeroDaParcela": 1, "Vencimento": "2025-07-01" }, { "DataDeApresentacao": "2025-06-01", "Valor": 50.00, "NumeroDaParcela": 2, "Vencimento": "2025-08-01" } ] } ], "Data": "2025-06-01T14:00:00", "VendaCancelada": false, "ValorFrete": 10.00 } ] } ``` ##### Campos obrigatórios - `NumeroCupom`, `CNPJEmitente`, `Data`, `MeioPagamento`, `FormaPagamento`, `Valor` --- ### ##### Envio de Títulos (Contas a Pagar e Receber) > `POST /{identificador}/f360-{id}-titulos` ##### Regras Técnicas - Só é possível criar novos registros (`insert only`) - `Content-Type: application/json` - Cada título deve ter ao menos uma `parcela` e um `rateio` - As somas devem fechar: - Soma das parcelas = valor do título - Soma dos rateios = valor da parcela correspondente ##### 📤 Payload (exemplo): ``` { "titulos": [ { "cnpj": "12345678000100", "tipoTitulo": "receber", "numeroTitulo": "ABC001", "clienteFornecedor": "Empresa XYZ", "detalhesClienteFornecedor": { "nome": "Empresa XYZ", "cpfCnpj": "12345678000100" }, "emissao": "2025-06-01", "valor": 300.00, "tipoDocumento": "boleto", "contaBancaria": "Conta Itaú", "meioPagamento": "boleto", "parcelas": [ { "vencimento": "2025-06-30", "valor": 300.00, "numeroParcela": 1 } ], "rateio": [ { "competencia": "06-2025", "centroDeCusto": "Administrativo", "planoDeContas": "Serviços", "numeroParcela": 1, "valor": 300.00 } ] } ] } ``` ##### Campos obrigatórios - `cnpj`, `tipoTitulo`, `numeroTitulo`, `clienteFornecedor`, `emissao`, `valor`, `tipoDocumento`, `contaBancaria`, `meioPagamento`, `parcelas`, `rateio` --- ##### Respostas da API
HTTP CodeSignificadoPayload
200Sucesso`{"rastreioId": ""}`
500ErroJSON com `traceId` e `status`
### ##### Observações Técnicas - Utilize a [API pública do F360](https://kb.illimitar.pro/link/891#bkmrk-desenvolvedores%3A-mau) para listar: - Planos de contas - Centros de custo - `FormaPagamento` aceita valores conforme a Tabela de Bandeiras (ex: Visa, Pix, Elo, etc.) - Campos de datas devem seguir o formato ISO: - `yyyy-MM-ddTHH:mm:ss` para timestamps - `yyyy-MM-dd` para datas simples - Campos booleanos: use `true` ou `false` (não strings)