Árvore de páginas


CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
    1. Titles - Retorna os títulos dos beneficiários/empresas
    2. BankSlip - Retorna os dados do boleto bancário
    3. BankSlip/Base64 - Retorna o boleto bancário em arquivo base 64
  3. Tela api titles
    1. Outras Ações / Ações relacionadas
  4. Tela api titles
    1. Principais Campos e Parâmetros
  5. Tabelas utilizadas


01. VISÃO GERAL

API para a entidade titles (títulos) do produto TOTVS Saúde Planos Linha Protheus.

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


Autenticação das APIs

API para obtenção do token de acesso às API’s REST no Protheus

De posse então do access_token obtido na api token, basta fazer a requisição à API desejada incluindo no cabeçalho o parâmetro Authorization com o valor Bearer mais o token de acesso.


02. EXEMPLO DE UTILIZAÇÃO

Titles - Retorna os títulos dos beneficiários/empresas

Retorna os títulos da empresa ou do beneficiário no Financeiro (Contas a receber).

/totvsHealthPlans/invoicing/v1/titles

GET

Authorization (header)

string

Cabeçalho usado para autorização das requisições (Bearer token)*required

Content-Type (header)

string

'application/json' é o formato do conteúdo*required 
healthInsurerCode (query)stringCódigo da operadora (E1_CODINT)

*required
(Quando o subcriberId não for informado)

companyCode (query)stringCódigo da empresa (E1_CODEMP)*required
(Quando o subcriberId não for informado)
subscriberId (query)stringMatricula do beneficiário (BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITO)
familyCode (query)string

Matricula da família (E1_MATRIC)

Obs: Filtro para títulos referente a família do beneficiário.


contractCode (query)string

Contrato da empresa (E1_CONEMP)

Obs: Filtro para títulos referente a empresa


contractVersionCode (query)string

Versão do contrato (E1_VERCON)

Obs: Filtro para títulos referente a empresa


subcontractCode (query)string

Subcontrato do contrato da empresa (E1_SUBCON)

Obs: Filtro para títulos referente a empresa


subcontractVersionCode (query)string

Versão do subcontrato (E1_VERSUB)

Obs: Filtro para títulos referente a empresa


type (query)stringTipo do título (E1_TIPO), pode ser enviado mais de um tipo. Ex: NCC,DP
status (query)stringStatus do título (E1_STATUS)
situation (query)string

FIltro dos títulos pela situação, sendo:

  • 0 = Carteira
  • 1 = Cob.Simples
  • 2 = Descontada
  • 3 = Caucionada
  • 4 = Vinculada
  • 5 = Advogado;6=Judicial   

Pode ser informado mais de uma situação, ex: 2,3,4                           


page (query)

string

Valor numérico (maior que zero) representando a página solicitada
pageSize (query)

string

Valor numérico (maior que zero) representando o total de registros retornados na consulta
order (query)

string

Lista de campos para ordenação, separada por virgula (,).
fields (query)

string

Lista com o nome das propriedades JSON que serão retornadas.
filter (query)

string

Filtros seguindo o padrão ODATA

Body


Não possui body!

hasNextbooleanIndica se ainda existem registros a serem retornados
*required
remainingRecordsintegerQuantidade de registros ainda existem para retorno
*required
itemsarrayLista de títulos retornados

items.customer_idstringCódigoE1_CLIENTE*required
items.customer_storestringDescriçãoE1_LOJA*required
items.customer_namestringTipo de grupo (Pessoa física ou jurídica)E1_NOMCLI
items.issue_datestring (date)Data de Emissão do TituloE1_EMISSAO*required
items.prefixstringPrefixo do tituloE1_PREFIXO
items.numberstringNumero do TituloE1_NUM*required
items.parcelstringParcela do TituloE1_PARCELA
items.typestringTipo do titulo           E1_TIPO*required
items.base_monthstringMês Base    E1_MESBASE
items.base_yearstringAno BaseE1_ANOBASE
items.real_due_datestring (date)Vencimento real do TituloE1_VENCREA*required
items.amountnumber (double)Valor do Titulo          E1_VALOR*required
items.balancenumber (double)Saldo a ReceberE1_SALDO
items.net_valuenumber (double)Valor Liquido da BaixaE1_VALLIQ
items.low_datestring (date)Data de Baixa do TituloE1_BAIXA
items.statusstringStatus do Titulo

Sendo:

  • A = Aberto
  • P = Baixado Parcial
  • B = Baixado

items.title_idstringChave de busca do TituloE1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO*required
items.situationstringSituação do tituloE1_SITUACA
items.linksarray

links relacionados ao recurso títles (Padrão HATEOAS):

  • rel: bankSlip
  • rel: bankSlip/base64

