Conexão

O Redu é uma rede social, onde seus usuários estão relacionados entre si através de uma Conexão. Um usuário pode ser contato de outro, através de uma solicitação de conexão, que pode ser aceita ou rejeitada. No contexto da API o relacionamento entre usuários será chamado de connection
.
Atributos:
Link | Descrição |
---|---|
id | Identificador único do contato |
status | Estado atual da conexão. Exemplo: requested |
user | Usuário do qual está sendo requisitado as conexões |
contact | Contato do usuário |

Estados:
Usuário requisita uma conexão para um contato, a conexão fica em estado requested
para o usuário e pending
para o contato. Quando a conexão é aceita os dois passam para o estado de accepted
.
Estado | Descrição |
---|---|
requested | O usuário requisitou o pedido de conexão |
pending | O usuário tem um requisição pendente para a conexão |
accepted | Os usuários são contatos |
GET api/users/:user_id/connections
Retorna uma lista com todas os connections
de um usuário específico.
Parâmetros
Parâmetro | Descrição | Restrições |
---|---|---|
:user_id | ID do usuário | N/A |
status | Filtragem pelo estado da conexão | N/A |
GET api/connections/:id
Retorna a conexão em questão.
Parâmetros
Parâmetro | Descrição | Restrições |
---|---|---|
:id | ID da conexão | N/A |
Exemplo
Requisição
GET /api/users/jessicab/connections/12
Resposta
{
"links": [
{ "rel": "self", "href": "http://redu.com.br/api/connections/6501" },
{ "rel": "user", "href": "http://redu.com.br/api/users/jessicab" },
{ "rel": "contact", "href": "http://redu.com.br/api/users/julianalucena" }],
"id": 6501,
"contact": {
"links": [
{ "rel": "chats","href": "http://redu.com.br/api/users/julianalucena/chats" },
{ "rel": "connections", "href": "http://redu.com.br/api/users/julianalucena/connections" },
{ "rel": "contacts", "href": "http://redu.com.br/api/users/julianalucena/contacts" },
{ "rel": "self", "href": "http://redu.com.br/api/users/julianalucena" },
{ "rel": "statuses", "href": "http://redu.com.br/api/users/julianalucena/statuses" },
{ "rel": "timeline", "href": "http://redu.com.br/api/users/julianalucena/statuses/timeline" },
{ "rel": "enrollments", "href": "http://redu.com.br/api/users/julianalucena/enrollments" }],
"thumbnails": [
{ "href": "http://s3.amazonaws.com/redu_uploads/users/avatars/8/thumb_32/2012-10-14_14.09.33.jpg?1355925772", "size": "32x32" },
{ "href": "http://s3.amazonaws.com/redu_uploads/users/avatars/8/thumb_110/2012-10-14_14.09.33.jpg?1355925772", "size": "110x110" }],
"id": 8,
"last_name": "Lucena",
"login": "julianalucena",
"first_name": "Juliana"
},
"user": {
"links": [
{ "rel": "chats","href": "http://redu.com.br/api/users/jessicab/chats" },
{ "rel": "connections", "href": "http://redu.com.br/api/users/jessicab/connections" },
{ "rel": "contacts", "href": "http://redu.com.br/api/users/jessicab/contacts" },
{ "rel": "self", "href": "http://redu.com.br/api/users/jessicab" },
{ "rel": "statuses", "href": "http://redu.com.br/api/users/jessicab/statuses" },
{ "rel": "timeline", "href": "http://redu.com.br/api/users/jessicab/statuses/timeline" },
{ "rel": "enrollments", "href": "http://redu.com.br/api/users/jessicab/enrollments" }],
"thumbnails": [
{ "href": "http://s3.amazonaws.com/redu_uploads/users/avatars/443/thumb_32/J%C3%A9ssica.jpg?1334865750", "size": "32x32" },
{ "href": "http://s3.amazonaws.com/redu_uploads/users/avatars/443/thumb_110/J%C3%A9ssica.jpg?1334865750", "size": "110x110" }],
"id": 443,
"last_name": "Barbalho",
"login": "jessicab",
"first_name": "Jéssica"
},
"status": "accepted"
}
POST /api/users/:user_id/connections
Cria uma nova conexão com o usuário.
Parâmetros
Parâmetro | Descrição | Restrições |
---|---|---|
:user_id | ID do usuário em questão | N/A |
connection[contact_id] | ID do novo contato | N/A |
PUT /api/connections/:connection_id
Aceita um pedido de conexão que está no estado pending
transformando-o em accepted
.
Parâmetros
Parâmetro | Descrição | Restrições |
---|---|---|
:connection_id | ID da conexão | N/A |
DELETE /api/connections/:connection_id
Remove uma conexão.
Parâmetros
Parâmetro | Descrição | Restrições |
---|---|---|
:connection_id | ID da conexão | N/A |