Árvore de páginas


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 protocolo do reembolso em arquivo base64
    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 refunds (Reembolsos) 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

Refunds - Inclusão de um protocolo de reembolso

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
subscriberIdstring

Matricula do beneficiário solicitante do protocolo

(obtido através da API Beneficiaries - v1.000 (Family Contract))

BOW_USUARI*required
refundReceiptsarrayComprovantes de reembolso
*required
refundReceipts.unreferencedNetworkIdentifierstringCPF/CNPJ do prestador de serviçoB1N_PRCNPJ*required
refundReceipts.unreferencedNetworkNamestring

Nome do prestador de serviço

(obtido através da API UnreferencedNetworks - v1.000 (Attendance Network))

B1N_PRNOME*required
refundReceipts.stateAbbreviationstring

Estado do prestador

(obtido através da API UnreferencedNetworks - v1.000 (Attendance Network))

B1N_EST*required
refundReceipts.cityCodestring

Código do Município do prestador

(obtido através da API Cities - v1.000 (Locality) ou API UnreferencedNetworks - v1.000 (Attendance Network))

B1N_CODMUN*required
refundReceipts.documentCodestring

Código do tipo de comprovante

(obtido através da API Documents - v1.000 (Refund Setup))

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.subscriberIdstring

Matricula do beneficiário da despesa

(obtido através da API Beneficiaries - v1.000 (Family Contract))

B1N_MATRIC*required
refundReceipts.expenses.procedureClassstring

Código do tipo de despesa utilizado

(obtido através da API Classes - v1.000 - (Procedure))

B1N_TIPSER*required
refundReceipts.expenses.tableCodestring

Código da tabela da despesa

(obtido através da API Classes - v1.000 - (Procedure))

B1N_CODPAD*required
refundReceipts.expenses.procedureCodestring

Código da despesa

(obtido através da API Classes - v1.000 - (Procedure))

B1N_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 ContinuousMedications - v1.000 (Refund Setup))

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
Exemplo
{
    "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 refunds (Padrão HATEOAS):

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

*required
Exemplo
{
    "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.
Exemplo
{
    "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.
Exemplo
{
    "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
Exemplo
{
    "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)"
        }
    ]
}


Refunds - Retorna os protocolos de reembolso

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
subscriberId (query)string

Matricula do beneficiário (BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITO)

(obtido através da API Beneficiaries - v1.000 (Family Contract))

*required
requestDateInitial (query)string (date)

Data inicial de solicitação do protocolo

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


requestDateFinal (query)string (date)

Data final de solicitação do protocolo

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


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


previousMonths (query)string

Quantidade de meses anteriores dos protocolos, exemplo: caso seja informado "2", o sistema irá trazer os protocolos dos últimos 2 meses.


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
remainingRecordsnumeric (integer)Quantidade de registros ainda existem para retorno
*required
itemsarrayLista de protocolos de reembolso retornados

items.statusstring

Status do protocolo:

  • 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
BOW_STATUS*required
items.protocolstringNumero do protocolo de reembolsoBOW_PROTOC*required
items.request_datestring (date)Data da solicitaçãoBOW_DTDIGI*required
items.presented_amountnumeric (double)Valor apresentadoBOW_VLRAPR*required
items.refunded_amountnumeric (double)Valor reembolsadoBOW_VLRREE
items.payment_datestring (date)Data de pagamento do reembolsoBOW_PGMTO
items.beneficiary_namestring

Nome do beneficiário solicitante

BOW_NOMUSR*required
items.observationstringObservação do Protocolo

items.linksarray

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

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

*required
Exemplo
{
    "items": [
        {
            "status": "2",
            "protocol": "41750520230607000001",
            "request_date": "2023-06-07",
            "presented_amount": 250,
            "refunded_amount": 0,
            "payment_date": "",
            "beneficiary_name": "HERNANDES ALVES DA SILVA",
            "observation": "",
            "links": [
                {
                    "rel": "expenses",
                    "href": "/totvsHealthPlans/attendance/v1/refunds/41750520230607000001/expenses"
                },
                {
                    "rel": "attachments",
                    "href": "/totvsHealthPlans/attendance/v1/refunds/41750520230607000001/attachments"
                }
            ]
        },
        {
            "status": "1",
            "protocol": "41750520230607000003",
            "request_date": "2023-06-07",
            "presented_amount": 250,
            "refunded_amount": 0,
            "payment_date": "",
            "beneficiary_name": "HERNANDES ALVES DA SILVA",
            "observation": "",
            "links": [
                {
                    "rel": "expenses",
                    "href": "/totvsHealthPlans/attendance/v1/refunds/41750520230607000003/expenses"
                },
                {
                    "rel": "attachments",
                    "href": "/totvsHealthPlans/attendance/v1/refunds/41750520230607000003/attachments"
                }
            ]
        }
    ],
    "hasNext": false,
    "remainingRecords": 0
}
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
Exemplo
{
    "code": "E001",
    "message": "as chaves do query param estão inválidos",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E001A-406",
            "message": "Campo requestDateInitial não informado",
            "detailedMessage": "Não foi informado o campo request-date-initial."
        },
        {
            "code": "E001A-406",
            "message": "Campo requestDateFinal não informado",
            "detailedMessage": "Não foi informado o campo request-date-final."
        },
        {
            "code": "E001A-406",
            "message": "Campo subscriberId não informado",
            "detailedMessage": "Não foi informado o campo subscriber-id."
        }
    ]
}
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": "Beneficiário não encontrado",
    "detailedMessage": "Não foi encontrado nenhum beneficiário com a matricula 00011008000027013 no cadastro (BA1)"
}


