Árvore de páginas

Versões comparadas

Chave

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

...

Esta API retorna os dados da carteirinha do beneficiário informado, incluindo as imagens do cartão frente e verso. As informações relacionadas à montagem dos dados da carteirinha são retornadas, bem como campos customizados, permitindo uma configuração dinâmica da exibição do cartão no frontend.

Clique aqui para detalhes sobre como habilitar o serviço de APIs no Protheus.

02. ENDPOINT

Estado
subtletrue
colourBlue
titleGET
/totvsHealthPlans/familyContract/v1/beneficiaries/{subscriberId}/card

...

Campos do Json

Informações
iconfalse
Dica

200 - Operação realizada com sucesso

Retorna os dados da carteirinha do beneficiário, incluindo informações pessoais, planos de saúde, imagens do cartão e configurações de layout.

Expandir
title
CampoTipoDescriçãoCampo (Protheus)
fields 
objeto

Estado
subtletrue
titleobject



fields.
name 
name 

Estado
subtletrue
titlestring

Nome completo do beneficiário.BTS_NOMCAR ou BTS_NOMUSR
fields.socialName

Estado
subtletrue
titlestring

Nome social do beneficiário.

BTS_NOMSOC

fields.healthInsurerCode

Estado
subtletrue
titlestring

Código da operadora de saúde.

BA1_CODINT

fields.companyCode 

Estado
subtletrue
titlestring

Código da empresa.

BA1_CODEMP

fields.registrationCode 
string

Estado
subtletrue
titlestring

Código
Código
de registro do beneficiário.

BA1_MATRIC

fields.kinshipCode 

Estado
subtletrue
titlestring

Código de parentesco.

BA1_TIPREG

fields.digit 

Estado
subtletrue
titlestring

Dígito de identificação.

BA1_DIGITO

fields.nationalHealthCard 

Estado
subtletrue
titlestring

Número do cartão nacional de saúde

BTS_NRCRNA

fields.subscriberId 

Estado
subtletrue
titlestring

Identificador único do beneficiário.BA1_CODINT + BA1_CODEMP + BA1_MATRIC + BA1_TIPREG + BA1_DIGITO
fields.birthDate 
string - data

Estado
subtletrue
titleString (date)

Data de nascimento do beneficiário.

BA1_DATNAS

fields.cardValidity 
string - data

Estado
subtletrue
titleString (date)

Data
Data
de validade do cartão.

BA1_DTVLCR

fields.effectiveDate 

Estado
subtletrue
titleString (date)

string - data

Data de efetivação do plano de saúde.

BA1_DATINC

fields.cardCopy 

Estado
subtletrue
titlestring

Identificador da cópia do cartão.

BA1_VIACAR

fields.holderName 

Estado
subtletrue
titlestring

Nome do titular do plano.BTS_NOMCAR ou BTS_NOMUSR
fields.holderHealthInsurerCode 

Estado
subtletrue
titlestring

Código da operadora de saúde do titular.

BA1_CODINT

fields.holderCompanyCode 

Estado
subtletrue
titlestring

Código da empresa do titular.

BA1_CODEMP

fields.holderRegistrationCode
string

Estado
subtletrue
titlestring

Código de registro do titular.

BA1_MATRIC

fields.holderKinshipCode 

Estado
subtletrue
titlestring

Código de parentesco do titular.

BA1_TIPREG

fields.holderDigit 

Estado
subtletrue
titlestring

Dígito de identificação do titular.

BA1_DIGITO

fields.holderSubscriberId 

Estado
subtletrue
titlestring

Identificador único do titular.BA1_CODINT + BA1_CODEMP + BA1_MATRIC + BA1_TIPREG + BA1_DIGITO
fields.dependentName 

Estado
subtletrue
titlestring

Nome do dependente.BTS_NOMCAR ou BTS_NOMUSR
fields.dependentHealthInsurerCode 

Estado
subtletrue
titlestring

Código da operadora de saúde do dependente.

