SlideShare a Scribd company logo
1 of 32
Download to read offline
App todo gas: WordPress no es solo para web
Según la definición de Wikipedia:
“La interfaz de programación de aplicaciones, abreviada como API del inglés:
Application Programming Interface,​ es un conjunto de subrutinas, funciones y
procedimientos (o métodos, en la programación orientada a objetos) que
ofrece cierta biblioteca para ser utilizado por otro software como una capa de
abstracción.
Una API representa la capacidad de comunicación entre componentes de
software.”
¿Qué es una API-Rest?
¿Qué es una API-Rest?
Por ejemplo:
https://2018.sevilla.wordcamp.org/wp-json/wp/v2/posts
“A las URLs que reciben o retornan información
de un Web API se les llama endpoints”
¿Qué es un End-Point?
Te devuelve todos los tipos de type post que hay en el WordPress que sean
visibles para la API
Get estados
Devuelve los estados de las entradas
Get comentarios
Devuelve los comentarios
/wp-json/wp/v2/types
/wp-json/wp/v2/statuses
Get tipos
/wp-json/wp/v2/comments
Devuelve todas las taxonomías hasta de los custom post type
Get categoría
Devuelve las categorías
Get etiquetas
Devuelve las etiquetas
/wp-json/wp/v2/taxonomies
/wp-json/wp/v2/categories
/wp-json/wp/v2/tags
Get taxonomía
Get usuario
./wp-json/wp/v2/media
Devuelve los archivos subidos a medios
Get páginas
Devuelve las páginas
./wp-json/wp/v2/pages
Get medios
./wp-json/wp/v2/users/<id_usuario>
./wp-json/wp/v2/posts
Get entrada ./wp-json/wp/v2/post/<id>
Devuelve los 10 últimos artículos de WordPress
*Para poder traer más entradas le añadimos ./wp-json/wp/v2/posts/?per_page=50
Devuelve la entrada con el ID que le hemos indicado
El límite está en 100
Get entradas
Get entradas ./wp-json/wp/v2/posts
https://2018.sevilla.wordcamp.org/wp-json/wp/v2/posts
./wp-json/wp/v2/posts
ID del post
https://2018.sevilla.wordcamp.org/wp-json/wp/v2/posts
Get entradas
./wp-json/wp/v2/posts
https://2018.sevilla.wordcamp.org/wp-json/wp/v2/posts
Contenido
Get entradas
URL Entrada
./wp-json/wp/v2/posts
https://2018.sevilla.wordcamp.org/wp-json/wp/v2/posts
ID de usuario autor
Get entradas
./wp-json/wp/v2/users/<id_usuario>
https://2018.sevilla.wordcamp.org/wp-json/wp/v2/users/7425830
Get usuario
./wp-json/wp/v2/users/<id_usuario>
https://2018.sevilla.wordcamp.org/wp-json/wp/v2/users/7425830
Nombre usuario
URL web
Get usuario
./wp-json/wp/v2/users/<id_usuario>
https://2018.sevilla.wordcamp.org/wp-json/wp/v2/users/7425830
URL Avatar
Get usuario
En móvil
/wp/v2/users/7425830
/wp/v2/posts
Campo date
Campo name
Campo except Campo title
Campo _links > wp:attachment
Post ID
En móvil https://2018.sevilla.wordcamp.org/wp-json
Campo author
/wp/v2/posts/3
Campo _links > wp:attachment
Campo content
Campo title
/wp/v2/users/7425830
Campo name
En móvil https://2018.sevilla.wordcamp.org/wp-json
Campo author
Campo date
Campo avatars_URL > 48
Rutas especiales donde vamos a poder definir nuestras
propias funciones y ajustar las llamadas a nuestras
necesidades.
Custom endpoint
Crear los custom endpoint en
un plugin. ¡Nunca en el tema!
register_rest_route( 'wordapp/v1', '/noticias', array(
'methods' => 'GET',
'callback' => 'listar_noticias',
) );
Registrar una ruta propia:
Método de llamada
Función que se
ejecutará
Custom endpoint
Ruta
/wp-json/wordapp/v1/noticiasURL resultante
function listar_noticias(){
$listado_noticias = array();
return $listado_noticias;
}
Función que ejecuta la llamada al endpoint:
Construir un custom endpoint
function listar_noticias(){
$listado_noticias = array();
$args = array(
'numberposts' => 10
);
$posts_array = get_posts( $args );
return $listado_noticias;
}
Construir un custom endpoint
function listar_noticias(){
...
foreach ($posts_array as $entrada){
array_push($listado_noticias,[
]);
}
return $listado_noticias;
}
Construir un custom endpoint
function listar_noticias(){
...
foreach ($posts_array as $entrada){
array_push($listado_noticias,[
‘ID’ => $entrada -> ID,
]);
}
return $listado_noticias;
}
Construir un custom endpoint
function listar_noticias(){
...
foreach ($posts_array as $entrada){
array_push($listado_noticias,[
‘ID’ => $entrada -> ID,
'fechaEntrada' => $entrada ->post_date,
'tituloEntrada' => $entrada ->post_title,
'extractoEntrada' => $entrada ->post_excerpt,
‘nombreAutor’ => get_author_name( $entrada -> post_author),
]);
}
return $listado_noticias;
}
Construir un custom endpoint
register_rest_route( 'WordAPP/v1', '/noticia/(?P<id>d+)', array(
'methods' => 'GET',
'callback' => 'noticia_por_id',
) );
Con parámetros en la URL
Parámetro
Construir un custom endpoint
/wp-json/wordapp/v1/noticia/<id>URL resultante
Método de
llamada
Función que se
ejecutará
Ruta
function noticia_por_id ($data){
$datosNoticia=array();
return $datosNoticia;
}
Construir un custom endpoint
function noticia_por_id($data){
$datosNoticia=array();
$noticia=get_post($data[‘id’]);
return $datosNoticia;
}
Construir un custom endpoint
function noticia_por_id($data){
...
$datosNoticia=[
'fechaEntrada' => $noticia ->post_date,
‘tituloEntrada' => $noticia ->post_title,
'contenidoEntrada' => $noticia ->post_excerpt,
‘nombreAutor’ => get_author_name( $noticia -> post_author),
‘avatarURL’ => get_avatar_url( $noticia -> post_author ),
];
return $datosNoticia;
}
Construir un custom endpoint
Plugin preparado con CE
https://github.com/VictorSTM/PluginAPIWCSevilla
Plugin con los custom endpoints
programados en:
https://wplovescarla.com/
Paco Marchante Víctor Sáenz
@pacomarchante @victorsaenzTM
¡Gracias!

