[Resolvido] Blip Desk API filtrar por storageDate


#1

Existe a opção na documentação de utilizar o filtro no serviço Getting all tickets of a bot e passar o $filter com o campo storageDate, porem quando utilizo esse filter reotrna o erro: Unexpected operands ‘-01-15’ found while processing ‘eq’. Perhaps an operator is missing:

Alguém sabe como passar a data como esse parâmetro?

Segue a documentação que estou seguindo:

https://docs.blip.ai/?http#getting-all-tickets-of-a-bot

Segue em exemplo da requisição e a resposta dessa requisição:

{  
  "id": "3",
  "to": "postmaster@desk.msging.net",
  "method": "get",
  "uri": "/tickets?$take=5000&$filter=storageDate%20eq%202019-01-15"
}

Resposta:

{
    "method": "get",
    "status": "failure",
    "reason": {
        "code": 61,
        "description": "Unexpected operands '-01-15' found while processing 'eq'. Perhaps an operator is missing"
    },
    "id": "3",
    "from": "postmaster@desk.msging.net/#az-iris5",
    "to": "conciergedesk@msging.net",
    "metadata": {
        "#command.uri": "lime://conciergedesk@msging.net/tickets?$take=5000&$filter=storageDate%20eq%202019-01-15"
    }
}

#2

Oi, @Juscelio_de_Oliveira.

Pra filtrar uma data exata, precisamos pedir os tickets que estão entre a data maior ou igual a data que queremos e menor que um dia após a data que queremos, desta maneira:

Quero:

2019-01-15

Devo pedir:

storageDate >= 2019-01-15 e storageDate < 2019-01-16

Sendo que a data em si deve ser precedida por “datetimeoffset” e deve estar entre aspas simples. Então o comando ficaria assim:

  {
      "id": "3",
      "to": "postmaster@desk.msging.net",
      "method": "get",
      "uri": "/tickets?$take=5000&$filter=storageDate%20ge%20datetimeoffset'2019-01-15'%20and%20storageDate%20lt%20datetimeoffset'2019-01-16'"
  }