Refunds - Deleta um protocolo de reembolso

Deleta um protocolo de reembolso não finalizado (protocolado).

/totvsHealthPlans/attendance/v1/refunds/{protocol}

DELETE

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
protocol (path)string

Numero do protocolo (BOW_PROTOC)

*required

Body


Não possui body!

Body


Não possui body!

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
Exemplo
{
    "code": "E001",
    "message": "A chave do path param esta inválida",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E001E-406",
            "message": "Tamanho inválido para o campo protocol",
            "detailedMessage": "O valor do campo protocol deve ter o tamanho 20."
        }
    ]
}
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": "Protocolo de reembolso não encontrado",
    "detailedMessage": "Não foi encontrado o protocolo de reembolso 41750520230607000019 na base de dados (BOW)"
}
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": "Não foi possível excluir esta solicitação pois já esta protocolada, entre em contato com a operadora",
    "detailedMessage": "Permitido somente excluir protocolos com o status (BOW_STATUS) igual a A (Solicitação não concluida)"
}


Send - Envia protocolo de reembolso não finalizado

Confirma o envio do protocolo de reembolso com o status de solicitação não concluída.

/totvsHealthPlans/attendance/v1/refunds/send

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
protocolstring

Numero do protocolo de reembolso

BOW_PROTOC*required
Exemplo
{
    "protocol" : "41750520230607000013"
}
protocolstringNumero do protocolo do reembolsoBOW_PROTOC*required
statusstring

Status do protocolo:

  • 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 refunds (Padrão HATEOAS):

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

*required
Exemplo
{
    "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.
Exemplo
{
    "code": "E001",
    "message": "JSON inválido",
    "detailedMessage": "Json Error: >>}<<"
}
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": "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 protocol",
            "detailedMessage": "O valor do campo protocol deve ser do tipo (C)."
        }
    ]
}
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
Exemplo
{
    "code": "E003",
    "message": "Protocolo de reembolso não encontrado",
    "detailedMessage": "Não foi encontrado o protocolo de reembolso 41750520230607000019 na base de dados (BOW)"
}
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
Exemplo
{
    "code": "E004",
    "message": "Permite finalizar protocolo de reembolso somente com o status de solicitação não concluida",
    "detailedMessage": "Permitido somente finalizar protocolos com o status (BOW_STATUS) igual a 0 (Solicitação não concluida)"
}


Protocol/base64 - Retorna protocolo do reembolso em arquivo base64

Retorna o pdf do protocolo de reembolso em arquivo base64.

/totvsHealthPlans/attendance/v1/refunds/{protocol}/protocol/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
protocol (path)stringNumero do protocolo de reembolso (BOW_PROTOC)*required

Body


Não possui body!

fileNamestringNome do arquivo em PDF
*required
filestringString do arquivo em base 64
*required
Exemplo
{
    "fileName": "protocreembsc043500.pdf",
    "file": "JVBERi0xLjMKJbe+raoKMSAwIG9i..."
}
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
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 protocol obrigatória",
            "detailedMessage": "Não foi informado no pathParams da requisição a chave protocol."
        }
    ]
}
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": "Protocolo não encontrado",
    "detailedMessage": "Não foi encontrada na tabela BOW o protocol 41750520230607000099 (BOW_PROTOC)."
}


Expenses - Retorna as despesas do protocolo de reembolso

Retorna as despesas do protocolo de reembolso

/totvsHealthPlans/attendance/v1/refunds/{protocol}/expenses

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
protocol (path)stringNumero do protocolo de reembolso (BOW_PROTOC)*required
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
remainingRecordsnumeric (integer)Quantidade de registros ainda existem para retorno
*required
itemsarrayLista de despesas do protocolo de reembolso

items.statusstring

Status da despesa, sendo: 

  • 0 - Negado
  • 1 - Autorizado
B1N_IMGSTA*required
items.subscriber_idstringMatricula do beneficiário da despesaB1N_MATRIC*required
items.beneficiary_namestringNome do beneficiárioBA1_NOMUSR*required
items.protocolstringNumero do protocolo B1N_PROTOC*required
items.sequentialstringSequencial da despesa no protocoloB1N_SEQUEN*required
items.procedure_classstring

Código do tipo de despesa utilizado

B1N_TIPSER*required
items.table_codestringCódigo da tabela da despesaB1N_CODPAD*required
items.procedure_codestringCódigo da despesaB1N_CODPRO*required
items.procedure_descriptionstringDescrição da despesaBR8_DESCRI*required
items.continuous_usestring

Medicamento de uso continuo:

  • 0 - Não
  • 1 - Sim
B1N_USOCON*required
items.quantitynumeric (integer)Quantidade de despesaB1N_QTDPRO*required
items.expense_amountnumeric (double)Valor apresentado da despesaB1N_VLRAPR*required
items.total_expense_amountnumeric (double)Valor total da despesaB1N_VLRTOT*required
items.refunded_amountnumeric (double)Valor reembolsadoB1N_VLRREE*required
items.unreferenced_network_identifierstringCPF/CNPJ do prestador de serviçoB1N_PRCNPJ*required
items.unreferenced_network_namestringNome do prestador de serviçoB1N_PRNOME*required
items.state_abbreviationstringEstado do prestadorB1N_EST*required
items.city_codestring

Código do Município do prestador

B1N_CODMUN*required
items.document_codestring

Código do tipo de comprovante