More Related Content

Similar to App todo gas: WordPress no es solo para web

WordPress como back-end de nuestras apps
WordPress como back-end de nuestras appsWordPress como back-end de nuestras apps
WordPress como back-end de nuestras appsJaime Fernández
 
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAbimael Desales López
 
Balotario resuelto
Balotario resueltoBalotario resuelto
Balotario resueltoAlexiToxD
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microserviciosPedro J. Molina
 
REST Versioning Architecture with ASP.NET MVC Web API v1.2
REST Versioning Architecture with ASP.NET MVC Web API v1.2REST Versioning Architecture with ASP.NET MVC Web API v1.2
REST Versioning Architecture with ASP.NET MVC Web API v1.2Rodrigo Ezequiel Liberoff V
 
API REST conceptos (Rails-api)
API REST conceptos (Rails-api)API REST conceptos (Rails-api)
API REST conceptos (Rails-api)Daryl Moreno
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 
Construcción de Frameworks a partir de Smarty y PEAR
Construcción de Frameworks a partir de Smarty y PEARConstrucción de Frameworks a partir de Smarty y PEAR
Construcción de Frameworks a partir de Smarty y PEARMarcos Martinez
 
Endpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-APIEndpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-APIEric Zeidan
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generationSergi Almar i Graupera
 
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos AiresPresentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Airespeterpunk
 
Presentacion #bbmnk
Presentacion #bbmnkPresentacion #bbmnk
Presentacion #bbmnkJuan Miqueo
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTBEEVA_es
 

Similar to App todo gas: WordPress no es solo para web (20)

WordPress como back-end de nuestras apps
WordPress como back-end de nuestras appsWordPress como back-end de nuestras apps
WordPress como back-end de nuestras apps
 
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDB
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
 
