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 |