CONTEÚDO

  1. Introdução
  2. Endpoint
  3. Parâmetros
  4. Resposta


01. INTRODUÇÃO

Esta API cria um novo lote de importação de beneficiários em massa na operadora.
Os beneficiários serão gerados com um protocolo ao serem importados na rotina de análise de beneficiários (PLSA977AB), permitindo que a operadora análise e aprove a inclusão no grupo familiar (PLSA174).

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

02. ENDPOINT

/totvsHealthPlans/familyContract/v1/beneficiaries/importBatches

03. PARÂMETROS

NomeTipoLocalizaçãoDescrição

Content-Type

string

headermultipart/form-data ou application/json (body)
Authorizationstring

Header

Token de acesso obtido via a API de autenticação, no formato Bearer <access_token>.

healthInsurerCodestring

body/form

Código da operadora

companyCodestring

body/form

Código da empresa

contractCodestring

body/form

Código do contrato

contractVersionstring

body/form

Versão do contrato

subcontractCodestring

body/form

Código do subcontrato

subcontractVersionstring

body/form

Versão do subcontrato

loginUserstring

body/form

Login do portal

filefile

form-data

Arquivo CSV com os beneficiários

fileBase64string

body

Arquivo CSV em Base64

fileNamestring

body

Nome do arquivo CSV

Pode-se enviar o arquivo CSV dos beneficiários via file (form-data) ou fileBase64 (body) com o fileName.

{
  "healthInsurerCode": "0001",
  "companyCode": "1017",
  "contractCode": "000000000001",
  "contractVersion": "001",
  "subcontractCode": "000000001",
  "subcontractVersion": "001",
  "loginUser": "TOTVS",
  "fileBase64": "QjJOX0NPRFNFUTtCMk5fQ1BGVVNSO0IyTl9OT01VU1I7QjJOX0RBVE5BUztCMk5...",
  "fileName": "modelo-importacao-beneficiarios.csv"
}

04. RESPOSTA

201 - Operação realizada com sucesso

O sistema cria um novo lote na rotina de Lotes de Importação de Beneficiários (PLCTO001) com status Recebido, e anexa o arquivo CSV ao banco de conhecimento do lote.

CampoTipoDescriçãoCampo (Protheus)
batchCode

Código do Lote

BJ5_CODLOT

status

Status do LoteBJ5_STATUS
importDate

Data da importaçãoBJ5_DATIMP
importTime

Hora da importaçãoBJ5_HORIMP
loginUser

Usuário que gerou o loteBJ5_USRLOG
healthInsurerCode

Código da operadoraBJ5_CODOPE
companyCode

Código da empresaBJ5_CODEMP
contractCode

Código do contratoBJ5_CONEMP
contractVersion

Versão do contratoBJ5_VERCON
subcontractCode

Código do subcontratoBJ5_SUBCON
subcontractVersion

Versão do subcontratoBJ5_VERSUB
subcontractDescription

Descrição do subcontratoBQC_DESCRI
totalCount

Total de beneficiários do loteBJ5_QTDTOT
importedCount

Total de beneficiários importados (em processamento, pode variar)BJ5_QTDIMP
errorCount

Total de beneficiários com erro (em processamento, pode variar)BJ5_QTDERR
{
    "batchCode": "00000155",
    "status": "1",
    "importDate": "2025-08-22",
    "importTime": "17:07:17",
    "loginUser": "VINIEMP",
    "healthInsurerCode": "0001",
    "companyCode": "1017",
    "contractCode": "000000000001",
    "contractVersion": "001",
    "subcontractCode": "000000001",
    "subcontractVersion": "001",
    "subcontractDescription": "CONTRATO DE IMPOT. DE BENEFICIARIOS",
    "totalCount": 8,
    "importedCount": 0,
    "errorCount": 0
}

404 - Contrato informado não encontrado.

400 - Erro ao processar o arquivo CSV.

400 - Os campos do cabeçalho do arquivo não correspondem ao modelo esperado para a importação de beneficiários.

400 - O arquivo CSV do lote está vazio e não contém dados de beneficiários para processar.

400 - Parâmetro obrigatório não informado.

CampoTipoDescrição
code

Código identificador do erro.
message

Literal no idioma da requisição descrevendo o erro para o usuário.
detailedMessage

Mensagem técnica e mais detalhada do erro.
{
  "status": 400,
  "message": "Erro ao processar o arquivo CSV",
  "detailedMessage": "Não foi possível obter o arquivo CSV. Verifique se o arquivo está disponível e se está em um formato válido."
}