BA1_CODINT

fields.dependentCompanyCode

Estado
subtletrue
titlestring

Código da empresa do dependente.

BA1_CODEMP

fields.dependentRegistrationCode 

Estado

string

subtletrue
titlestring

Código de
Código de
registro do dependente.

BA1_MATRIC

fields.dependentKinshipCode 

Estado
subtletrue
titlestring

Código de parentesco do dependente.

BA1_TIPREG

fields.dependentDigit 

Estado
subtletrue
titlestring

Dígito de identificação do dependente.

BA1_DIGITO

fields.dependentSubscriberId 

Estado
subtletrue
titlestring

Identificador único do dependente.BA1_CODINT + BA1_CODEMP + BA1_MATRIC + BA1_TIPREG + BA1_DIGITO
fields.planCode 

Estado
subtletrue
titlestring

Código do plano.

BI3_CODIGO

fields.planDescription 

Estado
subtletrue
titlestring

Descrição do plano de saúde.

BI3_NREDUZ

fields.accommodationDescription 

Estado
subtletrue
titlestring

Descrição da acomodação do plano.

BI4_CODEDI

fields.coverageArea 

Estado

string

subtletrue
titlestring

Área
Área
de cobertura do plano de saúde.

BI3_ABRANG

fields.planRegulation 

Estado
subtletrue
titlestring

Tipo de regulamentação do plano.

BI3_APOSRG

fields.planCodeANS 

Estado
subtletrue
titlestring

Código do plano na ANS.

BI3_SUSEP ou BI3_SCPA

fields.planSegmentation 

Estado
subtletrue
titlestring

Segmentação do plano.

BI6_DESCRI

fields.subcontractCardName 

Estado
subtletrue
titlestring

Nome do cartão de subcontrato.

BQC_NOMCAR

fields.healthInsurerCodeANS 

Estado
subtletrue
titlestring

Código da operadora de saúde na ANS.

BA0_SUSEP

fields.healthInsurerName 

Estado
subtletrue
titlestring

Nome da operadora de saúde.

BA0_NOMINT

cardImage 
objeto

Estado

cardImage.front 

subtletrue
titleobject



cardImage.front 

Estado
subtletrue
titlestring

Imagem em base64 da frente do cartão (formato PNG).
cardImage.back 

Estado
subtletrue
titlestring

Imagem em base64 da verso do cartão (formato PNG).
layoutConfig 

Estado
subtletrue
titleobject

objeto



layoutConfig.front 
array de objetos

Estado
subtletrue
titleobject[]

Configurações de layout para a frente do cartão.
layoutConfig.front.css 

Estado
subtletrue
titlestring

Estilo CSS para o campo.
layoutConfig.front.values
array de objetos

Estado
subtletrue
titleobject[]

Valores a serem exibidos no campo.
layoutConfig.front.values.type

Estado
subtletrue
titlestring

Tipo do campo, podendo ser: custom, field ou text.
layoutConfig.front.values.value

Estado
subtletrue
titlestring

Valor do campo.
layoutConfig.back
array de objetos

Estado
subtletrue
titleobject[]

Configurações de layout para o verso do cartão.
layoutConfig.back.css 

Estado
subtletrue
titlestring

Estilo CSS para o campo.
layoutConfig.back.values
array de objetosValores a serem exibidos no campo.

Estado
subtletrue
titleobject[]

Valores a serem exibidos no campo.
layoutConfig.back.values.type

Estado
subtletrue
titlestring

Tipo do campo, podendo ser: custom, field ou text.
layoutConfig.back.values.value

Estado
subtletrue
titlestring

Valor do campo.
customFields 

Estado
subtletrue
titleobject[]

array de objetos



customFields.field

Estado
subtletrue
titlestring

Nome do campo customizado.
customFields.value
string

Estado
subtletrue
titlestring

