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.