Cloud Jasmin DesenvolvimentoConceitos
DesenvolvimentoConceitos
Conceitos
Voltar | Lista de artigos

Entidades base e extensões

Última alteração a 26/08/2022

O conceito de entidade e entidade extensão (extensões) permite que determinada entidade de negócio – uma empresa que tem uma relação comercial ou de outro tipo com a empresa - assuma vários “papéis” no sistema e seja sempre gerida com uma única identidade.

Um exemplo deste conceito são as empresas que podem ser em simultâneo clientes e fornecedores.

Os dados comuns da empresa são mantidos na entidade base e os dados particulares de cada um desses papéis são mantidos nas respetivas extensões. É possivél inclusivamente que se adicione uma nova extensão, entre as disponíveis, a determinada entidade em qualquer momento.

Os dois exemplos mais importantes são as entidades Parceiro (Partner) e o Item.

No primeiro caso a entidade base é a Party, que incluirá os dados comuns da empresa, como o seu nome, morada, contactos, etc. As extensão são CustomerParty (cliente), SupplierParty (fornecedor), FinancialInstitution (instituição financeira) e SalesPerson (vendedor).

No caso do artigo, a entidade base (Item) contém os dados comuns (descrição, unidades, etc.) e as extensões correspondem aos dados necessários para gerir esse artigo nas outras áreas da aplicação: Sales (vendas), Purchases (compras) e  Materials (inventário).

API

A Web API disponibiliza os endpoints necessários para gerir estes dois tipos de entidades. É possível:

  • Criar uma nova entidade base.
  • Criar uma nova entidade base e uma extensão.
  • Adicionar uma extensão a uma entidade existente.
  • Remover uma extensão de uma entidade existente.

Criar entidades base

Este caso é semelhante à criação de um registo em qualquer tipo de entidade. Utiliza-se o endpoint da entidade base (Item no exemplo) como outro qualquer (POST):

https://baseurl/api/{Account}/{Subscription}/businessCore/items

Criar entidades base e de extensão

Ao criar um registo na extensão estaremos na realidade a criar dois registos, um na entidade base e outro na extensão. Por isso utiliza-se o endpoint da extensão (POST):

https://baseurl/api/{Account}/{Subscription}/salesCore/salesItems

A resource usada neste endpoint é na realidade uma conjugação das entidades Item e SalesItem.

Adicionar extensão a entidades existentes

Pode adicionar-se uma extensão a uma entidade base desde que essa extensão não exista já.

Para tal, é necessário passar no body do pedido, o atributo "baseEntityKey" que corresponde à chave natural do registo.

O endpoint será semelhante ao seguinte (POST):

https://baseurl/api/{Account}/{Subscription}/salescore/salesitems/extension
Adicionar aos favoritos ou partilhar este artigo
Esta página foi útil?
Obrigado pelo seu voto.

login para deixar a sua opinião.

Obrigado pelo seu feedback. Iremos analisá-lo para continuarmos a melhorar!
Artigos Relacionados
Quais são os endpoints da Web API? Características da Web API Primavera Formato dos pedidos e respostas Mensagens de erro Características dos recursos da Web API