Balotario resuelto
Balotario resueltoBalotario resuelto
Balotario resuelto
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microservicios
 
REST Versioning Architecture with ASP.NET MVC Web API v1.2
REST Versioning Architecture with ASP.NET MVC Web API v1.2REST Versioning Architecture with ASP.NET MVC Web API v1.2
REST Versioning Architecture with ASP.NET MVC Web API v1.2
 
Servicios web
Servicios webServicios web
Servicios web
 
API REST conceptos (Rails-api)
API REST conceptos (Rails-api)API REST conceptos (Rails-api)
API REST conceptos (Rails-api)
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Construcción de Frameworks a partir de Smarty y PEAR
Construcción de Frameworks a partir de Smarty y PEARConstrucción de Frameworks a partir de Smarty y PEAR
Construcción de Frameworks a partir de Smarty y PEAR
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Endpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-APIEndpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-API
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos AiresPresentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
 
Presentacion #bbmnk
Presentacion #bbmnkPresentacion #bbmnk
Presentacion #bbmnk
 
10 cosas de rails que deberías saber
10 cosas de rails que deberías saber10 cosas de rails que deberías saber
10 cosas de rails que deberías saber
 
Servicios web java, php, perl, google
Servicios web java, php, perl, googleServicios web java, php, perl, google
Servicios web java, php, perl, google
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 

Recently uploaded

carta combinada para empleados de una empresa
carta combinada para empleados de una empresacarta combinada para empleados de una empresa
carta combinada para empleados de una empresafspro99
 
RESUMENES DE FUNCIONES DESARROLLO DE BLOG
RESUMENES DE FUNCIONES DESARROLLO DE BLOGRESUMENES DE FUNCIONES DESARROLLO DE BLOG
RESUMENES DE FUNCIONES DESARROLLO DE BLOGmarianhenao98
 
Estadistica , excel avanzado estudios estadisticos
Estadistica , excel avanzado  estudios estadisticosEstadistica , excel avanzado  estudios estadisticos
Estadistica , excel avanzado estudios estadisticosElizabethAcostaQuinc
 
Tecnología 2024 11-2 .pdf.......................
Tecnología 2024  11-2 .pdf.......................Tecnología 2024  11-2 .pdf.......................
Tecnología 2024 11-2 .pdf.......................GabrielHernndez206156
 
INFORME DE LA ACTIVIDAD GRUPAL; EXCEL AVANZADO Y MÉTODOS ESTADÍSTICO.pdf
INFORME DE LA  ACTIVIDAD GRUPAL; EXCEL AVANZADO Y MÉTODOS ESTADÍSTICO.pdfINFORME DE LA  ACTIVIDAD GRUPAL; EXCEL AVANZADO Y MÉTODOS ESTADÍSTICO.pdf
INFORME DE LA ACTIVIDAD GRUPAL; EXCEL AVANZADO Y MÉTODOS ESTADÍSTICO.pdfGabrielHernndez206156
 
Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)AlejandraCasallas7
 
IA en la empresa. La inteligencia artificial potencia la tarea diaria
IA en la empresa. La inteligencia artificial potencia la tarea diariaIA en la empresa. La inteligencia artificial potencia la tarea diaria
IA en la empresa. La inteligencia artificial potencia la tarea diariaEducática
 
Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)ChristianRivera122452
 
¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya
¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya
¿Cómo preguntar a la IA?_ Universitat Oberta de CatalunyaRichard Canabate
 
Las redes sociales
Las redes sociales Las redes sociales
Las redes sociales an494140
 
Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...NicolleAndrade7
 
Excel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfExcel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfNicolleAndrade7
 
CALCULADORA CIENTIFICA trabajo grupal 9-6.docx
CALCULADORA CIENTIFICA trabajo grupal 9-6.docxCALCULADORA CIENTIFICA trabajo grupal 9-6.docx
CALCULADORA CIENTIFICA trabajo grupal 9-6.docxzoecaicedosalazar
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..pdfBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..pdfIsabellaLugo3
 
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptx
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptxcuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptx
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptxange07u
 
Excel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfExcel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfSOFIAACOSTAESCOBAR
 
Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)lucianavillotalozano
 
