Cliente da API Java Booking
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Faça o download do
cliente da API de atualização em tempo real do Java para começar a implementar
as atualizações em tempo real.
Pré-requisitos:
Crie sua conta de serviço e faça o download da chave privada.
Primeiros passos:
- Faça o download da
biblioteca de cliente Java e descompacte o arquivo para receber o pacote "mapsbooking".
-
Crie um projeto Java no seu ambiente de desenvolvimento integrado (IDE) e faça o download dos códigos de exemplo
InventoryUpdate.java e
BookingNotification.java deste repositório:
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
e importe-as para o projeto Java no diretório src.
- Faça uma cópia da chave privada (arquivo JSON) no diretório src.
- Adicione a biblioteca de cliente Java às dependências do seu projeto
(inclua arquivos JAR no diretório mapsbooking e libs-sources).
- Em ambos os arquivos Java, siga as tarefas a fazer para concluir as implementações.
Confira mais detalhes sobre a API REST
neste link.
Solução de problemas:
-
Ao tentar criar um novo comerciante/serviço com um merchantId ou
serviceId existente, você vai receber a seguinte mensagem de erro:
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”
}
- Ao fazer uma chamada de substituição de disponibilidade com um merchantId ou
serviceId inválido, a chamada não gera uma mensagem de erro. Isso ocorre porque as mudanças nos intervalos de disponibilidade por meio de RTUs oferecem suporte à execução fora de ordem e, portanto, não são associadas a um merchantId ou serviceId. No entanto, os slots na solicitação não serão veiculados na produção devido ao merchantId ou serviceId inválido. Para disponibilizar os horários, adicione o comerciante ou serviço ausente usando RTUs ou feeds.
- Em todas as funções de atualização, o parâmetro "updateMask" precisa estar no
formato FieldMask para especificar os campos a serem atualizados. A API precisa
mudar apenas os valores dos campos conforme especificado na máscara
e deixar os outros intactos. Se você transmitir a string de updateMask errada,
a atualização não vai entrar em vigor. Se uma máscara de campo não estiver presente na atualização,
a operação será aplicada a todos os campos, como se uma máscara de campo de todos os campos tivesse sido especificada. Portanto, se você quiser atualizar todos os campos, basta definir a
máscara de atualização como vazia.
- Qualquer campo com um valor zero não é mostrado na resposta.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-07-26 UTC.
[null,null,["Última atualização 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."]]