JAVA REST

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:

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

  3. Faça uma cópia da 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. 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:

  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 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.
  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 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.
  4. Qualquer campo com um valor zero não é mostrado na resposta.