Skip to content

Latest commit

 

History

History
208 lines (171 loc) · 4.29 KB

rhs-api.md

File metadata and controls

208 lines (171 loc) · 4.29 KB

Rede Humaniza SUS - Application Programming Interface (RHS-API)

Breve Descrição

API REST da Rede Humaniza SUS.

Endpoints

1. User Device

/wp-json/rhs/v1/user-device/(?P<device_or_user_id>[a-zA-Z0-9-]+)
  • Métodos: POST, GET, DELETE

  • Parâmetro: device_or_user_id (string)

  • Callback: USER_DEVICE_manipulate

    No callback o tipo de método é verificado e:

    • Caso POST: recebe como parâmetro o ID de notificações push do dispositivo mobile, salva esse ID no banco de dados como metadado do usuário (meta_key: _device_id).
    • Caso GET: recebe como parâmetro o ID do usuário e retorna todos os Device IDs associados.
    • Caso DELETE: recebe como parâmetro o Device ID do usuário e o remove do banco de dados.
  • Autenticação oauth1: SIM

Retorno do POST:

Sucesso:

{
  'info': 'Device ID adicionado com sucesso!',
  'device_id': device_push_id,
  'usermeta_id': usermeta_id
}

Erro:

{
  'info': 'Ooops! Erro ao adicionar Device ID! É possível que esse Device ID já exista para esse usuário',
  'device_id': device_push_id,
  'status': false
}

Retorno do GET:

Sucesso:

[
  device1_id,
  device2_id,
  ...
]

Erro:

{
  'info': 'Device ID não existe para esse usuário!',
  'status': false
}

Retorno do DELETE:

Sucesso:

{
  'info': 'Device ID excluído com sucesso!',
  'status': true
}

Erro:

{
  'info': 'Ooops! Erro ao excluir Device ID!',
  'status': false
}

2. User

/wp-json/rhs/v1/user/(?P<id>[\d]+)

Recebe como parâmetro o ID do usuário e, retorna suas informações.

  • Método: GET
  • Parâmetro: id (int)
  • Callback: USER_show
  • Autenticação oauth1: NÃO

Retorna Objeto WP_User em JSON.

3. Follow

/wp-json/rhs/v1/follow/(?P<id>[\d]+)
  • Métodos: POST, DELETE

  • Parâmetro: id (int)

  • Callback: USER_follow

    No Callback o tipo de método é verificado e:

    • Caso POST: Recebe como parâmetro o ID do usuário e a ação de seguir é feita.
    • Caso DELETE: Recebe como parâmetro o ID do usuário e ação de deixar de seguir é feita.
  • Autenticação oauth1: SIM

Retorno do POST: response é false se segue, true se não;

Retorno do DELETE: reponse é true se deixou de seguir, false se não.

{
  'response': response,
  'user_id': user_id,
  'follow_id': id_seguido
}

4. Vote

/wp-json/rhs/v1/votes/(?P<id>[\d]+)

Recebe como parâmetro o ID do post que receberá o voto e, registra esse voto caso o usuário possa votar no post, caso não, um erro é retornado.

  • Método: POST
  • Parâmetro: id (int)
  • Callback POST_vote
  • Autenticação oauth1: SIM

Retorna JSON (data é true se usuário pode votar e votou, false se não):

{
  'response': data,
  'post_id': post_id,
  'total_votes': post_total_votes
}

5. Notifications List

Recebe como parâmetro o ID do usuário e o número da página e, retorna as notificações associadas ao usuário.

/wp-json/rhs/v1/notifications/(?P<id>[\d]+)/page=(?P<page>[0-9]+)/
  • Método: GET
  • Parâmetros: id, page (int)
  • Callback USER_notification_list
  • Autenticação oauth1: SIM

Retorno JSON (Objeto de Objetos):

{
  {
    'notificationId': id,
    'type': type,
    'channel': channel,
    'object_id': object_id,
    'datetime': data_and_time,
      'object': object,
      'text': text,
      'textdate': textdate,
      'image': image,
      'object_type': object_type,
      'user_id': user_id
  },
  {
    ...
  },
    ...
}

6. Notifications Mark All Read

Recebe como parâmetro o ID do usuário.

wp-json/rhs/v1/notifications/mark-all-read/(?P<id>[\d]+)
  • Método: POST
  • Parâmetros: id (int)
  • Callback USER_read_all_notifications
  • Autenticação oauth1: SIM

Retorna a quantidade de notificações marcadas como lida.

7. Notifications Unread Number

Recebe como parâmetro o ID do usuário.

wp-json/rhs/v1/notifications/unread-number/(?P<id>[\d]+)
  • Método: GET
  • Parâmetros: id (int)
  • Callback USER_notify_count
  • Autenticação oauth1: SIM

Retorna a quantidade de notificações não lidas.