CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
    1. Refunds - Inclusão de um protocolo de reembolso
    2. Refunds - Retorna os protocolos de reembolso
    3. Refunds - Deleta um protocolo de reembolso
    4. Send - Envia protocolo de reembolso não finalizado
    5. Protocol/base64 - Retorna pdf do protocolo de reembolso em arquivo base 64
    6. Expenses - Retorna as despesas do protocolo de reembolso
    7. Expenses - Deleta uma despesa do protocolo de reembolso
    8. Expenses - Inclusão de um nova despesa ao protocolo de reembolso
    9. Expenses - Altera despesa do protocolo de reembolso
    10. ReasonDenied - Retorna o motivo de negação da despesa 
    11. attachments - Retorna os anexos do protocolo de reembolso
    12. attachments - Inclusão de novos anexos ao protocolo de reembolso
    13. attachments - Deleta um anexo do protocolo de reembolso
  3. Tela api refunds
    1. Outras Ações / Ações relacionadas
  4. Tela api refunds
    1. Principais Campos e Parâmetros
  5. Tabelas utilizadas


01. VISÃO GERAL

API para a entidade companies (Empresas) do produto TOTVS Saúde Planos Linha Protheus.

Clique aqui para detalhes sobre como habilitar o serviço de 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.

Para nome composto, as APIs utilizam o padrão camelCase e quando a houver paginação será utilizado o padrão tudo minúsculo separado por hífen para os campos dentro do array items


02. EXEMPLO DE UTILIZAÇÃO

Realiza a inclusão de um novo protocolo de reembolso para o beneficiário

/totvsHealthPlans/attendance/v1/refunds

POST

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
statusstring

Define o status final do protocolo, sendo:

  • 1 - Protocolado
  • 0 - Solicitação não concluída 

*required
healthInsurerCodestringCódigo da operadora de saúde no sistemaBOW_OPEMOV*required
subscriberIdstringMatricula do beneficiário solicitante do protocoloBOW_USUARI*required
refundReceiptsarrayComprovantes de reembolso
*required
refundReceipts.unreferencedNetworkIdentifierstringCPF/CNPJ do prestador de serviçoB1N_PRCNPJ*required
refundReceipts.unreferencedNetworkNamestring

Nome do prestador de serviço

B1N_PRNOME*required
refundReceipts.stateAbbreviationstringEstado do prestadorB1N_EST*required
refundReceipts.cityCodestring

Código do Município do prestador

(obtido através da api /totvsHealthPlans/locality/v1/cities)

B1N_CODMUN*required
refundReceipts.documentCodestring

Código do tipo de comprovante

(obtido através da api /totvsHealthPlans/refundSetup/v1/documents)

B1N_TIPDOC (BBS_COD)*required
refundReceipts.documentNumberstringNumero do documentoB1N_NUMDOC
refundReceipts.documentDatestring (date)Data de emissão do documentoB1N_DATDOC*required
refundReceipts.expensesarray

Despesas do comprovante de reembolso


*required
refundReceipts.expenses.subscriberIdstringMatricula do beneficiário da despesaB1N_MATRIC*required
refundReceipts.expenses.procedureClassstring

Código do tipo de despesa utilizado

(obtido através da api totvsHealthPlans/procedure/v1/classes)

B1N_TIPSER*required
refundReceipts.expenses.tableCodestringCódigo da tabela da despesaB1N_CODPAD*required
refundReceipts.expenses.procedureCodestringCódigo da despesaB1N_CODPRO*required
refundReceipts.expenses.continuousUsestring

Quando a despesa for medicamento, informa se é de uso contínuo, sendo:

  • 0 - Não
  • 1 - Sim
B1N_USOCON*required
refundReceipts.expenses.prescriptionCodestring

Código da receita do medicamento de uso continuo

(obtivo através da api /totvsHealthPlans/refundSetup/v1/continuousMedications)

Obrigatório quando continuousUse for igual a 1

B1N_CODREC
refundReceipts.expenses.expenseAmountnumber (double)Valor total da despesaB1N_VLRTOT*required
refundReceipts.expenses.quantitynumber (integer)Quantidade de despesaB1N_QTDPRO*required
refundReceipts.expenses.executionDatestring (date)Data de execução da despesaB1N_DATPRO*required