B1N_TIPDOC (BBS_COD)*required
items.document_descriptionstring

Descrição do tipo de comprovante

B1N_TIPDOC *required
items.document_numberstringNumero do documentoB1N_NUMDOC
items.document_datestring (date)Data de emissão do documentoB1N_DATDOC*required
items.execution_datestring (date)Data de execução da despesaB1N_DATPRO*required
Exemplo
{
    "items": [
        {
            "status": "1",
            "subscriber_id": "00011008000027010",
            "beneficiary_name": "HERNANDES ALVES DA SILVA",
            "protocol": "41750520230605000040",
            "sequential": "001",
            "procedure_class": "000001",
            "table_code": "01",
            "procedure_code": "10101012",
            "procedure_description": "CONSULTA EM CONSULTORIO",
            "continuous_use": "0",
            "quantity": 1,
            "expense_amount": 1000,
            "total_expense_amount": 1000,
            "refunded_amount": 0,
            "unreferenced_network_identifier": "77077733000159",
            "unreferenced_network_name": "JOSE",
            "state_abbreviation": "SP",
            "city_code": "3500105",
            "document_code": "03",
            "document_description": "RECIBO",
            "document_number": "2222223",
            "document_date": "2023-06-02",
            "execution_date": "2023-06-02"
        }
    ],
    "hasNext": false,
    "remainingRecords": 0
}
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
Exemplo
{
    "code": "E001",
    "message": "as chaves do query param estão inválidos",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E001A-406",
            "message": "Campo requestDateInitial não informado",
            "detailedMessage": "Não foi informado o campo requestDateInitialrequestDateInitial."
        },
        {
            "code": "E001A-406",
            "message": "Campo requestDateFinal não informado",
            "detailedMessage": "Não foi informado o campo requestDateFinal."
        },
        {
            "code": "E001A-406",
            "message": "Campo subscriberId não informado",
            "detailedMessage": "Não foi informado o campo subscriberId."
        }
    ]
}
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": "Beneficiário não encontrado",
    "detailedMessage": "Não foi encontrado nenhum beneficiário com a matricula 00011008000027013 no cadastro (BA1)"
}


Expenses - Deleta uma despesa do protocolo de reembolso

Deleta uma despesa do protocolo de reembolso com o status de solicitação não concluída.

/totvsHealthPlans/attendance/v1/refunds/{protocol}/expenses/{sequential}

DELETE

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
protocol (path)stringNumero do protocolo (BOW_PROTOC)*required
sequencial (path)string

Sequencial da despesa no protocolo (B1N_SEQUEN)

*required

Body


Não possui body!

Body


Não possui body!

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
Exemplo
{
    "code": "E001",
    "message": "As chaves do path param estão inválidas",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E001B-406",
            "message": "Campo protocol obrigatório",
            "detailedMessage": "Não foi informado valor do campo protocol."
        },
        {
            "code": "E001E-406",
            "message": "Tamanho inválido para o campo protocol",
            "detailedMessage": "O valor do campo protocol deve ter o tamanho 20."
        },
        {
            "code": "E001B-406",
            "message": "Campo sequential obrigatório",
            "detailedMessage": "Não foi informado valor do campo sequential."
        },
        {
            "code": "E001E-406",
            "message": "Tamanho inválido para o campo sequential",
            "detailedMessage": "O valor do campo sequential deve ter o tamanho 3."
        }
    ]
}
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": "Protocolo de reembolso não encontrado",
    "detailedMessage": "Não foi encontrado o protocolo de reembolso 41750520230605000100 (BOW_PROTOC) na base de dados (BOW)"
}
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": "E005",
    "message": "Não permitido incluir, alterar ou excluir despesa pois a solicitação já esta protocolada, entre em contato com a operadora",
    "detailedMessage": "Permitido somente incluir, alterar, excluir despesas para protocolos com o status (BOW_STATUS) igual a A (Solicitação não concluida)"
}
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": "E006",
    "message": "Despesa não encontrada para o protocolo de reembolso 41750520230607000014",
    "detailedMessage": "Não foi encontrada a despesa de sequencial 002 (B1N_SEQUEN) para o protocolo 41750520230607000014 (BOW_PROTOC)"
}


Expenses - Inclusão de um nova despesa ao protocolo de reembolso

Realiza a inclusão de uma nova despesa ao protocolo de reembolso com o status de solicitação não concluída.

/totvsHealthPlans/attendance/v1/refunds/expenses

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
protocolstringNumero do protocolo de reembolsoBOW_PROTOC*required
subscriberIdstring

Matricula do beneficiário da despesa

(obtido através da API Beneficiaries - v1.000 (Family Contract))

B1N_MATRIC*required
unreferencedNetworkIdentifierstringCPF/CNPJ do prestador de serviçoB1N_PRCNPJ*required
unreferencedNetworkNamestring

Nome do prestador de serviço

(obtido através da API UnreferencedNetworks - v1.000 (Attendance Network))

B1N_PRNOME*required
stateAbbreviationstring

Estado do prestador

(obtido através da API UnreferencedNetworks - v1.000 (Attendance Network))

B1N_EST*required
cityCodestring

Código do Município do prestador

(obtido através da API Cities - v1.000 (Locality) ou API UnreferencedNetworks - v1.000 (Attendance Network))

B1N_CODMUN*required
documentCodestring

Código do tipo de comprovante

(obtido através da API Documents - v1.000 (Refund Setup))

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

Código do tipo de despesa utilizado

(obtido através da API Classes - v1.000 - (Procedure))

