Faça o download do nosso cliente da API Java Update em tempo real para ajudar a começar a implementar as atualizações em tempo real.
Pré-requisito:
Depois de criar a conta de serviço, faça o download da chave privada.
Como começar:
- Faça o download da biblioteca cliente Java para descompactar o arquivo e receber o pacote "mapsbooking".
-
Crie um projeto Java no ambiente de desenvolvimento integrado e faça o download dos códigos de amostra InventoryUpdate.java e BookingNotification.java deste repositório:
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
e importe-as para seu projeto Java no diretório src.
- Faça uma cópia da sua 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).
- Nos dois arquivos Java, siga os comentários marcados com "TODO" para concluir as implementações
Veja mais detalhes sobre a API REST aqui.
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 para disponibilidade por um merchantId ou serviceId inválido, a chamada não emitirá uma mensagem de erro. Isso ocorre porque as alterações nos slots de disponibilidade via RTUs são compatíveis com a execução fora de ordem e não estã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 que os slots sejam exibidos, adicione o comerciante ou serviço ausente por 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 é necessária para mudar apenas os valores dos campos conforme especificado na máscara e deixar os outros como estão. Se você enviar a string updateMask errada, a atualização não terá efeito. 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 quiser atualizar todos os campos, basta definir updateMask vazio.
- Os campos com valor zero não são exibidos na resposta.