¿Qué es GraphQL?
GraphQL es un lenguaje de consulta para API. Los clientes indican en una sola petición qué datos necesitan y reciben exactamente esos. GraphQL se desarrolló a partir de 2012 en Facebook (hoy Meta) y se publicó como código abierto en 2015.

GraphQL: definición e importancia
Una API es la interfaz mediante la cual los programas intercambian datos. GraphQL es un enfoque en el que el cliente describe en la petición exactamente qué campos necesita, y el servidor entrega solo esos. Los datos se consideran una red de objetos enlazados («grafo»), como cliente, pedidos y artículos.
GraphQL no es una base de datos ni sustituye a la lógica de negocio, sino una capa unificada que se sitúa delante. Detrás pueden estar bases de datos, otras interfaces o sistemas heredados. Hoy muchas plataformas ofrecen GraphQL, entre ellas GitHub y Shopify para sus interfaces, y numerosas empresas lo utilizan en sus propias aplicaciones.
Cómo funciona GraphQL
El servidor publica un esquema que describe todos los tipos, campos y relaciones disponibles. Los clientes envían normalmente, por HTTP POST a un único punto de acceso, una consulta (query) para leer datos o una mutación para modificarlos. Para actualizaciones en tiempo real existen, además, las suscripciones.
Un ejemplo: para una vista general, una aplicación necesita solo el nombre de un cliente y los números de sus tres últimos pedidos. Con una única consulta obtiene exactamente eso. Con una API REST clásica harían falta a menudo varias llamadas, que además devolverían más campos de los necesarios (under- y overfetching).
Ejemplo práctico: unos mismos datos, muchas interfaces
Un fabricante de muebles opera una tienda online, un portal para distribuidores y una app para el servicio externo. Las tres acceden a los mismos datos de producto, pero necesitan porciones distintas: la tienda, imágenes y descripciones; el portal de distribuidores, precios de compra; la app, solo el número de artículo y las existencias. Hasta ahora había tres interfaces separadas.
Con GraphQL, el equipo construye una capa común de la que cada interfaz consulta exactamente los campos que necesita. Los nuevos requisitos a menudo no exigen una interfaz nueva, sino solo una consulta adaptada. Los permisos se comprueban en el servidor, de modo que el portal de distribuidores puede ver los precios de compra y la tienda pública no.
Ventajas, límites y errores habituales
Las ventajas de GraphQL son menos tráfico de datos, un esquema autodescriptivo y un desarrollo rápido de las interfaces de usuario. Frente a ellas hay límites: el almacenamiento en caché es más laborioso que con REST, las consultas abiertas pueden sobrecargar mucho el servidor y el comienzo exige más conocimientos. Errores típicos:
- Usar GraphQL aunque una API REST sencilla sea más que suficiente
- No limitar la profundidad ni la complejidad de las consultas, de modo que una sola puede sobrecargar el servidor
- Comprobar los permisos solo en la interfaz en lugar de en el servidor para cada campo
- Exponer sin protección detalles del esquema y mensajes de error extensos
- Ignorar las consultas N+1 a la base de datos en el servidor
Qué debe tener en cuenta su empresa
Que encaje GraphQL o REST depende del uso: muchos clientes distintos y datos anidados favorecen a GraphQL; las interfaces sencillas y los datos fáciles de almacenar en caché, a REST. Nano Concepts desarrolla ambas variantes, las protege (autenticación, límites, monitorización) y documenta la API para que socios y equipos de frontend puedan usarla con rapidez.
Preguntas frecuentes sobre GraphQL
En REST, cada recurso tiene su propia dirección y devuelve una estructura de datos fija. En GraphQL suele haber un único punto de acceso y el cliente decide con la consulta qué campos recibe. GraphQL ahorra llamadas con datos anidados; REST es más sencillo y se almacena mejor en caché.
No necesariamente. GraphQL compensa con muchos clientes distintos, datos complejos e interrelacionados y requisitos que cambian con rapidez. Para interfaces sencillas y estables, REST suele ser la solución más ligera y con menos esfuerzo de operación. La elección depende del caso de uso.
No. GraphQL es un lenguaje de consulta y una capa de interfaz. Los datos siguen estando en bases de datos u otros sistemas, que el servidor GraphQL consulta en segundo plano y presenta al cliente en la forma deseada.
GraphQL es tan seguro como su implementación. Son importantes la autenticación, la comprobación de permisos a nivel de campo, el límite de complejidad de las consultas, el rate limiting y unos mensajes de error discretos. Sin estas medidas, los puntos de acceso abiertos se sobrecargan o se rastrean con facilidad.
Servicios que encajan

Desarrollo de API y backend
Interfaces y backends que conectan ERP, CRM, tienda y apps: intercambio automático de datos en lugar de teclearlos.
Más información
CMS headless
Mantenga los contenidos de forma centralizada y publíquelos en web, app y otros canales, con un frontend rápido y una redacción clara.
Más información
Headless Commerce
Frontend propio delante de Shopify o Shopware: rápido, de diseño libre y listo para tienda, app y canales de contenido.
Más informaciónTérminos relacionados
Relevante para estos sectores
Artículos relacionados de la revista

CMS headless: estrategia, modelo de contenido, vista previa y migración
Un CMS headless separa el contenido de su presentación y abastece web, app y canales de socios desde una sola fuente. Qué importa en la decisión, el modelo de contenido, la vista previa y la migración.
Seguir leyendo
Social selling B2B: cómo el liderazgo de opinión refuerza las ventas
Los decisores se informan durante mucho tiempo antes de hablar con ventas. Así se genera confianza con el social selling B2B, se alinean marketing y ventas y se mide el impacto en el CRM.
Seguir leyendo
IA para pymes: dónde ayudan de verdad chatbots y asistentes
La IA compensa en las pymes cuando asume una tarea bien delimitada. Dónde los chatbots y asistentes alivian servicio, ventas y conocimiento, y qué exigen la protección de datos y el Reglamento de IA.
Seguir leyendo