*required
Exemplo
{
    "items": [
        {
            "customer_id": "PLS103",
            "customer_store": "01",
            "customer_name": "ARTHUR E BETINA PAES",
            "issue_date": "2021-04-05",
            "prefix": "PLS",
            "number": "000007027",
            "parcel": "",
            "type": "DP",
            "base_month": "04",
            "base_year": "2021",
            "real_due_date": "2021-04-26",
            "amount": 30351.4,
            "balance": 0,
            "net_value": 28541.08,
            "low_date": "2022-12-20",
            "status": "B",
            "title_id": "PLS000007027+DP",
			"situation": "1",
            "links": [
                {
                    "rel": "bankSlip",
                    "href": "/totvsHealthPlans/invoicing/v1/titles/PLS000007027+DP/bankSlip"
                },
                {
                    "rel": "bankSlip/base64",
                    "href": "/totvsHealthPlans/invoicing/v1/titles/PLS000007027+DP/bankSlip/base64"
                }
            ]
        }
    ],
    "hasNext": true,
    "remainingRecords": 11
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.
Exemplo
{
    "code": "E001",
    "message": "Existem chaves obrigatórias que não foram informadas.",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E001-406",
            "message": "Chave health-insurer-code obrigatória",
            "detailedMessage": "Não foi informado no queryParams da requisição a chave health-insurer-code."
        }
    ]
}


BankSlip - Retorna os dados do boleto bancário

Retorna os dados no json do boleto bancário informado. 

/totvsHealthPlans/invoicing/v1/titles/{titleId}/bankSlip

GET

Authorization (header)

string

Cabeçalho usado para autorização das requisições (Bearer token)*required

Content-Type (header)

string

'application/json' é o formato do conteúdo*required
titleId (path)stringChave do Titulo (E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO)*required
fields (query)

string

Lista com o nome das propriedades JSON que serão retornadas.
expand (query)stringLista com o nome das propriedades para expandir, descritos no campo _expandables da api.

Body


Não possui body!

digitableLinestringLinha digitável

dueDatestring (date)Vencimento

documentDatestring (date)Data do Documento

documentNumberstringNro.Documento

documentTypestringEspécie Doc.

acceptancestringAceite

processingDatestring (date)Data do Processamento

documentValuenumber (double)(=)Valor do Documento

otherAdditionsnumber (double)(+)Outros Acréscimos

discountnumber (double)(-)Desconto/Abatimento

competenceMonthstringMês Competencia

competenceYearstringAno Competencia

assignorobject (json)Operadora Saúde - Cedente do boleto

assignor.namestringNome

assignor.addressstringEndereço

assignor.addressComplementstringComplemento de Endereço

assignor.districtstringBairro

assignor.cityCodeResidencestringCidade

assignor.stateAbbreviationstringEstado

assignor.zipCodestringCEP

assignor.phoneNumberstringTelefone

assignor.cnpjstringCNPJ

assignor.codeSusepstringCódigo SUSEP - ANS

assignor.observationstringObservação

assignor.instructionsstringInstruções/Texto de responsabilidade do cedente

draweeobject (json)Recibo do Sacado

drawee.namestringNome do Cliente

drawee.codestringCódigo do Cliente

drawee.cpfstringCPF (Para pessoa física)

drawee.cnpjstringCNPJ (Para pessoa jurídica)

drawee.addressstringEndereço do Cliente

drawee.districtstringBairro do Cliente

drawee.cityCodeResidencestringCidade

drawee.stateAbbreviationstringEstado

drawee.zipCodestringCEP

bankobject (json)Banco

bank.namestringNome do Banco

bank.codestringCódigo do Banco

bank.agencyAssignorCodestringAgência/Código Cedente

bank.ourNumberstringNosso Número

bank.walletCodestringCarteira

_expandablesarray

Propriedades expansíveis:

  • billingDetails
  • openMonths
  • users
  • userUsage


billingDetailsarrayDetalhes da Cobrança dos beneficiários

billingDetails.subscriberIdstringMatricula do Beneficiário

billingDetails.namestringNome do Beneficiário

billingDetails.compositionsarrayComposições do título do Beneficiário

billingDetails.compositions.typeCodestringCódigo do lançamento

billingDetails.compositions.typeDescriptionstringDescrição do lançamento

billingDetails.compositions.valuenumber (double)Valor

billingDetails.compositions.numberANSstringNúmero na ANS

openMonthsarrayMeses em aberto

openMonths.monthstringMês em aberto

openMonths.yearstringAno em aberto

usersarrayUsuários (Beneficiários da Família)

users.recordTypestringTipo de Registro do Beneficiário

users.namestringNome do Beneficiário

users.effectiveDatestring (date)Data de Inclusão

userUsagearrayDetalhes da Utilização

userUsage.subscriberNamestringNome do Beneficiário

userUsage.healthProviderNamestringNome da Rede de Atendimento

userUsage.procedureCodestringCódigo do Procedimento

userUsage.procedureNamestringDescrição do Procedimento

