Pular para o conteúdo principal

Guia de integração — Workspace CRM do cliente

Introdução​

Este guia descreve os endpoints de leitura sob /gateway/crm/customers/{keyId} que alimentam a ficha CRM do cliente: cabeçalho da entidade, contactos, moradas adicionais e histórico paginado de vendas e recibos com totais agregados.

Para saldo por escalões de vencimento, contas a receber e liquidação por recibo, consulte o Guia de conta corrente CRM.

O prefixo público é /gateway.


Conceitos​

Cliente (entityKeyId)​

Identificador textual do cliente (até 25 caracteres). Todas as rotas deste guia usam este valor como keyId na URL.

Chave composta do documento​

Os documentos de venda e recibo no workspace CRM são identificados por documentTypeId, serieId e number. Use estes três parâmetros de rota para carregar detalhes de pagamento ou linhas de corpo.


Endpoints​

MétodoURLDescrição
GET/gateway/crm/customers/{keyId}Cabeçalho da entidade, contactos e moradas adicionais
GET/gateway/crm/customers/{keyId}/receiptsCabeçalhos de recibos paginados e agregado paymentsAmount
GET/gateway/crm/customers/{keyId}/receipts/{documentTypeId}/{serieId}/{number}/payment-detailsLinhas de pagamento agrupadas por tipo
GET/gateway/crm/customers/{keyId}/salesCabeçalhos de vendas paginados e agregado salesTotal
GET/gateway/crm/customers/{keyId}/sales/{documentTypeId}/{serieId}/{number}/linesLinhas de corpo de um documento de venda

Parâmetro de rota: keyId — entityKeyId do cliente.

Vendas e recibos são carregados sob demanda: o endpoint do workspace devolve apenas cabeçalho, contactos e moradas. Chame /receipts ou /sales quando o utilizador abrir esses separadores.

Resposta do workspace (200 OK)​

{
"entity": {
"keyId": "CLI001",
"name": "Cliente Exemplo Lda",
"balance": 1250.5,
"limitCredit": 5000,
"lastPurchase": "2026-05-20T00:00:00Z"
},
"contacts": [
{
"id": 1,
"name": "João Silva",
"email1": "joao@exemplo.pt",
"mobilePhone1": "+351900000000"
}
],
"addresses": [
{
"id": 1,
"addressLine1": "Rua Exemplo 1",
"city": "Lisboa",
"postalCode": "1000-001"
}
]
}

O objecto entity inclui campos de resumo financeiro (balance, limitCredit, lastPurchase) juntamente com morada e contactos.

Vendas e recibos paginados​

Ambos os endpoints de listagem aceitam parâmetros de consulta opcionais:

ParâmetroTipoDescrição
pageintNúmero da página (base 1)
pageSizeintRegistos por página

A resposta segue a estrutura da listagem paginada mais um total agregado:

EndpointCampo agregadoDescrição
/receiptspaymentsAmountSoma dos totais de recibo em todos os documentos correspondentes
/salessalesTotalSoma com sinal dos totais de venda (fluxo de caixa aplicado)

Cada item de data inclui documentTypeId, serieId, number, documentIdentifier, createDate e totalAmount. Use a chave de três partes para abrir os endpoints de detalhe.

Campos do cabeçalho de recibo (resumo): otherValues, virtualTotalAmount, salesmanName, observation.

Campos do cabeçalho de venda (resumo): salesmanId, salesmanName, headerDiscountPercent, headerDiscountAmount, observation.

Detalhes de pagamento do recibo​

Devolve um array de linhas de pagamento agrupadas por tipo:

CampoDescrição
paymentTypeIdIdentificador do tipo de pagamento
paymentTypeDescriptionDescrição do tipo de pagamento
netAmountMontante líquido para este tipo
paymentMechanismCódigo do mecanismo de pagamento
currencyId, currencyRateMoeda e taxa de câmbio
isChangeIndica se a linha representa troco
bankDetailDados bancários quando aplicável (conta, cheque, data diferida, …)

Linhas de corpo da venda​

Devolve um array de linhas do documento:

CampoDescrição
itemKeyIdIdentificador do artigo
descriptionDescrição da linha
quantityQuantidade
taxIncludedPricePreço unitário com IVA
discountPercentPercentagem de desconto da linha
lineTotalTotal da linha

Estrutura da listagem paginada​

CampoTipoDescrição
totalCountintTotal de registos
pageSizeintTamanho da página
currentPageintPágina actual (base 1)
totalPagesintTotal de páginas
dataarrayDocumentos da página

As respostas de /receipts e /sales acrescentam ainda paymentsAmount ou salesTotal, respectivamente.


Exemplos​

Workspace do cliente

GET /gateway/crm/customers/CLI001

Ver mais →

Recibos paginados

GET /gateway/crm/customers/CLI001/receipts?page=1&pageSize=20

Ver mais →

Detalhes de pagamento de um recibo

GET /gateway/crm/customers/CLI001/receipts/5/1/100/payment-details

Ver mais →

Vendas paginadas

GET /gateway/crm/customers/CLI001/sales?page=1&pageSize=20

Ver mais →

Linhas de corpo de uma venda

GET /gateway/crm/customers/CLI001/sales/2/1/250/lines

Ver mais →


Fluxo recomendado​

  1. Identificar o cliente — obter entityKeyId.
  2. Abrir ficha CRM — GET /gateway/crm/customers/{keyId} para cabeçalho, contactos e moradas.
  3. Histórico de vendas ou recibos — GET .../sales ou GET .../receipts ao abrir os separadores.
  4. Detalhar documento — usar documentTypeId, serieId e number nos endpoints de linhas ou pagamentos.

Para consultar saldo, dívidas abertas e registar liquidações, siga o Guia de conta corrente CRM.


Erros frequentes​

Código HTTPSituaçãoAcção sugerida
401Token em falta ou inválidoAutenticar no gateway
404keyId ou chave de documento inexistenteConfirmar identificadores

Conclusão​

O workspace CRM do cliente expõe leitura da ficha CRM e do histórico comercial sob /gateway/crm/customers/{keyId}. Carregue vendas e recibos sob demanda e use a chave composta para aceder a linhas de corpo e detalhes de pagamento.


Última actualização: 2 de Junho de 2026