Mejores prácticas de diseño de API
Documenta los cambios importantes como las migraciones de bases de datos: deliberados, revisados y anunciados. Estas prácticas hacen que las API HTTP de Node.js sean predecibles para los integradores.
Busca en todas las páginas de la documentación
Documenta los cambios importantes como las migraciones de bases de datos: deliberados, revisados y anunciados. Estas prácticas hacen que las API HTTP de Node.js sean predecibles para los integradores.
/v1/orders, no /getOrders.{ data } en éxito, { error } o Detalles del Problema en fallo.code estable por tipo de error. Los clientes nunca analizan el message en inglés.requestId en la carga útil del error para la correlación de soporte.limit a 100./v1. Nueva versión principal con cambios importantes -> /v2.* con credenciales.express.json({ limit }) o bodyLimit de Fastify./health/live y /health/ready.Las API B2B públicas siguen la lista completa. Las /admin internas pueden usar paginación por offset y errores más simples si están documentadas.
Usa las convenciones de GraphQL para errores y versionado; la lista REST todavía se aplica a las cargas útiles de los webhooks.
Herramientas internas y acciones POST estilo Stripe (/v1/payment_intents/:id/capture) como subrecursos, no verbos de nivel superior.
Elige uno para toda la organización. Las API de JavaScript suelen usar camelCase; documéntalo en OpenAPI.
Lista de verificación + diferencia de OpenAPI + ejemplo de curl en la descripción del PR.
Campo eventVersion; secreto de firma separado por versión principal si la forma de la carga útil cambia.
Vale la pena para recursos GET cacheables; If-None-Match devuelve 304.
POST /v1/orders:batch o /v1/orders/batch - documenta la forma de éxito parcial.
Multipart documentado por separado; no forzado en el envoltorio JSON.
Renombre de campo importante no documentado sin aumento de versión - prevenido por la sección E.
Versiones de la pila: Esta página fue escrita para Node.js 24.18.0 (LTS activa), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 y NestJS 11.
Revisado por Chris St. John·Última actualización: 19 jul 2026