Árvore de páginas


CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
    1. Companies - Retorna o cadastro de empresas
    2. Contracts - Retorna os contratos da empresa
    3. Subcontracts - Retorna os subcontratos do contrato da empresa
  3. Tela api companies
    1. Outras Ações / Ações relacionadas
  4. Tela api companies
    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


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

Companies - Retorna o cadastro de empresas

Retorna as empresas cadastradas da operadora informada.

/totvsHealthPlans/familyContract/v1/companies

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 no sistema (BG9_CODINT)*required
loginUser (query)stringFiltro de empresas pelo usuário de login do portal (BSW_LOGUSR)
groupType (query)stringFiltro de empresas pelo tipo de grupo (BG9_TIPO): 1=Pessoa Física e 2=Pessoa Jurídica
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 empresas retornadas

items.company_codestringCódigoBG9_CODIGO*required
items.descriptionstringDescriçãoBG9_DESCRI*required
items.group_typestring

Tipo de grupo:

  • 1 = Pessoa Física
  • 2 = Pessoa Juridica
BG9_TIPO*required
items.usestring

Uso:

  • 1 = Normal
  • 2 = Usuários Admissionais/Contratos não cadastrados
BG9_USO*required
items.linksarray

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

  • rel: contracts (somente para pessoa jurídica).


Exemplo
{
    "items": [
        {
            "company_code": "0001",
            "description": "CONTRATOS PESSOA FISICA",
            "group_type": "1",
            "use": "1"
        },
        {
            "company_code": "0002",
            "description": "CONTRATOS PESSOA JURIDICA",
            "group_type": "2",
            "use": "1",
            "links": [
                {
                    "rel": "contracts",
                    "href": "/totvsHealthPlans/familyContract/v1/companies/0002/contracts?healthInsurerCode=0001"
                }
            ]
        }
    ],
    "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": "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."
        }
    ]
}


Contracts - Retorna os contratos da empresa

Retorna os contratos da empresa informada (somente para empresa do tipo pessoa jurídica)

/totvsHealthPlans/familyContract/v1/companies/{companyCode}/contracts

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 no sistema (BT5_CODINT)*required
companyCode (path)stringCódigo da empresa no sistema (BT5_CODIGO)*required
loginUser (query)stringFiltro de contratos pelo usuário de login do portal (BSW_LOGUSR)
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 contratos retornados

items.company_codestringCódigo da empresaBT5_CODIGO*required
items.contract_codestringNúmero do contratoBT5_NUMCON*required
items.contract_version_codestringVersão do contratoBT5_VERSAO*required
items.contract_datestring (date)Data do contratoBT5_DATCON*required

items.contract_type

stringTipo do contratoBT5_TIPCON*required

items.description_contract_type

stringDescrição do tipo do contratoBII_DESCRI*required
items.linksarray

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

  • rel: subcontracts

*required
Exemplo
{
    "items": [
        {
            "company_code": "1008",
            "contract_code": "000000000001",
            "contract_version_code": "001",
            "contract_date": "2021-02-12",
            "contract_type": "3",
            "description_contract_type": "COLETIVO EMPRESARIAL",
            "links": [
                {
                    "rel": "subcontracts",
                    "href": "/totvsHealthPlans/familyContract/v1/companies/1008/contracts/000000000001001/subcontracts?healthInsurerCode=0001"
                }
            ]
        }
    ],
    "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": "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 companyCode obrigatória",
            "detailedMessage": "Não foi informado no pathParams da requisição a chave companyCode."
        },
        {
            "code": "E001-406",
            "message": "Chave healthInsurerCode obrigatória",
            "detailedMessage": "Não foi informado no queryParams da requisição a chave health-insurer-code."
        }
    ]
}
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": "Empresa não encontrada na operadora.",
    "detailedMessage": "Não foi encontrada na tabela BG9 a empresa de código 1098 (BG9_CODIGO)."
}


Subcontracts - Retorna os subcontratos do contrato da empresa

Retorna os subcontratos do contrato informado da empresa (somente para empresa do tipo pessoa jurídica)

/totvsHealthPlans/familyContract/v1/companies/{companyCode}/contracts/{contractCode}/subcontracts

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 no sistema (BQC_CODIGO)*required
companyCode (path)stringCódigo da empresa no sistema (BQC_CODIGO)*required
contractCode (path)stringContrato da empresa (BQC_NUMCON+BQC_VERCON)*required
loginUser (query)stringFiltro de subcontratos pelo usuário de login do portal (BSW_LOGUSR)
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 subcontratos retornados

items.subcontract_codestringNumero do subcontratoBQC_SUBCON*required
items.subcontract_version_codestringVersão do subcontratoBQC_VERSUB*required
items.descriptionstringDescrição do subcontratoBQC_DESCRI*required
items.subcontract_datestring (date)Data do subcontratoBQC_DATCON*required
items.expiration_datestring (date)Data de validade do subcontratoBQC_VALID
Exemplo
{
    "items": [
        {
            "subcontract_code": "000000001",
            "subcontract_version_code": "001",
            "description": "SUBCONTRATO USO GERAL",
            "subcontract_date": "2021-02-12",
            "expiration_date": ""
        },
        {
            "subcontract_code": "000000002",
            "subcontract_version_code": "001",
            "description": "COBRANCA PATRONAL COMPARTILHADA",
            "subcontract_date": "2021-02-12",
            "expiration_date": ""
        }
    ],
    "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": "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 companyCode obrigatória",
            "detailedMessage": "Não foi informado no pathParams da requisição a chave companyCode."
        },
        {
            "code": "E001-406",
            "message": "Chave contractCode obrigatória",
            "detailedMessage": "Não foi informado no pathParams da requisição a chave contractCode."
        },
        {
            "code": "E001-406",
            "message": "Chave healthInsurerCode obrigatória",
            "detailedMessage": "Não foi informado no queryParams da requisição a chave health-insurer-code."
        }
    ]
}
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": "Empresa não encontrada na operadora.",
    "detailedMessage": "Não foi encontrada na tabela BG9 a empresa de código 1098 (BG9_CODIGO)."
}
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": "Contrato da empresa não encontrado.",
    "detailedMessage": "Não foi encontrado na tabela BT5 o contrato de código 000000000003001 (BT5_NUMCON+BT5_VERSAO)."
}

03. TELA API COMPANIES

Outras Ações / Ações relacionadas

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

04. TELA API COMPANIES

Principais Campos e Parâmetros

CampoDescrição
BG9_CODIGOCódigo da empresa no sistema
BG9_CODINTCódigo da operadora saúde no sistema
BQC_NUMCON+BQC_VERCONChave do contrato

05. TABELAS UTILIZADAS

  • Empresas (BG9)
  • Usuário Portal x Empresa (B40)
  • Usuarios do Portal (BSW)
  • Grupo de Empresa Contrato (BT5)
  • Tipos de Contratos (BII)
  • Subcontrato (BQC)