-
Notifications
You must be signed in to change notification settings - Fork 8
API Delibera
Plugins necessários para a configuração, que já estão mapeados como submodulos do wp-mu da redelivre:
- wp-api
- wp-api-enabler
Uma vez que o wp-api-enabler esta habilitado é necessários definir quais meta informações são necessárias, os metas abaixo são acessiveis em todas as pautas diretamente usando o nome abaixo:
- prazo_votacao
- prazo_relatoria
- prazo_validacao
- prazo_discussao
- prazo_eleicao_relator
- delibera_numero_comments_votacao
- delibera_numero_comments_relatoria
- delibera_numero_comments_validacao
- delibera_numero_comments_discussao
- delibera_numero_comments_eleicao_relator
- delibera_flow
- delibera_curtiram
- delibera_numero_curtir
- delibera_descurtiram
- delibera_numero_discordar
- situacao
- data_resolucao
Para o futuro: Mas encontramos este conteudo que mostra como criar uma api do zero, parece que ele foge totalmente da nossa proposta, mas é uma alternativa:
http://wordpress.stackexchange.com/questions/154843/wp-api-restfull-json-and-post-meta
Usando a API
Note que o base url do wp-api é: /wp-json/wp/v2/...
Para listar as pautas
/pautas
Para lista apenas uma pauta
/pauta/:id
- id - identificador da pauta
- date - data de criação
- date_gmt - data de criação da pauta no horario global
- guid.rendered - url...
- modified - data de modificação da pauta
- modified_gmt - data de modificação da pauta no horario global
- slug - apelido da pauta
- type - tipo de conteudo
- link - link para pauta no wp
- title.rendered - titulo da pauta
- content.rendered - conteudo da pauta
- excerpt.rendered - sumário do conteudo
- author - id do usuário que criou a pauta (dono da pauta)
- featured_media - ?
- comment_status - se a pauta esta aberta ou fechada para comentários - open - close (sempre open)
- ping_status - ?
- tags - tags da pauta
- _links - links da pauta
- _links.self.href - o proprio link da pauta
- _links.collection.href - link para a lista com todas as pautas
- _links.about.href - descrição do tipo pauta
- _links.author.href - link para o usuário
- _links.replies.href - link para todos os comentários de uma pauta
- prazo_votacao - data final da votação
- prazo_relatoria - data final da relatória
- prazo_validacao - data final da validação (define o prazo para a proposta de pauta virar pauta )
- prazo_discussao - data final para discução em torno da pauta
- -prazo_eleicao_relator - data final para eleição do relator
- delibera_numero_comments_votacao - numero de votos na pauta
- delibera_numero_comments_relatoria - numero de propostas criadas durante a relatoria
- delibera_numero_comments_validacao - numero de validações
- delibera_numero_comments_discussao - numero de propostas de encaminhamento geradas na etapa de discussão
- -delibera_numero_comments_eleicao_relator - numero total de votos durante o processo de relatoria
- delibera_flow - fluxo da pauta
- delibera_curtiram - vetor com ao menos os nomes dos usuários
- delibera_numero_curtir - numero de curtidas da pauta
- delibera_descurtiram - vetor com ao menos os nomes dos usuários
- delibera_numero_discordar - numero de usuários que discordaram
- delibera_numero_seguir - numero de usuários que seguiram a pauta
- delibera_seguiram - lista dos usuários que seguiram a pauta
- situacao - status da pauta
- data_resolucao - quando a pauta acabou, ou seja se todo mundo votou a pauta já fecha (acabou)
Legenda: colocamos - nos campos que ainda não estão desenvolvidos;
Para listar todos os comentários de uma pauta
/comments?post=:id
Abaixo descrevemos as infos contidas em cada um dos comentários:
- id - numero indentiicador do comentário
- post - o id do post
- parent - ?
- author - id do autor
- author_name - nome do autor
- author_url - url do autor
- date - data da postagem do comentário
- date_gmt - data global da postagem do comentário
- content.rendered - conteudo do comentário
- link - link do comentário no wp
- status - status do comentário (approved - aprovado...)
- type - tipo do conteudo - comentário
- author_avatar_urls - url dos avatares do author do comentário
- _links.self - link para o comentário atual, ou para este comentário
- _link.collection - link para todos os comentários
- _link.author - link para o json do usuário que realizou o comentário
- _link.up.post_type - informação do tipo conteudo (deve ser pauta)
- _link.up.href - link para o json da pauta dona deste comentário
Para listar todas as taxonomias publicas
/taxonomies
Para listar os conteudos de uma taxonomia especifica:
/taxonomies/
- slug da taxonomia - ex.: category, post_tag
- name - nome de Category
- slug - apelido de category
- description - descrição de category
- types - tipos de conteudo que utilizão category
- hierarchical - se a taxonomia suporta hierarquia ou não
- _links - alguns links
- _links.collection.href - acesso para a lista de taxonomias
Para pegar custom terms necessário um plugin: https://br.wordpress.org/plugins/wp-rest-api-all-terms/ resolvemos isso por meio do plugin, incluindo os campos que precisamos como resposta da rest
Para listar os usuários
/users
Para listar apenas um usuário
/users/:id
Campos
- id - identificador do usuário
- name - nome do usuário
- url - url do usuário
- description - descrição do usuário
- link - link para a página do usuário no wp
- slug - apelido do usuário
- avatar_urls - urls dos usuários
- _links - links do usuário ** _links.self.href - link este usuário ** _links.collection.href - acessar coleção de usuários
Para curtir uma pauta
/pautas/:pautaId/like
Como testar o like
curl —user user1:senha1 -X POST http://teste3.redelivre.ethymos.com.br/wp-json/wp/v2/pautas/17024/like
Exemplo de uma pauta ainda sem nenhum meta-post:
{
"id": 12,
"date": "2016-05-17T17:23:54",
"date_gmt": "2016-05-17T17:23:54",
"guid": {
"rendered": "http://redelivre.pure.za/?post_type=pauta&p=12"
},
"modified": "2016-05-17T17:23:54",
"modified_gmt": "2016-05-17T17:23:54",
"slug": "pauta-fechada",
"type": "pauta",
"link": "http://redelivre.pure.za/blog/pauta/pauta-fechada/",
"title": {
"rendered": "Pauta Fechada"
},
"content": {
"rendered": "<p>vamos lá</p>\n"
},
"excerpt": {
"rendered": "<p>vamos lá</p>\n"
},
"author": 1,
"featured_media": 0,
"comment_status": "open",
"ping_status": "open",
"tags": [],
"_links": {
"self": [
{
"href": "http://redelivre.pure.za/wp-json/wp/v2/pautas/12"
}
],
"collection": [
{
"href": "http://redelivre.pure.za/wp-json/wp/v2/pautas"
}
],
"about": [
{
"href": "http://redelivre.pure.za/wp-json/wp/v2/types/pauta"
}
],
"author": [
{
"embeddable": true,
"href": "http://redelivre.pure.za/wp-json/wp/v2/users/1"
}
],
"replies": [
{
"embeddable": true,
"href": "http://redelivre.pure.za/wp-json/wp/v2/comments?post=12"
}
],
"version-history": [
{
"href": "http://redelivre.pure.za/wp-json/wp/v2/pautas/12/revisions"
}
],
"https://api.w.org/attachment": [
{
"href": "http://redelivre.pure.za/wp-json/wp/v2/media?parent=12"
}
],
"https://api.w.org/term": [
{
"taxonomy": "post_tag",
"embeddable": true,
"href": "http://redelivre.pure.za/wp-json/wp/v2/tags?post=12"
}
]
}
}
curl -H "Content-Type: application/json" --user user:senha -X POST http://exemplo.com.br/wp-json/wp/v2/pautas -d '{"title":"Nova Pauta","tema":"1","content":"Mussum Ipsum, cacilds vidis litro abertis. Manduma pindureta quium dia nois paga. Sapien in monti palavris qui num significa nadis i pareci latim. Diuretics paradis num copo é motivis de denguis. Casamentiss faiz malandris se pirulitá."}'
"tema":"1" Taxonomia = tema e id do term = 1
curl —user user:senha -X POST http://exemplo.com.br/wp-json/wp/v2/pautas/1/like
curl —user user:senha -X POST http://exemplo.com.br/wp-json/wp/v2/pautas/1/unlike
"pautas/1" onde pautas é o tipo e 1 é o id da pauta
curl —user user:senha -X POST http://exemplo.com.br/wp-json/wp/v2/comments/1/like
curl —user user:senha -X POST http://exemplo.com.br/wp-json/wp/v2/comments/1/unlike
"comments/1" onde comments é o tipo (comment) e 1 é o id do comentário