refundReceipts.attachments

array

Anexos do comprovante

Obrigatório quando for informado o status igual a 1 - Protocolado



refundReceipts.attachments.hrefstringUrl do arquivo para que seja realizado o download
*required
{
    "status" : "1",
	"healthInsurerCode" : "0001",
	"subscriberId" : "00011008000027010",
    "refundReceipts" : [
        {
            "unreferencedNetworkIdentifier" : "77077733000159",
            "unreferencedNetworkName" : "JOSE",
            "stateAbbreviation" : "SP",
            "cityCode" : "3500105",
            "documentCode" : "03",
            "documentNumber" : "000001235",
            "documentDate" : "2023-06-07",
            "expenses" : [
                {
                    "subscriberId" : "00011008000027010",
                    "procedureClass" : "000005",
                    "tableCode" : "04",
                    "procedureCode": "0490173961",
                    "continuousUse" : "1",
                    "prescriptionCode" : "41750520230419000001",
                    "expenseAmount": 250,
                    "quantity" : 1,
                    "executionDate" : "2023-06-07"		
                }
            ],
            "attachments" : [
                {
                    "href" : "https://www.totvs.com/wp-content/uploads/2021/04/totvs-shared.png?teste"
                }
            ]
        }
    ]
}



protocolstringNumero do protocolo gerado para o reembolsoBOW_PROTOC*required
statusstring

Status do protocolo:

  • 0 - Solicitação não concluída
  • 1 - Protocolado
BOW_STATUS*required
requestDatestring (date)Data de solicitaçãoBOW_DTDIGI*required
presentedAmountnumeric (double)Valor apresentadoBOW_VLRAPR*required
refundedAmountnumeric (double)Valor reembolsadoBOW_VLRREE
paymentDatestring (date)Data de pagamento do reembolsoBOW_PGMTO
beneficiaryNamestring

Nome do beneficiário solicitante

BOW_NOMUSR*required
linksarray

links relacionados ao recurso companies (Padrão HATEOAS):

  • rel: expenses (Despesas do protocolo)
  • rel: attachments (Anexos do protocolo)

