Atribuir Practitioner ao Guest

Descrição

Permite atribuir um Practitioner (ou Master Practitioner) a um usuário Guest, atualizando o campo parent_id do usuário caso esteja vazio e o usuário tenha a role "Guest".

Verbo

POST

URL Base

https://api.soargi.com

Endpoint

/guest/assign-practitioner

Cabeçalhos

Parâmetro Valor
Content-Type application/json
Authorization Bearer {token}
Esta rota exige autenticação via token JWT de convidado. O token é obtido ao validar o OTP do evento.

Campos Esperados

Campo Tipo Obrigatório Descrição
user_id integer Não* ID do usuário Guest. Opcional se o campo email for informado.
email string Não* E-mail do usuário Guest. Opcional se o campo user_id for informado.
practitioner_id integer Sim ID do Practitioner/Master Practitioner a ser atribuído.
* Um dos campos user_id ou email deve ser informado obrigatoriamente.

Corpo da Requisição

{
  "user_id": 123,
  "practitioner_id": 456
}

Ou, alternativamente:

{
  "email": "guest@email.com",
  "practitioner_id": 456
}

Sucesso - 200

{
  "success": true,
  "user_id": 123,
  "practitioner_id": 456,
  "message": "Practitioner atribuído com sucesso ao usuário Guest."
}

Erro - 404 (Usuário não encontrado)

{
  "status": 404,
  "messages": {
    "error": "Usuário não encontrado."
  }
}

Erro - 422 (Campos obrigatórios)

{
  "status": 422,
  "messages": {
    "error": "É necessário informar practitioner_id e user_id ou email."
  }
}

Erro - 409 (Usuário já possui practitioner)

{
  "status": 409,
  "messages": {
    "error": "Usuário já possui um practitioner atribuído."
  }
}

Erro - 422 (Usuário não é Guest)

{
  "status": 422,
  "messages": {
    "error": "Usuário não possui perfil Guest."
  }
}

Códigos de Resposta

  • 200 - Practitioner atribuído com sucesso
  • 404 - Usuário não encontrado
  • 422 - Campos obrigatórios ausentes ou usuário não é Guest
  • 409 - Usuário já possui practitioner
  • 500 - Erro interno ao atribuir practitioner

Observações

  • Atenção: Esta rota exige autenticação via token JWT de convidado (enviado no header Authorization).
  • O campo practitioner_id é obrigatório.
  • Um dos campos user_id ou email deve ser informado obrigatoriamente.
  • Se ambos forem enviados, user_id tem prioridade.
  • O endpoint retorna erro caso o usuário não seja Guest, já possua practitioner ou não seja encontrado.