Cliente de la API de Booking para Java
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Puedes descargar nuestro cliente de la API de actualizaciones en tiempo real de Java para comenzar a implementar las actualizaciones en tiempo real.
Requisito:
Crea tu cuenta de servicio y descarga tu clave privada.
Comienza ahora:
- Descarga la biblioteca cliente de Java y descomprime el archivo para obtener el paquete "mapsbooking".
-
Crea un proyecto Java en tu IDE, descarga los códigos de muestra InventoryUpdate.java y BookingNotification.java de este repositorio:
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
y, luego, importarlos a tu proyecto de Java en el directorio src.
- Crea una copia de tu clave privada (archivo JSON) en el directorio src.
- Agrega la biblioteca cliente de Java a las dependencias de tu proyecto (incluye archivos JAR en el directorio mapsbooking y libs-sources).
- En ambos archivos Java, sigue las tareas pendientes para completar las implementaciones.
Aquí puedes encontrar más detalles sobre la API de REST.
Solución de problemas:
-
Cuando intentes crear un comercio o servicio nuevo con un merchantId o serviceId existentes, recibirás el siguiente mensaje de error:
409 Conflict
{
“code” : 409,
“errors” :
[{
“domain” : “global”,
“message” : “Requested entity already exists”,
“reason” : “alreadyExists”,
“debugInfo” : “detail: "[ORIGINAL ERROR] generic::already_exists: ...”\n"
}],
“message” : “Requested entity already exists”,
“status” : “ALREADY_EXISTS”
}
- Cuando realices una llamada de reemplazo de disponibilidad con un merchantId o serviceId no válidos, la llamada no arrojará un mensaje de error. Esto se debe a que los cambios en los horarios de disponibilidad a través de las RTUs admiten la ejecución fuera de orden y, por lo tanto, no están asociados con un merchantId o serviceId. Sin embargo, los horarios de la solicitud no se publicarán en producción debido a que merchantId o serviceId no son válidos. Para que los horarios se puedan publicar, agrega el comercio o servicio faltante a través de las RTUs o los feeds.
- En todas las funciones de actualización, el parámetro "updateMask" debe estar en formato FieldMask para especificar los campos que se actualizarán. La API solo debe cambiar los valores de los campos como se especifica en la máscara y dejar los demás sin cambios. Si pasas la cadena de updateMask incorrecta, la actualización no se aplicará. Si no hay una máscara de campo en la actualización, la operación se aplica a todos los campos (como si se hubiera especificado una máscara de campo para todos los campos). Por lo tanto, si deseas actualizar todos los campos, simplemente deja el campo updateMask vacío.
- Cualquier campo que tenga un valor cero no se mostrará en la respuesta.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-26 (UTC)
[null,null,["Última actualización: 2025-07-26 (UTC)"],[[["\u003cp\u003eDownload the Java real-time update API client and sample code to get started with implementing real-time updates for your booking services.\u003c/p\u003e\n"],["\u003cp\u003eYou will need a service account with a downloaded private key to use the client.\u003c/p\u003e\n"],["\u003cp\u003eThe client library allows you to manage inventory and booking notifications, and more details on the REST API are available in the documentation.\u003c/p\u003e\n"],["\u003cp\u003eTroubleshooting information is provided for common issues such as entity conflicts, invalid IDs, and update mask usage.\u003c/p\u003e\n"],["\u003cp\u003eRemember that zero-valued fields are not displayed in responses from the API.\u003c/p\u003e\n"]]],["Download the Java real-time update API client and library. Create a Java project, import the sample code files, `InventoryUpdate.java` and `BookingNotification.java`, and copy your private key to the `src` directory. Add the Java Client Library to your project dependencies. Follow the TODOs in the Java files to complete implementation. Be aware of 409 errors with existing IDs. Replace availability calls won't throw errors with invalid IDs. Ensure the 'updateMask' parameter is in FieldMask format in update functions.\n"],null,["# Java Booking API client\n\nYou can download our\n[Java real time update API client](https://maps-booking.googlesource.com/java-maps-booking-api-example/) to help get started implementing\nthe real time updates.\n\nPrerequisite:\n-------------\n\nHave your service account created, download your private key.\n\nGet started:\n------------\n\n1. Download the [Java client library](https://dl.google.com/mapsbooking/apiclients/v1alpha/mapsbooking_java_public.zip) unzip the file to get the 'mapsbooking' package.\n2. Create a java project in your IDE, download the sample codes\n [InventoryUpdate.java](https://maps-booking.googlesource.com/java-maps-booking-api-example/+/master/InventoryUpdate.java) and\n [BookingNotification.java](https://maps-booking.googlesource.com/java-maps-booking-api-example/+/master/BookingNotification.java) from this repo:\n\n ```java\n git clone https://maps-booking.googlesource.com/java-maps-booking-api-example\n ```\n\n and import them into your java project under src directory.\n3. Make a copy of your private key (JSON file) to the src directory.\n4. Add the Java Client Library to the dependencies of your project (include jar files under mapsbooking and libs-sources directory).\n5. In both java files, follow the TODOs to complete your implementations\n\nMore detail about the REST API can be\n[found here](/maps-booking/reference/maps-booking-api/rest).\n\nTroubleshooting:\n----------------\n\n1. When trying to create a new merchant/service with an existing merchantId or\n serviceId, you will get the following error message:\n\n ```java\n 409 Conflict\n {\n \"code\" : 409,\n \"errors\" :\n [{\n \"domain\" : \"global\",\n \"message\" : \"Requested entity already exists\",\n \"reason\" : \"alreadyExists\",\n \"debugInfo\" : \"detail: \"[ORIGINAL ERROR] generic::already_exists: ...\"\\n\"\n }],\n \"message\" : \"Requested entity already exists\",\n \"status\" : \"ALREADY_EXISTS\"\n }\n ```\n2. When making a replace availaiblity call with an invalid merchantId or serviceId, the call will **not** throw an error message. This is because changes to availability slots via RTUs support out-of-order execution and thus is not associated with a merchantId or serviceId. However, the slots in the request will not be served in the production due to the invalid merchantId or serviceId. To make the slots servable, please add the missing merchant or service via RTUs or feeds.\n3. In all update functions, the parameter 'updateMask' must be in [FieldMask](/protocol-buffers/docs/reference/google.protobuf#fieldmask) format to specify the fields to update. The API is required to only change the values of the fields as specified in the mask and leave the others untouched. If you pass the wrong updateMask string, the update will not take effect. If a field mask is not present on update, the operation applies to all fields (as if a field mask of all fields has been specified). So if you want to update all fields, just set the updateMask empty.\n4. Any field that has a zero value is not shown in the response."]]