Skip to content
This repository has been archived by the owner on Aug 6, 2024. It is now read-only.

Usando API do Índice Público

Celso Bessa edited this page May 18, 2018 · 5 revisions

Na atual versão, o Índice Público Veritate é baseado em WordPress e usa a API REST padrão do WP.

Usando a API para listas de checagens

Para obter uma lista com as 10 checagens mais recentes, basta fazer uma consulta ao endpoint padrão de posts do WordPress na URL https://veritatecrawler.wowperations.com.br/wp-json/wp/v2/posts, que retorna uma resposta em JSON com um array (i.e. vetor, matriz) contendo resultados como no exemplo abaixo. Para brevidade, apresentamos apenas 1 ítem:

[
	{
		"id": 1988,
		"date": "2018-05-17T09:00:23",
		"date_gmt": "2018-05-17T12:00:23",
		"modified": "2018-05-17T09:00:23",
		"modified_gmt": "2018-05-17T12:00:23",
		"title": {
			"rendered": "O que disseram os presidenciáveis diante da Frente Nacional de Prefeitos?"
		},
		"featured_media": 1989,
		"categories": [
			3
		],
		"tags": [
			1335
		],
		"post_authors": "por Chico Marés, Nathália Afonso",
		"source_url": "http://piaui.folha.uol.com.br/lupa/2018/05/17/prefeitos-presidenciaveis/",
		"_links": {
			"self": [
				{
					"href": "https://veritatecrawler.wowperations.com.br/wp-json/wp/v2/posts/1988"
				}
			],
			"collection": [
				{
					"href": "https://veritatecrawler.wowperations.com.br/wp-json/wp/v2/posts"
				}
			]
		}
	}
]

A descrição dos campos da resposta esta disponível aqui.

Modificando o número, paginação e ordenação dos resultados

Você pode usar parâmetros na URL de requisição para modificar o número de ítens, a páginação e a ordem dos resultados usando os parâmetros comuns da WP Rest API:

Paginação

Número de ítens

  • use ?per_page= para configurar o número de ítens que devem ser retornados numa resposta. Aceita um número entre 1 e 100. Por exemplo, usar https://veritatecrawler.wowperations.com.br/wp-json/wp/v2/posts?per_page=20 solicita 20 ítens na resposta
  • use ?offset= para pular um número de ítens no início da lista. Por exemplo, https://veritatecrawler.wowperations.com.br/wp-json/wp/v2/posts/wp/v2/posts?offset=10 vai trazer 10 resultados começando a partir do resultado 11

Ordenação

  • use ?order= para definir se os conteúdos virão em ordem ascendente ( ?order=asc ) ou descendente ( ?order=desc ). O padrão é ordem descendente.
  • use ?orderby= para estabelecer por qual campo os ítens serão ordenados, as opção válidas são are "date" (data), "id" (identificador numérico) e "title" (título).

Usando a API para checagens específicas

Para obter as informações de um ítem específicos, basta fazer uma consulta ao endpoint https://veritatecrawler.wowperations.com.br/wp-json/wp/v2/posts/XXXX, onde XXXX é o ID numérico do ítem, para obter uma resposta em JSON com um único ítem. Por exemplo, uma consulta à URI https://veritatecrawler.wowperations.com.br/wp-json/wp/v2/posts/1988 retorna o seguinte JSON:

{
	"id": 1988,
	"date": "2018-05-17T09:00:23",
	"date_gmt": "2018-05-17T12:00:23",
	"modified": "2018-05-17T09:00:23",
	"modified_gmt": "2018-05-17T12:00:23",
	"title": {
		"rendered": "O que disseram os presidenciáveis diante da Frente Nacional de Prefeitos?"
	},
	"featured_media": 1989,
	"categories": [
		3
	],
	"tags": [
		1335
	],
	"post_authors": "por Chico Marés, Nathália Afonso",
	"source_url": "http://piaui.folha.uol.com.br/lupa/2018/05/17/prefeitos-presidenciaveis/",
	"_links": {
		"self": [
			{
				"href": "https://veritatecrawler.wowperations.com.br/wp-json/wp/v2/posts/1988"
			}
		],
		"collection": [
			{
				"href": "https://veritatecrawler.wowperations.com.br/wp-json/wp/v2/posts"
			}
		]
	}
}

Campos da resposta JSON

As respostas JSON do índice Veritate contém os seguintes campos

  • id: identificador númerico do ítem
  • date: data de publicação do ítem no veículo de origem no fuso horário de Brasília (UTC -3)
  • date_gmt: data de publicação do ítem no veículo de origem no fuso UTC ([Tempo Universal Coordenado]
  • modified: data de modificação do ítem no veículo de origem no fuso horário de Brasília (UTC -3)
  • modified_gmt: data de modificação do ítem no veículo de origem no fuso UTC (Tempo Universal Coordenado)
  • title -> rendered: título do ítem, renderizado (i.e com acentos e caracteres especiais)
  • featured_media: identificador numérico da miniatura da imagem de tela do artigo
  • categories: um array de identificadores numéricos de categoria para o ítem. No índice Veritate, cada artigo é classificado com 1 (uma) categoria correspondendo ao nome dos veículo. Por exemplo, os artigos da Agência Lupa são catalogados como categoria "Agência Lupa", que tem a ID 3.
  • tags: um array de identificadores numéricos das tags atreladas ao ítem.
  • post_authors: autores do ítem, como identificado no veículo de origem
  • source_url: URL do ítem no veículo de origem
  • _links: links para recursos na API:
    • self: a URI para o próprio ítem na API
    • collection: A URI para a coleção de ítens

Sobre o uso de WordPress e WP REST API

Com dito acima, o Índice Público Veritate é baseado em WordPress e usa a API REST padrão do WP. As razões serão discutidas num post futuro, mas duas delas podem ser destacadas:

  • O projeto hoje é tocado por apenas uma pessoa e para economizar tempo e recursos, faz sentido utilizar o maior número possível de soluções prontas e maduras, que já tenham diversas questões de performance e segurança resolvidas;
  • Para estimular o uso fácil e rápido do Índice, faz sentido utilizar algo já conhecido e que desenvolvedores já tenham familiaridade e que já contem bom bastante referência técnica.

O WordPress é um sistema maduro, com um grande número de desenvolvedores utilizando suas APIs e abundância de referências de como usar a WP REST API