Valor do
Valor do
Campo
campo customizado.
Bloco de código
Tipo
language
DescriçãoCampo (Protheus)fields objetofields.name stringNome completo do beneficiário.BTS_NOMCAR ou BTS_NOMUSRfields.socialNamestringNome social do beneficiário.

BTS_NOMSOC

fields.healthInsurerCodestringCódigo da operadora de saúde.

BA1_CODINT

fields.companyCode stringCódigo da empresa.

BA1_CODEMP

fields.registrationCode stringCódigo de registro do beneficiário.

BA1_MATRIC

fields.kinshipCode stringCódigo de parentesco.

BA1_TIPREG

fields.digit stringDígito de identificação.

BA1_DIGITO

fields.nationalHealthCard stringNúmero do cartão nacional de saúde

BTS_NRCRNA

fields.subscriberId stringIdentificador único do beneficiário.BA1_CODINT + BA1_CODEMP + BA1_MATRIC + BA1_TIPREG + BA1_DIGITOfields.birthDate string - dataData de nascimento do beneficiário.

BA1_DATNAS

fields.cardValidity string - dataData de validade do cartão.

BA1_DTVLCR

fields.effectiveDate string - dataData de efetivação do plano de saúde.

BA1_DATINC

fields.cardCopy stringIdentificador da cópia do cartão.

BA1_VIACAR

fields.holderName stringNome do titular do plano.BTS_NOMCAR ou BTS_NOMUSRfields.holderHealthInsurerCode stringCódigo da operadora de saúde do titular.

BA1_CODINT

fields.holderCompanyCode stringCódigo da empresa do titular.

BA1_CODEMP

fields.holderRegistrationCodestringCódigo de registro do titular.

BA1_MATRIC

fields.holderKinshipCode stringCódigo de parentesco do titular.

BA1_TIPREG

fields.holderDigit stringDígito de identificação do titular.

BA1_DIGITO

fields.holderSubscriberId stringIdentificador único do titular.BA1_CODINT + BA1_CODEMP + BA1_MATRIC + BA1_TIPREG + BA1_DIGITOfields.dependentName stringNome do dependente.BTS_NOMCAR ou BTS_NOMUSRfields.dependentHealthInsurerCode stringCódigo da operadora de saúde do dependente.

BA1_CODINT

fields.dependentCompanyCodestringCódigo da empresa do dependente.

BA1_CODEMP

fields.dependentRegistrationCode stringCódigo de registro do dependente.

BA1_MATRIC

fields.dependentKinshipCode stringCódigo de parentesco do dependente.

BA1_TIPREG

fields.dependentDigit stringDígito de identificação do dependente.

BA1_DIGITO

fields.dependentSubscriberId stringIdentificador único do dependente.BA1_CODINT + BA1_CODEMP + BA1_MATRIC + BA1_TIPREG + BA1_DIGITOfields.planCode stringCódigo do plano.

BI3_CODIGO

fields.planDescription stringDescrição do plano de saúde.

BI3_NREDUZ

fields.accommodationDescription stringDescrição da acomodação do plano.

BI4_CODEDI

fields.coverageArea stringÁrea de cobertura do plano de saúde.

BI3_ABRANG

fields.planRegulation stringTipo de regulamentação do plano.

BI3_APOSRG

fields.planCodeANS stringCódigo do plano na ANS.

BI3_SUSEP ou BI3_SCPA

fields.planSegmentation stringSegmentação do plano.

BI6_DESCRI

fields.subcontractCardName stringNome do cartão de subcontrato.

BQC_NOMCAR

fields.healthInsurerCodeANS stringCódigo da operadora de saúde na ANS.

BA0_SUSEP

fields.healthInsurerName stringNome da operadora de saúde.

BA0_NOMINT

