| Atributo | Detalhe |
| Produto | Datasul |
| Ocorrência | Documentação de API |
| Nome Físico | finapi/apiCostCenterIntegraMePublic.p |
Esta API tem como propósito realizar a integração de Centros de Custo entre o ERP Datasul e a plataforma Mercado Eletrônico. Ela permite a consulta individual (GET) ou em lote (Query) de centros de custo, controlando o status de integração e sinalizando inclusões, alterações ou exclusões através de uma tabela de controle de integração (fgl_integr_ccusto_merc).
Integração: Baseia-se na tabela fgl_integr_ccusto_merc para rastrear o que já foi enviado. Caso um centro de custo seja excluído no Datasul, a API identifica a ausência e gera um registro de "exclusão" para o Mercado Eletrônico.
Contexto: Utiliza variáveis globais de usuário e empresa para filtrar os dados e registrar auditoria.
Chamada Recomendada:
RUN finapi/apiCostCenterIntegraMePublic.p PERSISTENT SET h-api.
Requisito: É necessário informar o identificador da integração (cod_integr_ccusto_merc) via pathParams. O código é composto pelo Centro de Custo - Empresa - Plano de Centro de Custo. Exemplo: CentroCusto1004-Emp10-PlanoCentroCustoA
Descrição: Retorna os detalhes de um Centro de Custo específico baseado no ID de integração. O método verifica se o registro está ativo na data atual (validade) e atualiza a tabela de controle de integração para o status "Em Processamento". Caso o Centro de Custo não exista mais na tabela principal (ccusto), o retorno é montado com status desativado e tipo de transação de exclusão.
Parâmetros
| Parâmetro: | Tipo: | Input/Output: | Descrição: |
|---|---|---|---|
| oInput | JsonObject | INPUT | Objeto JSON contendo os parâmetros da requisição (ID do registro). |
| oOutput | JsonObject | OUTPUT | Objeto JSON contendo os dados do Centro de Custo e sua respectiva empresa. |
| RowErrors | Temp-table | OUTPUT | Tabela contendo erros de negócio ou infraestrutura encontrados durante a execução. |
Detalhamento dos parâmetros de entrada
pathParams
id: Código identificador da integração na tabela fgl_integr_ccusto_merc.
Exemplo de entrada
{
"pathParams": [
"1-100-01"
]
}
Exemplo de saída (Inferido)
{
"transaction": 2,
"clientCostCenterId": "1-100-01",
"description": "Centro de Custo Administrativo",
"isDeactivated": false,
"status": false,
"businessOrganizations": [
{
"code": "1",
"entityType": "EMPRESA"
}
]
}
Requisito: Contexto de empresa do usuário logado e plano de centro de custo ativo na data atual.
Descrição: Realiza a listagem de Centros de Custo vinculados ao plano de centro de custo da empresa do usuário. O método permite filtragem por descrição através do parâmetro search ou filter. Para cada registro encontrado, a API verifica a necessidade de integração (se houve alteração de descrição ou validade) e gera a estrutura JSON necessária para o Integra.Me.
Parâmetros
| Parâmetro: | Tipo: | Input/Output: | Descrição: |
|---|---|---|---|
| oInput | JsonObject | INPUT | Filtros de pesquisa, ordenação e paginação. |
| aOutput | JsonArray | OUTPUT | Lista de objetos JSON representando os Centros de Custo encontrados. |
| lHasNext | Logical | OUTPUT | Indica se existe uma próxima página de dados a ser consultada. |
| RowErrors | Temp-table | OUTPUT | Tabela de erros retornada em caso de falha na consulta. |
Detalhamento dos parâmetros de entrada
queryParams
search: Termo de pesquisa para filtrar pela descrição do centro de custo.
pageSize: Quantidade de registros por página.
start: Registro inicial para paginação.
Exemplo de entrada
{
"queryParams": {
"search": ["Administrativo"],
"pageSize": 10,
"start": 1
}
}
Utilizada internamente para mapear os dados que serão convertidos para o formato JSON do Mercado Eletrônico.
| Campo | Tipo | Serialize-name | Descrição |
| ttv_cod_id | character | clientCostCenterId | ID único de integração (Ex: CC-Empresa-Plano) |
| ttv_des_tit_ctbl | character | description | Descrição do Centro de Custo |
| ttv_log_desativado | logical | isDeactivated | Indica se o CC está fora da validade |
| ttv_log_status | logical | status | Status da integração |
| ttv_num_transaction | integer | transaction | Tipo da transação (1-Inclusão, 2-Alteração, 3-Exclusão) |
| ttv_cod_empresa | character | - | Código da empresa (interno) |
| ttv_cod_plano_ccusto | character | - | Código do plano de Centro de Custo (interno) |
| ttv_cod_ccusto | character | - | Código do Centro de Custo (interno) |
Tabela padrão do framework UT-API para retorno de mensagens de erro.
| Campo | Tipo | Descrição |
| ErrorNumber | integer | Número da mensagem de erro no ERP |
| ErrorDescription | character | Descrição amigável do erro ocorrido |
| ErrorField | character | Campo que originou o erro (se aplicável) |