Faça o download do nosso cliente de 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.
Como começar:
- Faça o download da biblioteca de cliente Java descompactar o arquivo para acessar o pacote "mapsbooking".
-
Crie um projeto Java no seu ambiente de desenvolvimento integrado, faça o download dos códigos de amostra InventoryUpdate.java e BookingNotification.java neste repositório:
git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
e as importe para o projeto Java no diretório src.
- Faça uma cópia da sua chave privada (arquivo JSON) para o diretório src.
- Adicione a biblioteca de cliente Java às dependências do seu projeto. Inclua os arquivos jar no diretório mapsbooking e libs-sources.
- Nos dois arquivos Java, siga os comentários anotados com "TODO" para concluir suas implementações
Veja 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ê recebe 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 por um merchantId ou serviceId inválido, a chamada não gerará 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, portanto, 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 tornar os slots acessíveis, adicione o comerciante ou serviço ausente via 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 é obrigatória para mudar apenas os valores dos campos, conforme especificado na máscara, e deixar os outros intactos. Se você transmitir a string updateMask incorreta, 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 todos os campos tivesse sido especificada). Portanto, se você quiser atualizar todos os campos, basta definir updateMask vazia.
- Os campos com valor zero não são exibidos na resposta.