B1N_TIPSER*required
tableCodestring

Código da tabela da despesa

(obtido através da API Classes - v1.000 - (Procedure))

B1N_CODPAD*required
procedureCodestring

Código da despesa

(obtido através da API Classes - v1.000 - (Procedure)s)

B1N_CODPRO*required
continuousUsestring

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

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

Código da receita do medicamento de uso continuo

(obtivo através da API ContinuousMedications - v1.000 (Refund Setup))

Obrigatório quando continuousUse for igual a 1

B1N_CODREC
expenseAmountnumeric (double)Valor total da despesaB1N_VLRTOT*required
quantitynumeric (integer)Quantidade de despesaB1N_QTDPRO*required
executionDatestring (date)Data de execução da despesaB1N_DATPRO*required
Exemplo
{
    "protocol" : "41750520230607000015",
    "subscriberId": "00011008000027010",
    "unreferencedNetworkIdentifier": "77077733000159",
    "unreferencedNetworkName": "JOSE",
    "stateAbbreviation": "SP",
    "cityCode": "3500105",
    "documentCode": "03",
    "documentNumber": "0000012349",
    "documentDate": "2023-04-23",
    "procedureClass": "000001",
    "tableCode": "01",
    "procedureCode": "10101012",
    "continuousUse": "0",
    "prescriptionCode" : "",
    "expenseAmount": 500,
    "quantity": 1,
    "executionDate": "2023-04-23"
}
statusstring

Status da despesa, sendo: 

  • 0 - Negado
  • 1 - Autorizado
B1N_IMGSTA*required
subscriberIdstringMatricula do beneficiário da despesaB1N_MATRIC*required
beneficiaryNamestringNome do beneficiárioBA1_NOMUSR*required
protocolstringNumero do protocolo B1N_PROTOC*required
sequentialstringSequencial da despesa no protocoloB1N_SEQUEN*required
procedureClassstring

Código do tipo de despesa utilizado

B1N_TIPSER*required
tableCodestringCódigo da tabela da despesaB1N_CODPAD*required
procedureCodestringCódigo da despesaB1N_CODPRO*required
procedureDescriptionstringDescrição da despesaBR8_DESCRI*required
continuousUsestring

Medicamento de uso continuo:

  • 0 - Não
  • 1 - Sim
B1N_USOCON*required
quantitynumeric (integer)Quantidade de despesaB1N_QTDPRO*required
expenseAmountnumeric (double)Valor apresentado da despesaB1N_VLRAPR*required
totalExpenseAmountnumeric (double)Valor total da despesaB1N_VLRTOT*required
refundedAmountnumeric (double)Valor reembolsadoB1N_VLRREE*required
unreferencedNetworkIdentifierstringCPF/CNPJ do prestador de serviçoB1N_PRCNPJ*required
unreferencedNetworkNamestringNome do prestador de serviçoB1N_PRNOME*required
stateAbbreviationstringEstado do prestadorB1N_EST*required
cityCodestring

Código do Município do prestador

B1N_CODMUN*required
documentCodestring

Código do tipo de comprovante

B1N_TIPDOC (BBS_COD)*required
documentDescriptionstring

Descrição do tipo de comprovante

B1N_TIPDOC *required
documentNumberstringNumero do documentoB1N_NUMDOC
documentDatestring (date)Data de emissão do documentoB1N_DATDOC*required
executionDatestring (date)Data de execução da despesaB1N_DATPRO*required
Exemplo
{
    "status": "1",
    "subscriberId": "00011008000027010",
    "beneficiaryName": "HERNANDES ALVES DA SILVA",
    "protocol": "41750520230607000015",
    "sequential": "002",
    "procedureClass": "000001",
    "tableCode": "01",
    "procedureCode": "10101012",
    "procedureDescription": "CONSULTA EM CONSULTORIO",
    "continuousUse": "0",
    "quantity": 1,
    "expenseAmount": 500,
    "totalExpenseAmount": 500,
    "refundedAmount": 0,
    "unreferencedNetworkIdentifier": "77077733000159",
    "unreferencedNetworkName": "JOSE",
    "stateAbbreviation": "SP",
    "cityCode": "3500105",
    "documentCode": "03",
    "documentDescription": "RECIBO",
    "documentNumber": "0000012349",
    "documentDate": "2023-04-23",
    "executionDate": "2023-04-23"
}
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": "JSON inválido",
    "detailedMessage": "Json Error: >>\"subscriberId\": \"00011008000027010\",\r\n    \"unreferencedNetworkIdentifier\": \"77077733000159\",\r\n    \"unreferencedNetworkName\": \"JOSE\",\r\n    \"stateAbbreviation\": \"SP\",\r\n    \"cityCode\": \"3500105\",\r\n    \"documentCode\": \"03\",\r\n    \"documentNumber\": \"0000012350\",\r\n    \"documentDate\": \"2023-04-23\",\r\n    \"procedureClass\": \"000001\",\r\n    \"tableCode\": \"01\",\r\n    \"procedureCode\": \"10101012\",\r\n    \"continuousUse\": \"0\",\r\n    \"prescriptionCode\" : \"\",\r\n    \"expenseAmount\": 500,\r\n    \"quantity\": 1,\r\n    \"executionDate\": \"2023-04-23\"\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.
