Cliente da API Java Booking

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:

  1. Faça o download da biblioteca cliente Java para descompactar o arquivo e receber o pacote "mapsbooking".
  2. 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.

  3. Faça uma cópia da sua chave privada (arquivo JSON) no diretório src.
  4. Adicione a biblioteca de cliente Java às dependências do seu projeto (inclua arquivos jar no diretório mapsbooking e libs-sources).
  5. 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:

  1. 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”
    }
    
  2. 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.
  3. 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.
  4. Os campos com valor zero não são exibidos na resposta.