cardImage objetocardImage.front stringImagem em base64 da frente do cartão (formato PNG).cardImage.back stringImagem em base64 da verso do cartão (formato PNG).layoutConfig objetolayoutConfig.front array de objetosConfigurações de layout para a frente do cartão.layoutConfig.front.css stringEstilo CSS para o campo.layoutConfig.front.valuesarray de objetosValores a serem exibidos no campo.layoutConfig.front.values.typestringTipo do campo, podendo ser: custom, field ou text.
c#
themeMidnight
titleExemplo
collapsetrue
{

   "fields": {
    "name": "Marli Brenda Viana",
    "socialName": "",
    "healthInsurerCode": "0001",
    "companyCode": "0101",
    "registrationCode": "000007",
    "kinshipCode": "53",
    "digit": "5",
    "nationalHealthCard": "",
    "subscriberId": "00010101000007535",
    "birthDate": "1997-10-07
layoutConfig.front.values.valuestringValor do campo.layoutConfig.backarray de objetosConfigurações de layout para o verso do cartão.layoutConfig.back.css stringEstilo CSS para o campo.layoutConfig.back.valuesarray de objetosValores a serem exibidos no campo.layoutConfig.back.values.typestringTipo do campo, podendo ser: custom, field ou text.layoutConfig.back.values.valuestringValor do campo.customFields array de objetoscustomFields.fieldstringNome do campo customizado.customFields.valuestringValor do campo customizado.
Bloco de código
languagec#
themeMidnight
titleExemplo
collapsetrue
{

   "fields": {
    "name": "Marli Brenda Viana",
    "socialNamecardValidity": "",
    "healthInsurerCodeeffectiveDate": "00012020-12-28",
    "companyCodecardCopy": "010106",
    "registrationCodeholderName": "000007LUCAS NONATO",
    "kinshipCodeholderHealthInsurerCode": "53",
    "digitholderCompanyCode": "50101",
    "nationalHealthCardholderRegistrationCode": "000007",
    "subscriberIdholderKinshipCode": "0001010100000753501",
    "birthDateholderDigit": "1997-10-072",
    "cardValidityholderSubscriberId": "00010101000007012",
    "effectiveDate": "2020-12-28dependentName": "Marli Brenda Viana",
    "cardCopydependentHealthInsurerCode": "060001",
    "holderNamedependentCompanyCode": "LUCAS NONATO0101",
    "holderHealthInsurerCodedependentRegistrationCode": "000007",
    "holderCompanyCodedependentKinshipCode": "010153",
    "holderRegistrationCodedependentDigit": "0000075",
    "holderKinshipCodedependentSubscriberId": "0100010101000007535",
    "holderDigitplanCode": "20001",
    "holderSubscriberIdplanDescription": "00010101000007012PLANO DOS GRANDE",
    "dependentNameaccommodationDescription": "Marli Brenda VianaINDIVIDUAL",
    "dependentHealthInsurerCodecoverageArea": "0001GRUPO DE ESTADOS",
    "dependentCompanyCodeplanRegulation": "0101PLANO REGULAMENTADO",
    "dependentRegistrationCodeplanCodeANS": "000007123456",
    "dependentKinshipCodeplanSegmentation": "53AMBULATORIAL",
    "dependentDigitsubcontractCardName": "5",
    "dependentSubscriberIdhealthInsurerCodeANS": "00010101000007535888888",
    "planCodehealthInsurerName": "0001OPERADORA SAÚDE 888888",
  },
  "planDescriptioncardImage": "PLANO DOS GRANDE",{
    "accommodationDescriptionfront": "INDIVIDUAL",
    "coverageAreaback": "GRUPO DE ESTADOS",""
  },
  "layoutConfig": {
    "planRegulationfront": "PLANO REGULAMENTADO",
[
     "planCodeANS": "123456",
 {
        "planSegmentationcss": "AMBULATORIAL",
    "subcontractCardName": "",
font-size: 9px;font-weight: bold;top: 50px; width: 200px; left: 300px;",
        "healthInsurerCodeANSvalues": "888888",[
     "healthInsurerName": "OPERADORA SAÚDE 888888"     {
  },
     "cardImage": {
    "fronttype": "custom",
            "backvalue": "meuCampo"
          },
       "layoutConfig": {]
     "front": [ },
      {
        "css": "font-size: 9px;font-weight: bold;top: 50px70px; width: 200px; left: 300px20px;",
        "values": [
          {
            "type": "customfield",
            "value": "meuCampoplanDescription"
          },
        ]
      },
      {
        "css": "font-size: 9px;font-weight: bold;top: 70px; width: 200px; left"type": 20px;"field",
            "valuesvalue": ["accommodationDescription"
          {}
        ]
     "type": "field",
 },
      {
        "css": "font-size: 8px;top: 117px; width:   "value"70px; left: 330px;"planDescription",
          },"values": [
          {
            "type": "fieldtext",
            "value": "accommodationDescriptionVÁLIDO ATÉ:"
          }
        ]
      }
    ],
    "back": [
      {
        "css": "font-size: 8px9px;font-weight: bold;top: 117px70px; width: 70px200px; left: 330px100px;",
        "values": [
          {
            "type": "textfield",
            "value": "VÁLIDO ATÉ:planDescription"
          },
        ]
  {
    }
    ],
    "backtype": ["field",
      {
        "css": "font-size: 9px;font-weight: bold;top: 70px; width: 200px; left"value": 100px;"accommodationDescription",
        "values": [
  }
        ]
      }
    ]
  {},
  "customFields": [
    {
      "typefield": "fieldmeuCampo",
      "value": "Meu valor customizado"
      "value": "planDescription"
          },
          {
            "type": "field",
            "value": "accommodationDescription"
          }
        ]
      }
    ]
  },
  "customFields": [
    {
      "field": "meuCampo",
      "value": "Meu valor customizado"
    }
  ]
}}
  ]
}
Nota