Exemplo
{
    "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": "E002E-406",
            "message": "Tamanho inválido para o campo protocol",
            "detailedMessage": "O valor do campo protocol deve ter o tamanho 20."
        },
        {
            "code": "E002B-406",
            "message": "Campo subscriberId obrigatório",
            "detailedMessage": "Não foi informado valor do campo subscriberId."
        },
        {
            "code": "E002E-406",
            "message": "Tamanho inválido para o campo subscriberId",
            "detailedMessage": "O valor do campo subscriberId deve ter o tamanho 17."
        },
        {
            "code": "E002A-406",
            "message": "Campo stateAbbreviation não informado",
            "detailedMessage": "Não foi informado o campo stateAbbreviation."
        },
        {
            "code": "E002F-406",
            "message": "Valor inválido para o campo continuousUse",
            "detailedMessage": "O valor do campo continuousUse deve ser: 0;1"
        }
    ]
}
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": "Protocolo de reembolso não encontrado",
    "detailedMessage": "Não foi encontrado o protocolo de reembolso 41750520230607000099 (BOW_PROTOC) na base de dados (BOW)"
}
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": "E005",
    "message": "Não permitido incluir, alterar ou excluir despesa pois a solicitação já esta protocolada, entre em contato com a operadora",
    "detailedMessage": "Permitido somente incluir, alterar, excluir despesas para protocolos com o status (BOW_STATUS) igual a A (Solicitação não concluida)"
}
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
Exemplo
{
    "code": "E003",
    "message": "Dados inválidos para realizar a inclusão da despesa",
    "detailedMessage": "Verifique os detalhes dos erros no campo details",
    "details": [
        {
            "code": "E005C-404",
            "message": "Código do documento não encontrado",
            "detailedMessage": "Não foi encontrado nenhum documento com o código 99 no cadastro (BBS)"
        },
        {
            "code": "E005D-404",
            "message": "Estado e Cidade não encontrado",
            "detailedMessage": "Não foi encontrado nenhum estado SP e cidade 3500106 no cadastro (BID)"
        }
    ]
}


Expenses - Altera despesa do protocolo de reembolso

Realiza a alteração de um despesa já existente do protocolo de reembolso com o status de solicitação não concluída.

/totvsHealthPlans/attendance/v1/refunds/{protocol}/expenses/{sequential}

PUT

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
protocol (path)stringNumero do protocolo de reembolso*required
sequential (path)stringSequencial da despesa no protocolo*required
subscriberIdstring

Matricula do beneficiário da despesa

(obtido através da API Beneficiaries - v1.000 (Family Contract))

B1N_MATRIC*required
unreferencedNetworkIdentifierstringCPF/CNPJ do prestador de serviçoB1N_PRCNPJ*required
unreferencedNetworkNamestring

Nome do prestador de serviço

(obtido através da API UnreferencedNetworks - v1.000 (Attendance Network))

B1N_PRNOME*required
stateAbbreviationstring

Estado do prestador

(obtido através da API UnreferencedNetworks - v1.000 (Attendance Network))

B1N_EST*required
cityCodestring

Código do Município do prestador

(obtido através da API Cities - v1.000 (Locality) ou /totvsHealthPlans/attendanceNetwork/v1/unreferencedNetworks)

B1N_CODMUN*required
documentCodestring

Código do tipo de comprovante

(obtido através da API Documents - v1.000 (Refund Setup))

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

Código do tipo de despesa utilizado

(obtido através da API Classes - v1.000 - (Procedure))

B1N_TIPSER*required
tableCodestring

Código da tabela da despesa

(obtido através da API Classes - v1.000 - (Procedure))

B1N_CODPAD*required
procedureCodestring

Código da despesa

(obtido através da API Classes - v1.000 - (Procedure))

B1N_CODPRO*required
continuousUsestring

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

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

Código da receita do medicamento de uso continuo

(obtivo através da API ContinuousMedications - v1.000 (Refund Setup))

Obrigatório quando continuousUse for igual a 1

B1N_CODREC
expenseAmountnumeric (double)Valor total da despesaB1N_VLRTOT*required
quantitynumeric (integer)Quantidade de despesaB1N_QTDPRO*required
executionDatestring (date)Data de execução da despesaB1N_DATPRO*required
Exemplo
{
    "subscriberId": "00011008000027010",
    "unreferencedNetworkIdentifier": "77077733000159",
    "unreferencedNetworkName": "JOSE",
    "stateAbbreviation": "SP",
    "cityCode": "3500105",
    "documentCode": "03",
    "documentNumber": "0000012351",
    "documentDate": "2023-04-23",
    "procedureClass": "000001",
    "tableCode": "01",
    "procedureCode": "10101012",
    "continuousUse": "0",
    "prescriptionCode" : "",
    "expenseAmount": 600,
    "quantity": 1,
    "executionDate": "2023-04-23"
}
statusstring

Status da despesa, sendo: 

  • 0 - Negado
  • 1 - Autorizado
B1N_IMGSTA*required
subscriberIdstringMatricula do beneficiário da despesaB1N_MATRIC*required
beneficiaryNamestringNome do beneficiárioBA1_NOMUSR*required
protocolstringNumero do protocolo B1N_PROTOC*required
sequentialstringSequencial da despesa no protocoloB1N_SEQUEN*required
procedureClassstring

Código do tipo de despesa utilizado

B1N_TIPSER*required
tableCodestringCódigo da tabela da despesaB1N_CODPAD*required
procedureCodestringCódigo da despesaB1N_CODPRO*required
procedureDescriptionstringDescrição da despesaBR8_DESCRI*required
continuousUsestring

Medicamento de uso continuo:

  • 0 - Não
  • 1 - Sim
