En este documento, se describen algunas de las prácticas recomendadas para usar la API de CSS. Las recomendaciones que se brindan en esta página no son obligatorias para usar la API, pero pueden ayudar a aclarar algunos de los usos previstos.
Configura tu entorno
Para configurar tu entorno de desarrollo, sigue los pasos que se indican en la documentación de inicio rápido.
- Genera un usuario y un archivo JSON de permisos en la consola de Google Cloud
- Habilita la API de CSS en Google Cloud Console
- Agrega a ese usuario con permisos de administrador a tu cuenta de CSS (grupo de CSS o dominio de CSS).
- Verifica que estés usando el alcance de OAuth correcto:
https://www.googleapis.com/auth/content
Las bibliotecas cliente ahora se encuentran en los repositorios estándar de la mayoría de los lenguajes de programación. Puedes encontrar una lista de ellas en nuestra página de bibliotecas cliente.
Usa los IDs correctos
Usa los IDs correctos con los extremos de API correctos:
- API de CSS (
css.googleapis.com
): Usa el ID de dominio de CSS cuando interactúes con los productos de CSS (p.ej.,accounts/{cssDomainId}/cssProductInputs:insert
). - API de Merchant (
merchantapi.googleapis.com
): Usa la API de Merchant para los productos estándar de comercios.
Si los mezclas, se producirán errores. Consulta la Descripción general de la API de CSS para obtener más detalles.
Buenos métodos para comenzar
Te recomendamos que realices pruebas con los siguientes métodos:
ListChildAccounts
ListChildAccounts es una llamada de solo lectura que enumera todos tus dominios de CSS (si se llama para un grupo de CSS) o tus comercios (si se llama para un dominio de CSS). Por lo tanto, es un buen método para probar si todo está configurado correctamente.
Cómo insertar, enumerar, actualizar o borrar un producto
Una vez que sepas que la API funciona, intenta agregar un producto. Asegúrate de usar una raw_provided_id
que recuerdes.
- Inserta un producto de prueba con InsertCssProductInput. Tenemos código de muestra si necesitas ayuda para saber qué atributos enviar.
- Enumera todos tus productos con ListCssProducts. Hay un pequeño retraso en el procesamiento antes de que aparezca un producto después de la inserción, por lo que, si no lo ves, vuelve a intentarlo después de unos segundos.
- Actualiza un solo producto con UpdateCssProductInput usando tu
cssproductinput.name
. Solo debes enviar los atributos que se deben actualizar. Consulta el código de muestra aquí. - Borra el producto de prueba con DeleteCssProductInput.
Deberás usar
raw_provided_id
.
Usa Async para mejorar el rendimiento
La API de CSS está diseñada para llamadas paralelas. Verás que el rendimiento de las operaciones individuales puede ser lento, pero será mucho más rápido cuando llames a la misma operación varias veces en paralelo. La mejor manera de usar esta función es aprovechar la funcionalidad asíncrona de tu lenguaje de programación.
Ejemplos de algunos lenguajes de programación:
- En Java, usa insertCssProductInputCallable().futureCall().
- En Python, usa CssProductInputsServiceAsyncClient.
- En C#, usa InsertCssProductInputAsync.
Busca y usa la funcionalidad Async de tu lenguaje de programación para insertar varios productos al mismo tiempo. No tienes que preocuparte por sobrecargar nuestros sistemas, ya que para eso están los límites de cuota.
Puedes encontrar más detalles en nuestra página de rendimiento.
Valida tus cargas útiles
Para evitar errores comunes, verifica que tus cargas útiles JSON tengan el formato correcto:
- Consulta la documentación oficial: Siempre consulta la referencia de la API de CSS más reciente para obtener definiciones de campos, enumeraciones, tipos de datos y estructura de carga útil.
- Revisa las cargas útiles de ejemplo: Compara tus cargas útiles con los ejemplos de código proporcionados para identificar discrepancias.
- Tipos de datos: Asegúrate de usar los tipos de datos correctos (p.ej., cadenas, objetos, arrays) como se especifica en la documentación.
- Realiza pruebas de forma incremental: Comienza con cargas útiles válidas mínimas para confirmar la conectividad básica y agrega más atributos de forma gradual.
Actualiza un producto
Una vez que se sube un producto, permanecerá en nuestro sistema hasta que se actualice, se borre o venza.
- Puedes actualizar el producto completo enviando la solicitud
InsertCssProductInput
nuevamente con el mismoraw_provided_id
que usaste inicialmente. Por el momento, deberás enviar los datos de productos completos, incluso si solo cambiaron algunos atributos (quizás solo el precio o la disponibilidad). - Puedes actualizar partes de un producto con el método PATCH
UpdateCssProductInput
, especificando el nombre del producto y un cuerpo JSON que contenga los datos que deseas actualizar para el producto. A diferencia deInsertCssProductInput
, que requiere que se proporcionen todos los campos aplicables,UpdateCssProductInput
solo requiere que especifiques los campos que deseas cambiar. - Para borrar un producto, llama a
DeleteCssProductInput
con el mismoraw_provided_id
. - Los productos caducan automáticamente aproximadamente un mes después de la última actualización.
Modo de operación continua
Un modo de operación continua podría verse de la siguiente manera:
- Usa tus propios IDs internos como
raw_provided_id
. - Vuelve a subir todos los productos de forma periódica, tal vez semanalmente. Esto garantizará que los productos activos no venzan.
- Actualiza los productos individuales en cuanto recibas los datos modificados de tus comercios.
- Si no puedes reaccionar a los cambios de inmediato, busca todos los productos modificados con frecuencia (quizás cada hora) y vuelve a subir solo esos productos.
- En el caso de los productos que ya no están disponibles, puedes usar la llamada de eliminación o establecer la cantidad de ofertas disponibles en 0.
- No nos envíes productos sin cambios con frecuencia. Estas llamadas se descontarían de tu cuota de la API. Una actualización semanal es suficiente.
Selección de la oferta titular
La oferta titular no necesariamente tiene que ser la mejor o la más económica de tu sitio, pero sí debe destacarse. Puedes usar esta opción en los casos en que tu oferta principal cambie rápidamente. Aquí, podrías seleccionar otra oferta que sea más estable.
Revisa este documento de vez en cuando
Recibimos comentarios sobre cómo mejorar esta API y estamos trabajando para que algunas de estas mejoras estén disponibles. Actualizaremos esta página cuando tengamos nuevas funciones disponibles que simplifiquen el uso de la API de CSS.