userUsage.executionDatestring (date)Data Utilização

userUsage.quantitynumber (double)Quantidade

userUsage.coPaymentValuenumber (double)Valor Total

Exemplo
{
    "digitableLine": "",
    "dueDate": "2022-10-17",
    "documentDate": "2023-05-26",
    "documentNumber": "000007042",
    "documentType": "R$",
    "acceptance": "N",
    "processingDate": "2022-10-17",
    "documentValue": 0,
    "otherAdditions": 0,
    "discount": 0,
    "competenceMonth": "01",
    "competenceYear": "2022",
    "assignor": {
        "name": "OPERADORA 417505",
        "address": "RUA COPACABANA",
        "addressComplement": "",
        "district": "SAO PAULO",
        "cityCodeResidence": "SAO PAULO",
        "stateAbbreviation": "SP",
        "zipCode": "02461000",
        "phoneNumber": "",
        "cnpj": "54097504000109",
        "codeSusep": "417505",
        "observation": "",
        "instructions": ""
    },
    "drawee": {
        "name": "VITOR MIGUEL FREITAS",
        "code": "TMSWBI",
        "cpf": "40492401810",
        "cnpj": "",
        "address": "ALBERT BARTHOLOME ,100",
        "district": "JARDIM DAS VERTENTES",
        "cityCodeResidence": "SAO PAULO",
        "stateAbbreviation": "SP",
        "zipCode": "05541000"
    },
    "bank": {
        "name": "BANCO DO PRE FA",
        "code": "-9",
        "agencyAssignorCode": "00001/0000000001",
        "ourNumber": "",
        "walletCode": "9"
    },
    "_expandables": [
        "billingDetails",
        "openMonths",
        "users",
        "userUsage"
    ]
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.
Exemplo
{
    "code": "E002",
    "message": "Existem chaves obrigatórias que não foram informadas.",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E002-406",
            "message": "Chave titleId obrigatória",
            "detailedMessage": "Não foi informado no pathParams da requisição a chave titleId."
        }
    ]
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.
Exemplo
{
    "code": "E003",
    "message": "Título não encontrado no Financeiro",
    "detailedMessage": "Não foi encontrada na tabela SE1 o título PLS000007942 DP (E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO)."
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.
Exemplo
{
    "code": "E004",
    "message": "Boleto Bancário não disponível.",
    "detailedMessage": "O título PLS000007032 DP se encontra na situação em Carteira no Financeiro."
}


BankSlip/Base64 - Retorna o boleto bancário em arquivo base 64

Retorna o boleto bancário informado em arquivo base 64. 

/totvsHealthPlans/invoicing/v1/titles/{titleId}/bankSlip/base64

GET

Authorization (header)

string

Cabeçalho usado para autorização das requisições (Bearer token)*required

Content-Type (header)

string

'application/json' é o formato do conteúdo*required
titleId (path)stringChave do Titulo (E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO)*required

Body


Não possui body!

fileNamestringNome do arquivo em PDF
*required
filestringString do arquivo em base 64
*required
Exemplo
{
    "fileName": "boletosc005630.pdf",
    "file": "JVBERi0xLjMKJbe+raoKMSAwIG9iago8PAovVHlwZSAvQ2F0YW..."
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.
Exemplo
{
    "code": "E002",
    "message": "Existem chaves obrigatórias que não foram informadas.",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E002-406",
            "message": "Chave titleId obrigatória",
            "detailedMessage": "Não foi informado no pathParams da requisição a chave titleId."
        }
    ]
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.
Exemplo
{
    "code": "E003",
    "message": "Título não encontrado no Financeiro",
    "detailedMessage": "Não foi encontrada na tabela SE1 o título PLS000007942 DP (E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO)."
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.
Exemplo
{
    "code": "E004",
    "message": "Boleto Bancário não disponível.",
    "detailedMessage": "O título PLS000007032 DP se encontra na situação em Carteira no Financeiro."
}

03. TELA API TITLES

Outras Ações / Ações relacionadas

AçãoDescrição
Não se aplicaNão se aplica

04. TELA API TITLES

Principais Campos e Parâmetros

CampoDescrição
E1_CODINTCódigo da operadora saúde
E1_CODEMPCódigo da empresa
E1_MATRICMatricula da família
E1_PREFIXOPrefixo do titulo
E1_NUMNúmero do titulo
E1_PARCELAParcela do titulo
E1_TIPOTipo do titulo
MV_RELTDiretório no servidor para gravar os boletos gerados pela api

05. TABELAS UTILIZADAS

  • Contas a Receber (SE1)
  • Bancos (SA6)
  • Operadoras de Saúde (BA0)
  • Clientes (SA1)
  • Composição da Cobrança (BM1)
  • Cabeçalho de Mensagem  (BH1)
  • Itens de Mensagem (BH2)
  • Beneficiários (BA1)
  • Eventos Processamentos Contas (BD6)