Pular para o conteúdo principal

Reservar ou liberar slot no Tasy

🌐 URLs dos Ambientes

🔹 Homologação

https://integracao.hml.cloud.medsenior.com.br/api/v1/agendamentos/slots-livres/reservar

🔹 Produção

https://integracao.medsenior.com.br/api/v1/agendamentos/slots-livres/reservar

Utilize o mesmo corpo da requisição em ambos os ambientes, alterando apenas o host.

📌 Endpoint

POST /api/v1/agendamentos/slots-livres/reservar

🔐 Autenticação

Este endpoint requer um token válido da plataforma de integração.

Authorization: Bearer TOKEN_GERADO_NA_AUTENTICACAO

🔽 Cabeçalhos

NomeValor
acceptapplication/json
content-typeapplication/json

📥 Corpo da Requisição

CampoTipoObrigatórioDescrição
nrSeqAgendalongSimSequencial do slot retornado por MS_BUSCAR_SLOTS_LIVRES (campo NR_SEQ_AGENDA).
nrSeqProcInternolongSimCódigo interno do procedimento no Tasy.
ieLadostringCondicionalLateralidade do exame: E (esquerdo), D (direito) ou A (ambos). Obrigatório apenas quando o exame exigir lado.
nrMinDuracaointSimDuração do exame em minutos. Ao informar um valor diferente do padrão, o Tasy reorganiza os slots conforme a duração.
ieOpcaostringSimAção desejada: R para reservar o slot ou CR para cancelar/liberar.
tokenReservaCancstringCondicionalToken da reserva a ser liberada. Obrigatório quando ieOpcao = "CR". Máximo 32 caracteres.
cdPessoaFisicalongSimIdentificador interno do beneficiário no Tasy.
cdConveniolongSimCódigo do convênio no Tasy.
cdCategorialongSimCódigo da categoria do plano no Tasy.
cdPlanolongSimCódigo do plano no Tasy.
cdUsuarioConveniostringSimCódigo da carteirinha do beneficiário.
nmUsuariostringSimIdentificação do serviço integrador (até 30 caracteres, sem espaços nas extremidades).

Para cancelamento/liberação (ieOpcao = "CR"), use o tokenReservaCanc retornado na reserva (TOKEN_RESERVA_P).

🔄 Exemplos de Requisição

🔹 Reserva de slot (ieOpcao = "R")

curl -X 'POST' \
'https://integracao.hml.cloud.medsenior.com.br/api/v1/agendamentos/exames/slots-livres/reservas' \
-H 'accept: application/json' \
-H 'authorization: Bearer TOKEN_GERADO_NA_AUTENTICACAO' \
-H 'content-type: application/json' \
-d '{
"nrSeqAgenda": 982345,
"nrSeqProcInterno": 123456,
"ieLado": "A",
"nrMinDuracao": 30,
"ieOpcao": "R",
"cdPessoaFisica": 78910,
"cdConvenio": 20,
"cdCategoria": 5,
"cdPlano": 1010,
"cdUsuarioConvenio": "1234567890",
"nmUsuario": "portal.agendamento"
}'

🔹 Cancelamento/liberação (ieOpcao = "CR")

curl -X 'POST' \
'https://integracao.medsenior.com.br/api/v1/agendamentos/exames/slots-livres/reservas' \
-H 'accept: application/json' \
-H 'authorization: Bearer TOKEN_GERADO_NA_AUTENTICACAO' \
-H 'content-type: application/json' \
-d '{
"nrSeqAgenda": 982345,
"nrSeqProcInterno": 123456,
"ieLado": "A",
"nrMinDuracao": 30,
"ieOpcao": "CR",
"tokenReservaCanc": "c0a8011b7f2c4c0c8f34a58b4d7aa9ff",
"cdPessoaFisica": 78910,
"cdConvenio": 20,
"cdCategoria": 5,
"cdPlano": 1010,
"cdUsuarioConvenio": "1234567890",
"nmUsuario": "portal.agendamento"
}'

✅ Respostas de Sucesso

  • Status Codes: 200 OK (reserva ou liberação), 409 Conflict (slot indisponível ou falha de liberação), 404 Not Found (slot não encontrado)

Reserva confirmada (ieOpcao = "R", CODIGO_P = "0")

{
"IE_RESERVADO_P": "S",
"TOKEN_RESERVA_P": "c0a8011b7f2c4c0c8f34a58b4d7aa9ff",
"CODIGO_P": "0",
"MENSAGEM_P": "Slot reservado"
}

Liberação/cancelamento (ieOpcao = "CR", CODIGO_P = "1")

{
"IE_RESERVADO_P": "N",
"TOKEN_RESERVA_P": "",
"CODIGO_P": "1",
"MENSAGEM_P": "Slot liberado"
}

ℹ️ Observações de negócio

  • O token retornado em TOKEN_RESERVA_P deve ser enviado para marcar o exame (MS_MARCAR_EXAME).
  • ieLado só deve ser informado quando o exame exigir lateralidade; valores aceitos: E, D ou A.
  • ieOpcao aceita apenas R (reservar) ou CR (cancelar/liberar). Para CR, informe tokenReservaCanc (máx. 32 caracteres).
  • nrMinDuracao reorganiza os slots no Tasy quando informado diferente do padrão do exame.

❌ Códigos de retorno do Tasy

CODIGO_PDescriçãoHTTP
0Slot reservado.200 OK
1Reserva cancelada / slot liberado.200 OK
2Horário não está mais disponível.409 Conflict
3Slot não encontrado.404 Not Found
4Não foi possível cancelar a reserva.409 Conflict
5Exame já agendado para o beneficiário.409 Conflict
9Erro interno (SQLERRM).500 Server Error

❌ Códigos de Erro (HTTP)

Status CodeSignificadoDescrição
400Bad RequestFalha na validação local (campos obrigatórios, formatos ou limites).
401UnauthorizedToken inválido ou ausente.
404Not FoundSlot não encontrado (CODIGO_P = 3).
409ConflictSlot indisponível ou liberação não concluída (CODIGO_P = 2, 4 ou 5).
500Server ErrorErro inesperado ao executar a procedure (CODIGO_P = 9).