Campos Customizados

O campo customFields permite que o cliente adicione campos personalizados à resposta, oferecendo flexibilidade para configurar os dados da carteirinha conforme necessário. Utilize o ponto de entrada: PE PTBENCARD Campos Customizados para Carteirinha Virtual no Portal do Beneficiário


Imagens do Cartão

As imagens do cartão (frente e verso) são fornecidas em formato PNG, com tamanho de 420x240 pixels. As imagens são nomeadas como front-card.png e back-card.png e estão localizadas no diretório do servidor:

RootPath: \portais-saude\portal-beneficiario\card\


Arquivo de Configuração de Layout

No mesmo diretório das imagens, um arquivo de configuração chamado layout-config.json. Este arquivo contém as definições para os campos que aparecerão no cartão, incluindo o layout de posicionamento e estilo CSS.

Para mais detalhes sobre a configuração da imagem e do layout, consulte a documentação Configuração do Layout Customizado da Carteirinha

Informações
iconfalse
Aviso

404 - Beneficiário não encontrado

Caso o subscriberId informado não seja encontrado no sistema, a API retornará o código de erro E001 com uma mensagem detalhada.

CampoTipoDescrição
code

Estado
subtletrue
titlestring

Código identificador do erro.
message

Estado
subtletrue
titlestring

Literal no idioma da requisição descrevendo o erro para o usuário.
detailedMessage

Estado
subtletrue
titlestring

Mensagem técnica e mais detalhada do erro
Informações
iconfalse
Aviso

404 - Beneficiário não encontrado

Caso o subscriberId informado não seja encontrado no sistema, a API retornará o código de erro E001 com uma mensagem detalhada
.
Bloco de código
languagec#
themeMidnight
titleExemplo
collapsetrue
{
  "code": "E001",
  "message": "Não foi possível localizar o beneficiário informado no sistema. Por favor, verifique os dados fornecidos e tente novamente.",
  "detailedMessage": "O path informado (subscriberId) não foi encontrado na tabela de beneficiários (BA1). A consulta considerou os seguintes campos: BA1_CODINT, BA1_CODEMP, BA1_MATRIC, BA1_TIPREG e BA1_DIGITO. Verifique os dados enviados e tente novamente."
}

...