*required
{
    "protocol": "41750520230607000003",
    "status": "1",
    "requestDate": "2023-06-07",
    "presentedAmount": 250,
    "refundedAmount": 0,
    "paymentDate": "",
    "beneficiaryName": "HERNANDES ALVES DA SILVA",
    "links": [
        {
            "rel": "expenses",
            "href": "/totvsHealthPlans/attendance/v1/refunds/41750520230607000003/expenses"
        },
        {
            "rel": "attachments",
            "href": "/totvsHealthPlans/attendance/v1/refunds/41750520230607000003/attachments"
        }
    ]
}
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.
{
    "code": "E001",
    "message": "JSON inválido",
    "detailedMessage": "Json Error: >>\"healthInsurerCode\" : \"0001\",\r\n\t\"subscriberId\" : \"00011008000027010\",\r\n    \"refundReceipts\" : [\r\n        {\r\n            \"unreferencedNetworkIdentifier\" : \"77077733000159\",\r\n            \"unreferencedNetworkName\" : \"JOSE\",\r\n            \"stateAbbreviation\" : \"SP\",\r\n            \"cityCode\" : \"3500105\",\r\n            \"documentCode\" : \"03\",\r\n            \"documentNumber\" : \"000001235\",\r\n            \"documentDate\" : \"2023-06-07\",\r\n            \"expenses\" : [\r\n                {\r\n                    \"subscriberId\" : \"00011008000027010\",\r\n                    \"procedureClass\" : \"000005\",\r\n                    \"tableCode\" : \"04\",\r\n                    \"procedureCode\": \"0490173961\",\r\n                    \"continuousUse\" : \"1\",\r\n                    \"prescriptionCode\" : \"41750520230419000001\",\r\n                    \"expenseAmount\": 250,\r\n                    \"quantity\" : 1,\r\n                    \"executionDate\" : \"2023-06-07\"\t\t\r\n                }\r\n            ],\r\n            \"attachments\" : [\r\n                {\r\n                    \"href\" : \"https://www.totvs.com/wp-content/uploads/2021/04/totvs-shared.png?teste\"\r\n                }\r\n            ]\r\n        }\r\n    ]\r\n}<<"
}
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.
{
    "code": "E002",
    "message": "Os campos do json no body estão inválidos",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E002D-406",
            "message": "Tipo inválido para o campo status",
            "detailedMessage": "O valor do campo status deve ser do tipo (C)."
        },
        {
            "code": "E002F-406",
            "message": "Valor inválido para o campo status",
            "detailedMessage": "O valor do campo status deve ser: 0;1"
        },
        {
            "code": "E002B-406",
            "message": "Campo healthInsurerCode obrigatório",
            "detailedMessage": "Não foi informado valor do campo healthInsurerCode."
        },
        {
            "code": "E002E-406",
            "message": "Tamanho inválido para o campo healthInsurerCode",
            "detailedMessage": "O valor do campo healthInsurerCode deve ter o tamanho 4."
        },
        {
            "code": "E002E-406",
            "message": "Tamanho inválido para o campo subscriberId",
            "detailedMessage": "O valor do campo subscriberId deve ter o tamanho 17."
        },
        {
            "code": "E002B-406",
            "message": "Campo refundReceipts obrigatório",
            "detailedMessage": "Não foi informado valor do campo refundReceipts."
        }
    ]
}
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.*required
{
    "code": "E003",
    "message": "Dados inválidos para realizar a solicitação de reembolso",
    "detailedMessage": "Verifique os detalhes dos erros no campo details",
    "details": [
        {
            "code": "E004A-404",
            "message": "Operadora de saúde não encontrada",
            "detailedMessage": "Não foi encontrada nenhuma operadora de saúde com o código 0099 no cadastro (BA0)"
        },
        {
            "code": "E004B-404",
            "message": "Beneficiário solicitante não encontrado",
            "detailedMessage": "Não foi encontrado nenhum beneficiário com a matricula 00011008000027012 no cadastro (BA1)"
        }
    ]
}


Retorna os protocolos de reembolso do beneficiário

/totvsHealthPlans/attendance/v1/refunds

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
subscriber-id (query)stringMatricula do beneficiário (BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITO)*required
request-date-initial (query)string (date)

Data inicial de solicitação do protocolo

Obrigatório para quando não for informado o query param protocol


request-date-final (query)string (date)

Data final de solicitação do protocolo

Obrigatório para quando não for informado o query param protocol


protocol (query)stringNumero do protocolo (BOW_PROTOC)
status (query)string

Status do protocolo de reembolso, sendo:

  • 0 - Solicitação não concluída
  • 1 - Protocolado
  • 2 - Em analise
  • 3 - Reembolso aprovado
  • 4 - Reembolso rejeitado
  • 5 - Aguardando informação do Beneficiário
  • 6 - Aprovado Parcialmente
  • 7 - Cancelado
  • 8 - Reembolso revertido

pode ser enviado mais de um status. Exemplo: 0,1,2,3


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!

protocolstringNumero do protocolo gerado para o reembolsoBOW_PROTOC*required
statusstring

Status do protocolo:

  • 0 - Solicitação não concluída
  • 1 - Protocolado
BOW_STATUS*required
requestDatestring (date)Data de solicitaçãoBOW_DTDIGI*required
presentedAmountnumeric (double)Valor apresentadoBOW_VLRAPR*required
refundedAmountnumeric (double)Valor reembolsadoBOW_VLRREE
paymentDatestring (date)Data de pagamento do reembolsoBOW_PGMTO
beneficiaryNamestring

Nome do beneficiário solicitante

BOW_NOMUSR*required
linksarray

links relacionados ao recurso companies (Padrão HATEOAS):

  • rel: expenses (Despesas do protocolo)
  • rel: attachments (Anexos do protocolo)