B1N_USOCON*required
quantitynumeric (integer)Quantidade de despesaB1N_QTDPRO*required
expenseAmountnumeric (double)Valor apresentado da despesaB1N_VLRAPR*required
totalExpenseAmountnumeric (double)Valor total da despesaB1N_VLRTOT*required
refundedAmountnumeric (double)Valor reembolsadoB1N_VLRREE*required
unreferencedNetworkIdentifierstringCPF/CNPJ do prestador de serviçoB1N_PRCNPJ*required
unreferencedNetworkNamestringNome do prestador de serviçoB1N_PRNOME*required
stateAbbreviationstringEstado do prestadorB1N_EST*required
cityCodestring

Código do Município do prestador

B1N_CODMUN*required
documentCodestring

Código do tipo de comprovante

B1N_TIPDOC (BBS_COD)*required
documentDescriptionstring

Descrição do tipo de comprovante

B1N_TIPDOC *required
documentNumberstringNumero do documentoB1N_NUMDOC
documentDatestring (date)Data de emissão do documentoB1N_DATDOC*required
executionDatestring (date)Data de execução da despesaB1N_DATPRO*required
Exemplo
{
    "status": "1",
    "subscriberId": "00011008000027010",
    "beneficiaryName": "HERNANDES ALVES DA SILVA",
    "protocol": "41750520230607000015",
    "sequential": "002",
    "procedureClass": "000001",
    "tableCode": "01",
    "procedureCode": "10101012",
    "procedureDescription": "CONSULTA EM CONSULTORIO",
    "continuousUse": "0",
    "quantity": 1,
    "expenseAmount": 600,
    "totalExpenseAmount": 600,
    "refundedAmount": 0,
    "unreferencedNetworkIdentifier": "77077733000159",
    "unreferencedNetworkName": "JOSE",
    "stateAbbreviation": "SP",
    "cityCode": "3500105",
    "documentCode": "03",
    "documentDescription": "RECIBO",
    "documentNumber": "0000012351",
    "documentDate": "2023-04-23",
    "executionDate": "2023-04-23"
}
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": "JSON inválido",
    "detailedMessage": "Json Error: >>\"subscriberId\": \"00011008000027010\",\r\n    \"unreferencedNetworkIdentifier\": \"77077733000159\",\r\n    \"unreferencedNetworkName\": \"JOSE\",\r\n    \"stateAbbreviation\": \"SP\",\r\n    \"cityCode\": \"3500105\",\r\n    \"documentCode\": \"03\",\r\n    \"documentNumber\": \"0000012350\",\r\n    \"documentDate\": \"2023-04-23\",\r\n    \"procedureClass\": \"000001\",\r\n    \"tableCode\": \"01\",\r\n    \"procedureCode\": \"10101012\",\r\n    \"continuousUse\": \"0\",\r\n    \"prescriptionCode\" : \"\",\r\n    \"expenseAmount\": 500,\r\n    \"quantity\": 1,\r\n    \"executionDate\": \"2023-04-23\"\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.*required
Exemplo
{
    "code": "E002",
    "message": "As chaves do path param estão inválidas",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E002B-406",
            "message": "Campo protocol obrigatório",
            "detailedMessage": "Não foi informado valor do campo protocol."
        },
        {
            "code": "E002E-406",
            "message": "Tamanho inválido para o campo protocol",
            "detailedMessage": "O valor do campo protocol deve ter o tamanho 20."
        },
        {
            "code": "E002B-406",
            "message": "Campo sequential obrigatório",
            "detailedMessage": "Não foi informado valor do campo sequential."
        },
        {
            "code": "E002E-406",
            "message": "Tamanho inválido para o campo sequential",
            "detailedMessage": "O valor do campo sequential deve ter o tamanho 3."
        }
    ]
}
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
Exemplo
{
    "code": "E003",
    "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": "E003E-406",
            "message": "Tamanho inválido para o campo protocol",
            "detailedMessage": "O valor do campo protocol deve ter o tamanho 20."
        },
        {
            "code": "E003B-406",
            "message": "Campo subscriberId obrigatório",
            "detailedMessage": "Não foi informado valor do campo subscriberId."
        },
        {
            "code": "E003E-406",
            "message": "Tamanho inválido para o campo subscriberId",
            "detailedMessage": "O valor do campo subscriberId deve ter o tamanho 17."
        },
        {
            "code": "E003A-406",
            "message": "Campo stateAbbreviation não informado",
            "detailedMessage": "Não foi informado o campo stateAbbreviation."
        },
        {
            "code": "E003F-406",
            "message": "Valor inválido para o campo continuousUse",
            "detailedMessage": "O valor do campo continuousUse deve ser: 0;1"
        }
    ]
}
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": "Protocolo de reembolso não encontrado",
    "detailedMessage": "Não foi encontrado o protocolo de reembolso 41750520230607000099 (BOW_PROTOC) na base de dados (BOW)"
}
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": "E005",
    "message": "Não permitido incluir, alterar ou excluir despesa pois a solicitação já esta protocolada, entre em contato com a operadora",
    "detailedMessage": "Permitido somente incluir, alterar, excluir despesas para protocolos com o status (BOW_STATUS) igual a A (Solicitação não concluida)"
}
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
Exemplo
{
    "code": "E003",
    "message": "Dados inválidos para realizar a inclusão da despesa",
    "detailedMessage": "Verifique os detalhes dos erros no campo details",
    "details": [
        {
            "code": "E005C-404",
            "message": "Código do documento não encontrado",
            "detailedMessage": "Não foi encontrado nenhum documento com o código 99 no cadastro (BBS)"
        },
        {
            "code": "E005D-404",
            "message": "Estado e Cidade não encontrado",
            "detailedMessage": "Não foi encontrado nenhum estado SP e cidade 3500106 no cadastro (BID)"
        }
    ]
}