PLATAFORMAS SOCIALES.pdf Mundos digitales
PLATAFORMAS SOCIALES.pdf Mundos digitalesPLATAFORMAS SOCIALES.pdf Mundos digitales
PLATAFORMAS SOCIALES.pdf Mundos digitalesCamilaGV4
 
Trabajo de tecnologia.pdf .
Trabajo de tecnologia.pdf                         .Trabajo de tecnologia.pdf                         .
Trabajo de tecnologia.pdf .SebastinPrez67
 
Carta y Excel trabajo sobre estadística.
Carta y Excel trabajo sobre estadística.Carta y Excel trabajo sobre estadística.
Carta y Excel trabajo sobre estadística.MariannaGutierrezGom
 

Recently uploaded (20)

carta combinada para empleados de una empresa
carta combinada para empleados de una empresacarta combinada para empleados de una empresa
carta combinada para empleados de una empresa
 
RESUMENES DE FUNCIONES DESARROLLO DE BLOG
RESUMENES DE FUNCIONES DESARROLLO DE BLOGRESUMENES DE FUNCIONES DESARROLLO DE BLOG
RESUMENES DE FUNCIONES DESARROLLO DE BLOG
 
Estadistica , excel avanzado estudios estadisticos
Estadistica , excel avanzado  estudios estadisticosEstadistica , excel avanzado  estudios estadisticos
Estadistica , excel avanzado estudios estadisticos
 
Tecnología 2024 11-2 .pdf.......................
Tecnología 2024  11-2 .pdf.......................Tecnología 2024  11-2 .pdf.......................
Tecnología 2024 11-2 .pdf.......................
 
INFORME DE LA ACTIVIDAD GRUPAL; EXCEL AVANZADO Y MÉTODOS ESTADÍSTICO.pdf
INFORME DE LA  ACTIVIDAD GRUPAL; EXCEL AVANZADO Y MÉTODOS ESTADÍSTICO.pdfINFORME DE LA  ACTIVIDAD GRUPAL; EXCEL AVANZADO Y MÉTODOS ESTADÍSTICO.pdf
INFORME DE LA ACTIVIDAD GRUPAL; EXCEL AVANZADO Y MÉTODOS ESTADÍSTICO.pdf
 
Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)
 
IA en la empresa. La inteligencia artificial potencia la tarea diaria
IA en la empresa. La inteligencia artificial potencia la tarea diariaIA en la empresa. La inteligencia artificial potencia la tarea diaria
IA en la empresa. La inteligencia artificial potencia la tarea diaria
 
Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)Lista de selección dinámica desde MySQL hacia PHP (con PDO)
Lista de selección dinámica desde MySQL hacia PHP (con PDO)
 
¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya
¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya
¿Cómo preguntar a la IA?_ Universitat Oberta de Catalunya
 
Las redes sociales
Las redes sociales Las redes sociales
Las redes sociales
 
Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...
 
Excel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfExcel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdf
 
CALCULADORA CIENTIFICA trabajo grupal 9-6.docx
CALCULADORA CIENTIFICA trabajo grupal 9-6.docxCALCULADORA CIENTIFICA trabajo grupal 9-6.docx
CALCULADORA CIENTIFICA trabajo grupal 9-6.docx
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..pdfBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..pdf
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..pdf
 
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptx
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptxcuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptx
cuadro comparativo de web 1.0 web 2.0 web 3.0 web 4.0......pptx
 
Excel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdfExcel avanzado y métodos estadísticos.pdf
Excel avanzado y métodos estadísticos.pdf
 
Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)Texto Argumentativo (Basura Electronica)
Texto Argumentativo (Basura Electronica)
 
PLATAFORMAS SOCIALES.pdf Mundos digitales
PLATAFORMAS SOCIALES.pdf Mundos digitalesPLATAFORMAS SOCIALES.pdf Mundos digitales
PLATAFORMAS SOCIALES.pdf Mundos digitales
 
Trabajo de tecnologia.pdf .
Trabajo de tecnologia.pdf                         .Trabajo de tecnologia.pdf                         .
Trabajo de tecnologia.pdf .
 
Carta y Excel trabajo sobre estadística.
Carta y Excel trabajo sobre estadística.Carta y Excel trabajo sobre estadística.
Carta y Excel trabajo sobre estadística.
 

App todo gas: WordPress no es solo para web