En este registro de cambios se destacan los cambios importantes de la guía de diseño de APIs.
2025-06
- Se ha redirigido la página de diseño de la convención de nomenclatura a la AIP de Google.
2024-10
- Se han redirigido las páginas de diseño a las APIs de Google, excepto las de estructura de directorios y convenciones de nomenclatura.
2021-12
- Se ha cambiado la terminología "API en red" por "API de red" para que sea coherente con https://google.aip.dev/9.
2021-09
- Documentar los formatos de error de la API de Google v1 y v2.
2021-04
Se ha introducido el control de versiones basado en la visibilidad.
Se ha añadido el título de la API al glosario.
2021-03
Se ha añadido una anotación para los campos de solo salida.
Actualiza las directrices de valores de enumeración para que siempre incluyan un valor
_UNSPECIFIED
explícito.Añade instrucciones sobre cómo generar y analizar nombres de recursos.
Añade
progress_percent
a los campos estándar.
2021-02
- Se han añadido directrices sobre los campos primitivos
optional
de proto3.
2021-01
Se ha actualizado la página de errores para incluir la última mejora relacionada con
google.rpc.ErrorInfo
ygoogle.api.ErrorReason
.Se han añadido directrices sobre cómo usar
oauth2l
,curl
y parámetros del sistema para solucionar errores con las APIs de Google.Se ha añadido la explicación del código de error
502
a la página Errores. Se trata de un error de red en lugar de un error de la API.
2020-12
- Los nombres de los paquetes deben usar nombres de componentes singulares para mantener la coherencia global. Los nombres de los paquetes no deben incluir guiones bajos.
2020-09
Se han corregido algunos requisitos de descripción de campos y se han cambiado algunos usos de "must" fuera del RFC 2119 por directivas "should" del RFC 2119.
Se ha eliminado el campo estándar
bool deleted
y se ha añadidogoogle.protobuf.Timestamp delete_time
(que ya estaba en la lista).
2020-07
Se ha actualizado documentation.md para que coincida con https://google.aip.dev/192#formatting. No se deben usar tablas de Markdown ni HTML sin formato en los comentarios de proto.
Se ha añadido
ErrorInfo
para gestionar los errores.Se han añadido cargas útiles grandes para patrones de diseño.
2020-04
- Se ha cambiado el nombre de las APIs de Cloud a APIs de Google Cloud en el glosario.
- Se han introducido API y servicio como sinónimos de servicio de API.
2020-02
- Se ha actualizado el control de versiones para añadir dos estrategias (para canales y para lanzamientos), se han eliminado las directrices sobre versiones de puntos y se ha cambiado la forma en que nos referimos al control de versiones semántico.
2020-01
- Añade la conservación de datos a los patrones de diseño.
2019-11
- Añade APIs de Cloud de terminología al glosario.
- Recomienda a los clientes que vuelvan a intentarlo solo si se produce un error UNAVAILABLE.
2019-06
- Añade "Bool vs Enum vs String" a los patrones de diseño.
2019-03
- Añadir parámetros del sistema a campos estándar.
2019-02
- Añade nombres de ámbito de dominio a los patrones de diseño.
2018-03
- Añade semánticas de cierre parcial de streaming a los patrones de diseño.
2018-02
- Añade
read_time
a los campos estándar.
2018-01
- Añade una referencia de esquema para la definición de servicio de la API.
2017-12
- Aclarar que la versión principal de la API debe ser el último componente del nombre del paquete proto.
2017-11
- Aclara por qué el método
Create
toma un recurso de entrada. - Aclarar los IDs de colecciones que no tienen forma plural, como evidence y weather.
- Añade un recurso singleton a los patrones de diseño.
- Aclarar las convenciones de nomenclatura de C# para acrónimos y versiones.
2017-09
- Añade
mime_type
a los campos estándar. - Añade
expire_time
a los campos estándar. - Añade
start_time
yend_time
a los campos estándar.
2017-02
- Añade "Endpoint de API" al glosario.
- Añade
update_mask
a los campos estándar. - Añade un enlace a
FieldMask
a los métodos estándar. - Menciona que la especificación de OpenAPI no admite números enteros sin signo.
- Aclarar que los nombres de los métodos deben usar verbos en imperativo.