Árvore de páginas

Versões comparadas

Chave

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


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.

...

Dica
titleAutenticaçã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

Âncora
companies
companies

Painel
titleColorOrange
borderStylesolid
titleCompanies - Retorna o cadastro de empresas

Retorna as empresas cadastradas da operadora informada.

/totvsHealthPlans/familyContract/v1/companies

GET

Nota
Expandir
titleParameters
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
health-insurer-code healthInsurerCode (query)stringCódigo da operadora no sistema (BG9_CODINT)*required
login-user loginUser (query)stringFiltro de empresas pelo usuário de login do portal (BSW_LOGUSR)
group-type 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
Dica
local cUrl := "{{host}}/api/totvsHealthPlans/familyContract/v1" local oRestClient := FWRest():new(cUrl) local aHearder := {} local cBody := "" aAdd(aHeader, "Content-Type: application/json; charset=UTF-8") aAdd(aHeader, "Accept: application/json") aAdd(aHeader, "User-Agent: Chrome/65.0 (compatible; Protheus "+getBuild()+")") oRestClient:setPath("/companies") if oRestClient:Get(aHeader) ConOut("GET", oRestClient:GetResult()) else ConOut("GET", oRestClient:GetLastError()) endif

Expandir
titleRequest

Body


Não possui body!

Bloco de código
languagec#
themeRDark
titleExemplo (TL++)
linenumberstrue
Dica
Expandir
title(200) - Operação realizada com sucesso
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

(Pessoa física ou jurídica)

:

  • 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).


Bloco de código
languagec#
themeRDarkEmacs
titleExemplo
linenumberstrue
{
    "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?health-insurer-codehealthInsurerCode=0001"
                }
            ]
        }
    ],
    "hasNext": false,
    "remainingRecords": 0
}
Aviso
Expandir
title(406) - Parâmetros obrigatórios
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
Bloco de código
languagec#
themeRDarkEmacs
titleExemplo
linenumberstrue
{
    "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."
        }
    ]
}

...

Painel
titleColorOrange
borderStylesolid
titleContracts - 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

Nota
Expandir
titleParameters
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
health-insurer-code healthInsurerCode (query)stringCódigo da operadora no sistema (BT5_CODINT)*required
companyCode (path)stringCódigo da empresa no sistema (BT5_CODIGO)*required
login-user 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
Dica
Expandir
titleRequest

Body


Não possui body!


Dica
Expandir
title(200) - Operação realizada com sucesso
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

_type

stringTipo do contratoBT5_TIPCON*required

items.description

-contract-

_contract_type

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

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

  • rel: subcontracts

*required
Bloco de código
languagec#
themeRDarkEmacs
titleExemplo
linenumberstrue
{
    "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?health-insurer-codehealthInsurerCode=0001"
                }
            ]
        }
    ],
    "hasNext": false,
    "remainingRecords": 0
}
Aviso
Expandir
title(406) - Parâmetros obrigatórios
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
Bloco de código
languagec#
themeRDarkEmacs
titleExemplo
linenumberstrue
{
    "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 health-insurer-codehealthInsurerCode obrigatória",
            "detailedMessage": "Não foi informado no queryParams da requisição a chave health-insurer-code."
        }
    ]
}
Aviso
Expandir
title(404) - Empresa não encontrada
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.
Bloco de código
languagec#
themeRDarkEmacs
titleExemplo
linenumberstrue
{
    "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)."
}

...

Painel
titleColorOrange
borderStylesolid
titleSubcontracts - 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

Nota
Expandir
titleParameters
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
health-insurer-code 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
login-user 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
Dica
Expandir
titleRequest

Body


Não possui body!


Dica
Expandir
title(200) - Operação realizada com sucesso
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
Bloco de código
languagec#
themeRDarkEmacs
titleExemplo
linenumberstrue
{
    "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
}
Aviso
Expandir
title(406) - Parâmetros obrigatórios
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
Bloco de código
languagec#
themeRDarkEmacs
titleExemplo
linenumberstrue
{
    "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 health-insurer-codehealthInsurerCode obrigatória",
            "detailedMessage": "Não foi informado no queryParams da requisição a chave health-insurer-code."
        }
    ]
}
Aviso
Expandir
title(404) - Empresa não encontrado
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.
Bloco de código
languagec#
themeRDarkEmacs
titleExemplo
linenumberstrue
{
    "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)."
}
Aviso
Expandir
title(404) - Contrato não encontrado
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.
Bloco de código
languagec#
themeRDarkEmacs
titleExemplo
linenumberstrue
{
    "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)

...