ReasonDenied - Retorna o motivo de negação da despesa 

Retorna o motivo de glosa da despesa

/totvsHealthPlans/attendance/v1/refunds/{protocol}/expenses/{sequential}/reasonDenied

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
protocol (path)stringNumero do protocolo de reembolso*required
sequential (path)stringSequencial da despesa no protocolo*required

Body


Não possui body!

datestringData do motivoB14_DATA*required
reasonstringDescrição do motivo de glosa B14_MOTIVO*required
Exemplo
{
    "date": "2023-06-07",
    "reason": "Motivo de ter negado a despesa"
}
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
Exemplo
{
    "code": "E001",
    "message": "As chave do path param está inválida",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E001B-406",
            "message": "Campo protocol obrigatório",
            "detailedMessage": "Não foi informado valor do campo protocol."
        },
        {
            "code": "E001E-406",
            "message": "Tamanho inválido para o campo protocol",
            "detailedMessage": "O valor do campo protocol deve ter o tamanho 20."
        },
        {
            "code": "E001B-406",
            "message": "Campo sequential obrigatório",
            "detailedMessage": "Não foi informado valor do campo sequential."
        },
        {
            "code": "E001E-406",
            "message": "Tamanho inválido para o campo sequential",
            "detailedMessage": "O valor do campo sequential deve ter o tamanho 3."
        }
    ]
}
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": "Protocolo de reembolso não encontrado",
    "detailedMessage": "Não foi encontrado nenhum protocolo de reembolso com o numero 41750520230607000088 (BOW_PROTOC)"
}
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": "Despesa não encontrada para o protocolo de reembolso 41750520230607000006",
    "detailedMessage": "Não foi encontrada a despesa de sequencial 002 (B1N_SEQUEN) para o protocolo 41750520230607000006 (BOW_PROTOC)"
}
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": "Não encontrada motivo de glosa para a despesa",
    "detailedMessage": "Não foi encontrada nenhum motivo de glosa do sequencial 001 (B1N_SEQUEN) para o protocolo 41750520230607000015 (BOW_PROTOC) na tabela B14"
}


Attachments - Retorna os anexos do protocolo de reembolso

Retorna os anexos no banco de conhecimento do protocolo de reembolso informado.

/totvsHealthPlans/attendance/v1/refunds/{protocol}/attachments

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
protocol (path)stringNumero do protocolo de reembolso (BOW_PROTOC)*required
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
remainingRecordsnumeric (integer)Quantidade de registros ainda existem para retorno
*required
itemsarrayLista de anexos do protocolo

items.codestring

Código do anexo no sistema

ACB_CODOBJ*required
items.filestringNome do arquivo com extensãoACB_OBJETO*required
items.descriptionstringNome do arquivoACB_DESCRI*required
Exemplo
{
    "items": [
        {
            "code": "0000000282",
            "file": "TOTVS-E1652279934109_2023_06_02_18_31_03.JPG",
            "description": "totvs-e1652279934109_2023_06_02_18_31_03"
        }
    ],
    "hasNext": false,
    "remainingRecords": 0
}
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
Exemplo
{
    "code": "E001",
    "message": "A chave do path param está inválida",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E001B-406",
            "message": "Campo protocol obrigatório",
            "detailedMessage": "Não foi informado valor do campo protocol."
        },
        {
            "code": "E001E-406",
            "message": "Tamanho inválido para o campo protocol",
            "detailedMessage": "O valor do campo protocol deve ter o tamanho 20."
        }
    ]
}
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": "Protocolo de reembolso não encontrado",
    "detailedMessage": "Não foi encontrado nenhum protocolo de reembolso com o numero 41750520230602000070 (BOW_PROTOC)"
}


Attachments - Inclusão de novos anexos ao protocolo de reembolso

Realiza a inclusão de anexos ao protocolo de reembolso com o status de solicitação não concluída.

/totvsHealthPlans/attendance/v1/refunds/attachments

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
protocolstring

Numero do protocolo de reembolso

BOW_PROTOC*required
attachmentsarrayLista de anexos a serem adicionados ao protocolo
*required
attachments.hrefstring

URL do arquivo para download


*required (quando fileName e base64 não for informado)
attachments.fileNamestring

Nome do arquivo com a extensão, exemplo: comprovante.jpg


*required (quando o href não for informado)
attachments.base64string

Base 64 do arquivo


*required (quando o href não for informado)
Exemplo
{
    "protocol" : "41750520230607000012",
    "attachments" : [
        {
            "href" : "https://www.totvs.com/wp-content/uploads/2021/04/totvs-shared.png"
        },
        {
            "fileName" : "comprovante.jpg",
			"base64" : "iVBORw0KGgoAAAANSUhEUgAACT4AAATACAYAAADTW8q7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv..."
        }
    ]
}
hasNextbooleanIndica se ainda existem registros a serem retornados
*required
remainingRecordsnumeric (integer)Quantidade de registros ainda existem para retorno
*required
itemsarrayLista de anexos do protocolo

items.codestring

Código do anexo no sistema

