Criando uma API REST personalizada para o WordPress

porLuis Augusto Moretto

Criando uma API REST personalizada para o WordPress

Wordpress Rest Api Custom Endpoint
Custom WordPress Endpoints com API REST

Introdução

Frequentemente durante o desenvolvimento de aplicativos e sistemas necessitamos criar serviços rest para expor informações.

A necessidade de compartilhamento das informações por meio de serviços REST, é para que os mesmos sejam consumidos por múltiplos canais como App, Website, ERP etc.

Assim se o WordPress é o seu CMS, ficou muito facil para criar um REST API endpoint  com dados personalizados. 

Aprenda a criar o seu endpoint personalizado no WordPress neste post.

Declarando o serviço rest API

Dentro de seu plugin personalizado ou no arquivo functions.php do seu tema, adicione a seguinte função para declarar a rota do serviço.

No item 1 declaramos o nome do serviço e no item 2 a função que vai recuperar as informações do banco de dados. Em nosso exemplo o nome da rota de servico seria algo como:

https://xxxxxxxx/wp-json/twitterbot/v1/bot
Wordpress Rest Api Custom Endpoint custom query var
Declarando um custom ENDPOINT com a API REST do WordPress

Função de callback com os dados

Após a declaração do endpoint que na prática é o endereço do serviço, precisamos definir os dados de resposta.

No exemplo criamos uma classe do twitter que recupera os dados do Mysql com a API do wordpress e retorna o dataset para ser formatado como JSON.

Observe que para encapsular seus dados no callback passe como parâmetro seu array no construtor da classe WP_REST_Response conforme o exemplo.

Wordpress Rest Api Custom Endpoint custom query var
Função de callback do Endpoint

Fazendo uma consulta personalizada no serviço

Com o método de callback em mãos falta o ultimo passo. Recuperar nossos dados personalizados do WordPress.

A grande sacada aqui é o conjunto de meta-dados do WordPress. Ele permite representar diversos conceitos de seu sistema de forma abstrata. 

Assim para protejer os dados ao expor como um serviço, utilizamos um aliás nas colunas selecionadas do banco.

Além de customizar, oculta qual a tabela do banco de dados compartilhada pelo serviço. Conceitualmente deixa mais seguro o seu serviço.

Custom wordpress php mysql query extension plugin component
Consulta personalizada nos meta dados do WordPress.

Happy Coding! 😀