*required
{
    "protocol": "41750520230607000003",
    "status": "1",
    "requestDate": "2023-06-07",
    "presentedAmount": 250,
    "refundedAmount": 0,
    "paymentDate": "",
    "beneficiaryName": "HERNANDES ALVES DA SILVA",
    "links": [
        {
            "rel": "expenses",
            "href": "/totvsHealthPlans/attendance/v1/refunds/41750520230607000003/expenses"
        },
        {
            "rel": "attachments",
            "href": "/totvsHealthPlans/attendance/v1/refunds/41750520230607000003/attachments"
        }
    ]
}
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.
{
    "code": "E001",
    "message": "JSON inválido",
    "detailedMessage": "Json Error: >>\"healthInsurerCode\" : \"0001\",\r\n\t\"subscriberId\" : \"00011008000027010\",\r\n    \"refundReceipts\" : [\r\n        {\r\n            \"unreferencedNetworkIdentifier\" : \"77077733000159\",\r\n            \"unreferencedNetworkName\" : \"JOSE\",\r\n            \"stateAbbreviation\" : \"SP\",\r\n            \"cityCode\" : \"3500105\",\r\n            \"documentCode\" : \"03\",\r\n            \"documentNumber\" : \"000001235\",\r\n            \"documentDate\" : \"2023-06-07\",\r\n            \"expenses\" : [\r\n                {\r\n                    \"subscriberId\" : \"00011008000027010\",\r\n                    \"procedureClass\" : \"000005\",\r\n                    \"tableCode\" : \"04\",\r\n                    \"procedureCode\": \"0490173961\",\r\n                    \"continuousUse\" : \"1\",\r\n                    \"prescriptionCode\" : \"41750520230419000001\",\r\n                    \"expenseAmount\": 250,\r\n                    \"quantity\" : 1,\r\n                    \"executionDate\" : \"2023-06-07\"\t\t\r\n                }\r\n            ],\r\n            \"attachments\" : [\r\n                {\r\n                    \"href\" : \"https://www.totvs.com/wp-content/uploads/2021/04/totvs-shared.png?teste\"\r\n                }\r\n            ]\r\n        }\r\n    ]\r\n}<<"
}
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.
{
    "code": "E002",
    "message": "Os campos do json no body estão inválidos",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E002D-406",
            "message": "Tipo inválido para o campo status",
            "detailedMessage": "O valor do campo status deve ser do tipo (C)."
        },
        {
            "code": "E002F-406",
            "message": "Valor inválido para o campo status",
            "detailedMessage": "O valor do campo status deve ser: 0;1"
        },
        {
            "code": "E002B-406",
            "message": "Campo healthInsurerCode obrigatório",
            "detailedMessage": "Não foi informado valor do campo healthInsurerCode."
        },
        {
            "code": "E002E-406",
            "message": "Tamanho inválido para o campo healthInsurerCode",
            "detailedMessage": "O valor do campo healthInsurerCode deve ter o tamanho 4."
        },
        {
            "code": "E002E-406",
            "message": "Tamanho inválido para o campo subscriberId",
            "detailedMessage": "O valor do campo subscriberId deve ter o tamanho 17."
        },
        {
            "code": "E002B-406",
            "message": "Campo refundReceipts obrigatório",
            "detailedMessage": "Não foi informado valor do campo refundReceipts."
        }
    ]
}
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.*required
{
    "code": "E003",
    "message": "Dados inválidos para realizar a solicitação de reembolso",
    "detailedMessage": "Verifique os detalhes dos erros no campo details",
    "details": [
        {
            "code": "E004A-404",
            "message": "Operadora de saúde não encontrada",
            "detailedMessage": "Não foi encontrada nenhuma operadora de saúde com o código 0099 no cadastro (BA0)"
        },
        {
            "code": "E004B-404",
            "message": "Beneficiário solicitante não encontrado",
            "detailedMessage": "Não foi encontrado nenhum beneficiário com a matricula 00011008000027012 no cadastro (BA1)"
        }
    ]
}



03. TELA API REFUNDS

Outras Ações / Ações relacionadas

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

04. TELA API REFUNDS

Principais Campos e Parâmetros

CampoDescrição


05. TABELAS UTILIZADAS