ACB_CODOBJ*required
items.filestringNome do arquivo com extensãoACB_OBJETO*required
items.descriptionstringNome do arquivoACB_DESCRI*required
Exemplo
{
    "items": [
        {
            "code": "0000000410",
            "file": "TOTVS-SHARED_2023_06_07_15_09_46.PNG",
            "description": "totvs-shared_2023_06_07_15_09_46"
        },
        {
            "code": "0000000447",
            "file": "TOTVS-SHARED_2023_06_12_15_31_25.PNG",
            "description": "totvs-shared_2023_06_12_15_31_25"
        },
        {
            "code": "0000000448",
            "file": "SISTEMA-DE-GESTAO-ERP-PROTHEUS-01-FINANCEIRO_2023_06_12_15_31_25.JPG",
            "description": "sistema-de-gestao-erp-protheus-01-financeiro_2023_06_12_15_3"
        }
    ],
    "hasNext": false,
    "remainingRecords": 0
}
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": "JSON inválido",
    "detailedMessage": "Json Error: >>{\r\n            \"href\" : \"https://www.totvs.com/wp-content/uploads/2022/03/sistema-de-gestao-erp-protheus-01-financeiro.jpg\"\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.
Exemplo
{
    "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": "E002E-406",
            "message": "Tamanho inválido para o campo protocol",
            "detailedMessage": "O valor do campo protocol deve ter o tamanho 20."
        },
        {
            "code": "E002B-406",
            "message": "Campo attachments obrigatório",
            "detailedMessage": "Não foi informado valor do campo 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.
Exemplo
{
    "code": "E003",
    "message": "Protocolo de reembolso não encontrado",
    "detailedMessage": "Não foi encontrado nenhum protocolo de reembolso com o numero 41750520230607000099 (BOW_PROTOC)"
}
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": "E007",
    "message": "Permitido anexar documentos no protocolo somente no status de solicitação não concluida e aguardando informação do beneficiário",
    "detailedMessage": "Permitido somente anexar documentos no protocolo com o status (BOW_STATUS) igual a A (Solicitação não concluida) ou B (Aguardando informação do beneficiário)"
}
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": "E006",
    "message": "Dados inválidos para realizar a inclusão dos anexos",
    "detailedMessage": "Verifique os detalhes dos erros no campo details",
    "details": [
        {
            "code": "E005-400",
            "message": "Erro ao realizar download do arquivo.",
            "detailedMessage": "Status code: 404; Erro: Not Found\r\n; Url: https://www.totvs.com/wp-content/uploads/2021/09/totvs-shared.png"
        }
    ]
}


Attachments - Deleta um anexo do protocolo de reembolso

Deleta um anexo do protocolo de reembolso com o status de solicitação não concluída.

/totvsHealthPlans/attendance/v1/refunds/{protocol}/attachments/{code}

DELETE

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
protocol (path)stringNumero do protocolo (BOW_PROTOC)*required
code (path)string

Código do anexo (ACB_CODOBJ)

*required

Body


Não possui body!

Body


Não possui body!

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
Exemplo
{
    "code": "E001",
    "message": "As chaves do path param estão inválidas",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E001B-406",
            "message": "Campo protocol obrigatório",
            "detailedMessage": "Não foi informado valor do campo protocol."
        },
        {
            "code": "E001E-406",
            "message": "Tamanho inválido para o campo protocol",
            "detailedMessage": "O valor do campo protocol deve ter o tamanho 20."
        },
        {
            "code": "E001B-406",
            "message": "Campo code obrigatório",
            "detailedMessage": "Não foi informado valor do campo code."
        },
        {
            "code": "E001E-406",
            "message": "Tamanho inválido para o campo code",
            "detailedMessage": "O valor do campo code deve ter o tamanho 10."
        }
    ]
}
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": "Protocolo de reembolso não encontrado",
    "detailedMessage": "Não foi encontrado o protocolo de reembolso 41750520230607000099 (BOW_PROTOC) na base de dados (BOW)"
}
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": "Não foi possível excluir o anexo pois a solicitação já esta protocolada, entre em contato com a operadora",
    "detailedMessage": "Permitido somente excluir anexos para protocolos com o status (BOW_STATUS) igual a A (Solicitação não concluida)"
}
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": "Anexo não encontrada para o protocolo de reembolso 41750520230607000012",
    "detailedMessage": "Não foi encontrada o anexo de código 0000000999 (ACB_CODOBJ) para o protocolo 41750520230607000012 (BOW_PROTOC)"
}

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
BOW_PROTOCNumero do protocolo do reembolso no sistema
BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITOMatricula do beneficiário
BOW_STATUSStatus do Protocolo
B1N_SEQUEN Sequencial da despesa no protocolo
ACB_CODOBJ Código do anexo no sistema

05. TABELAS UTILIZADAS

  • Protocolo de Reembolso (BOW)
  • Itens do Protocolo de Reembolso (B1N)
  • Operadoras de Saúde (BA0)
  • Beneficiários (BA1)
  • Famílias (BA3)
  • Tipo Documento Reembolso (BBS)
  • Munícipios (BID)
  • Bancos de Conhecimentos (ACB)
  • Relação de Objetos x Entidades (AC9)
  • Processamento de Contas (BD5)
  • Eventos Processamentos Contas (BD6)
  • Part. Honorários Prestado Itens (BD7)
  • Mot. Exc. Protoc. Reembolso (B14)
  • Cab. Cad. Receitas (B4F)
  • Receitas Medicamento x Usuário (B7D)
  • Produtos de Saúde (BI3)
  • Tabela Padrão (BR8)
  • Contas a Receber (SE1)
  • Contas a Pagar (SE2)