Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Foram desenvolvidos dois pontos de entrada que permitem definir regras para determinar se um opcional deve ou não ser gravado, em complemento ao parâmetro MV_PLCAROP.

Funcionamento Geral

  • Ambos os pontos de entrada retornam a mesma estrutura.
  • A diferença entre eles está no tipo de beneficiário:

...

Esses pontos podem conter a mesma regra ou regras distintas, mas o objetivo final é sempre o mesmo: permitir ou não a gravação do opcional em processamento.Momento

Execução dos pontos de

...

entrada

  • Tanto o PLOPCPJ quanto o PLOPCPF são executados no momento da gravação dos opcionais.
  • O retorno do ponto de entrada define se o opcional em questão deve ou não ser gravado, de acordo com a regra implementada.

Exemplo de Execução

Se houver previsão de gravação de dois opcionais, por exemplo 0001 e 0002:

...

Ou seja, o processo é repetido para cada opcional individualmente.

Estrutura de Entrada

Os pontos de entrada recebem como parâmetro (PARAMIXB) um objeto JSON com os seguintes atributos:

AtributoDescrição
beneficiaryRegistrationMatrícula do beneficiário em que o opcional será gravado.
entityType

Tipo de entidade: PJ (Pessoa Jurídica) ou PF (Pessoa Física).

healthPlanCode

optionalCode

Código do opcional (produto) que está sendo processado no momento.
healthPlanVersion

optionalVersion

Código da versão do opcional (produto) que está sendo processado.


O retorno deve ser um objeto JSON com a seguinte estrutura:

AtributoDescrição
success.T. caso deva gravar o opcional; .F. caso não deva gravar o opcional
message

No caso de não permitir a gravação, uma mensagem da justificativa pode ser inserida, essa mensagem será visível no response do endpoint.

Bloco de código
languagedelphi
themeMidnight
titleExemplo de Utilização
linenumberstrue
#Include 'Totvs.ch'   

User Function 

...

PLOPCPF()
	
	Local oJRet

...

 := JsonObject():new()
	
	

...

If paramixm["beneficiaryRegistration"] == "00010001000153004" .AND. ;
	   paramixm["entityType "]	           

...

== 

...

"F"                 .AND. ;    
	   paramixm["optionalCode"]	           == "1234"              .AND. ;    
	   paramixm["optionalVersion"]	       == "001" 

		oJRet["success"] := .F.
		oJRet["message"] := "Beneficiário sem opcional"
	Else
		oJRet["success"] := .T.
		oJRet["message"] := ""
	EndIf
	

...

Return oJRet

05. ASSUNTOS RELACIONADOS

...