Protheus - inncash/inncash-docs GitHub Wiki

Documentação da API REST – InnCash Hub (Protheus)

Visão Geral

API REST desenvolvida em ADVPL/TLPP para integração entre o Protheus e o InnCash. Os endpoints permitem:

  • Atualização de dados no ERP
  • Sincronização de registros
  • Controle de jobs
  • Consulta de dados de tabelas do Protheus

Fonte ADVPL

InnCashHub.tlpp

Base URL

/api/inncash/v1

Códigos HTTP utilizados

Código Descrição
200 Sucesso
400 Erro na requisição

1. Atualizar Cliente

Endpoint

PATCH /api/inncash/v1/customers/:IdCustomer

Função ADVPL

InnCustomerPatch()

Descrição

Atualiza campos de integração na tabela SA1 (Cadastro de Clientes) do Protheus.

Tabela Atualizada

SA1

Campo utilizado na integração

A1_ZINNC1

Chaves do registro

Campo Descrição
A1_FILIAL Filial
A1_COD Código do cliente
A1_LOJA Loja do cliente

Parâmetro

Nome Tipo Descrição
IdCustomer Path Identificador do cliente

Resposta

{
  "success": true,
  "message": "Atualização do registro no cadastro de cliente realizado com sucesso!"
}

2. Atualizar Fornecedor

Endpoint

PATCH /api/inncash/v1/suppliers/:IdCustomer

Função ADVPL

InnSuppliersPatch()

Descrição

Atualiza dados de integração na tabela SA2 (Cadastro de Fornecedores).

Tabela

SA2

Campo de integração

A2_ZINNC1

Chaves do registro

Campo Descrição
A2_FILIAL Filial
A2_COD Código fornecedor
A2_LOJA Loja fornecedor

3. Atualizar Contas a Receber

Endpoint

PATCH /api/inncash/v1/accounts-receivable/:IdCustomer

Função ADVPL

InnAccountsReceivablePatch()

Descrição

Atualiza registros da tabela SE1 (Contas a Receber).

Tabela

SE1

Campo de integração

E1_ZINNC1

Chaves do título

Campo Descrição
E1_FILIAL Filial
E1_PREFIXO Prefixo
E1_NUM Número do título
E1_PARCELA Parcela
E1_TIPO Tipo
E1_FILORIG Filial origem

4. Atualizar Contas a Pagar

Endpoint

PATCH /api/inncash/v1/accounts-payable/:IdCustomer

Função ADVPL

InnAccountsPayablePatch()

Descrição

Atualiza registros na tabela SE2 (Contas a Pagar).

Tabela

SE2

Campo de integração

E2_ZINNC1

Chaves do título

Campo Descrição
E2_FILIAL Filial
E2_PREFIXO Prefixo
E2_NUM Número
E2_PARCELA Parcela
E2_TIPO Tipo
E2_FORNECE Código fornecedor
E2_LOJA Loja
E2_FILORIG Filial origem

5. Registrar Sincronização

Endpoint

POST /api/inncash/v1/sync

Função ADVPL

InnSyncPost()

Descrição

Grava registros que já foram sincronizados com o InnCash.

Tabela utilizada

INNOVA_TABLE_UPDATED_CONTROL

Objetivo

Controlar quais registros do Protheus já foram enviados para o sistema externo.


6. Criar Job de Integração

Endpoint

POST /api/inncash/v1/jobs

Função ADVPL

InnJobsPost()

Descrição

Cria um job de integração na tabela de controle do InnCash.

Tabela

INNOVA_TABLE_JOBS

Finalidade

Registrar tarefas que devem ser executadas pela integração.


7. Atualizar Job de Integração

Endpoint

PATCH /api/inncash/v1/jobs

Função ADVPL

InnJobsPatch()

Descrição

Atualiza o status ou dados de um job existente na tabela de jobs.

Tabela

INNOVA_TABLE_JOBS

8. Consultar Dados de Tabela do Protheus

Endpoint

POST /api/inncash/v1/gettabledata

Função ADVPL

InnGetTableData()

Descrição

Retorna dados de uma tabela do Protheus para integração com o InnCash.

Finalidade

Permitir que o sistema externo consulte dados diretamente do ERP.


Fluxo geral da integração

InnCash
   │
   │ REST API
   ▼
Protheus (ADVPL REST)
   │
   ├── Atualiza clientes
   ├── Atualiza fornecedores
   ├── Atualiza títulos financeiros
   ├── Cria/atualiza jobs
   └── Consulta dados de tabelas

Resumo das Rotas

Método Endpoint Função Descrição
PATCH /customers/:IdCustomer InnCustomerPatch Atualiza cliente
PATCH /suppliers/:IdCustomer InnSuppliersPatch Atualiza fornecedor
PATCH /accounts-receivable/:IdCustomer InnAccountsReceivablePatch Atualiza contas a receber
PATCH /accounts-payable/:IdCustomer InnAccountsPayablePatch Atualiza contas a pagar
POST /sync InnSyncPost Registra sincronização
POST /jobs InnJobsPost Cria job
PATCH /jobs InnJobsPatch Atualiza job
POST /gettabledata InnGetTableData Consulta dados