Ir para o conteúdo

Utilizador

Entidade utilizador da aplicação. Os utilizadores são objectos de autenticação e autorização.

Endpoints

Método URL
GET /user/<user>
POST /user
PUT /user/<user>
DELETE /user/<user>

GET /user/<user>

Payload: Sem payload.

Devolve: O utilizador (o campo password devolve o hash, não a password em texto simples).

Example:

curl -u "username:api_key" -H "Accept: application/json" \
  https://app.duo.pt/user/{user_id}

Response:

{
  "success": true,
  "data": {
    "user": {
      "id": 1,
      "username": "user@example.com",
      "smtp_server": 1,
      "sms_server": 1,
      "parent": 522,
      "limit_contacts": 1000,
      "limit_monthly_emails": 1000,
      "limit_monthly_sms": 1000
    },
    "month_delta": 0
  }
}

POST /user

Parâmetro Tipo Descrição
username string Nome de utilizador (endereço de email)
password_hash string A password do utilizador (texto simples no POST/PUT)
parent int ID do utilizador pai
smtp_server int ID do servidor SMTP para este utilizador
sms_server int ID do servidor SMS para este utilizador
limit_contacts int Máximo de contactos permitidos em todas as listas deste utilizador
limit_monthly_emails int Máximo de mensagens de email por mês civil
limit_monthly_sms int Máximo de SMS por mês civil

Devolve: O novo utilizador.

Aviso

Os três campos limit_* usam -1 como sentinela de "sem limite" — é o que a aplicação web envia para Unlimited. Submeter um valor vazio grava 0, não null: limit_contacts=0 bloqueia a criação de contactos e limit_monthly_emails=0 / limit_monthly_sms=0 desativam o envio nesse canal. Ao editar um utilizador, reenviar -1 em cada limite que deva continuar ilimitado.

Um password_hash vazio no PUT preserva a password atual.


PUT /user/<user>

Mesmo payload que o POST.

Nota

Esta rota não aceita o verbo HTTP PUT nativo (devolve Requested URL not found … for HTTP verb PUT). Enviar um POST para /user/<user> com um campo adicional x-verb=PUT — é o que a aplicação web faz.

Devolve: O utilizador editado.


DELETE /user/<user>

Payload: Sem payload.

Devolve: O utilizador eliminado.