evolution-api icon indicating copy to clipboard operation
evolution-api copied to clipboard

500 - Internal Server Error - "Cannot set properties of undefined (setting 'events')" em `/rabbitmq/set/`

Open TiagoGouvea opened this issue 1 year ago • 2 comments

Welcome!

  • [X] Yes, I have searched for similar issues on GitHub and found none.

What did you do?

Ao tentar atualizar o rabbit de uma instância, obtenho 'Internal Server Error' / "Cannot set properties of undefined (setting 'events')"

Post enviado:

  • http://xxxxx:8080/rabbitmq/set/xxx
    options {
      method: 'POST',
      headers: {
        accept: 'application/json',
        'content-type': 'application/json',
        apiKey: '3xx-xx-xxx'
      },
      body: '{"events":["APPLICATION_STARTUP","QRCODE_UPDATED","MESSAGES_UPSERT","PRESENCE_UPDATE","CONNECTION_UPDATE","CALL"],"enabled":true}'
    }

What did you expect?

Esperava obter sucesso na alteração

What did you observe instead of what you expected?

   {
      status: 500,
      error: 'Internal Server Error',
      response: { message: "Cannot set properties of undefined (setting 'events')" }
    }

Which version of the API are you using?

2.1.1

What is your environment?

Docker

TiagoGouvea avatar Sep 30 '24 17:09 TiagoGouvea

O mesmo acontece pro SQS em /sqs/set/.

Testei algumas variações...

  • Enviando o instance.id: /sqs/set/{instance.id}
{
  status: 404,
  error: 'Not Found',
  response: {
    message: [
      'The "10a605f9-9de8-42d6-9ec4-1825d8c765c1" instance does not exist'
    ]
  }
}
  • Enviando o instance.name: /sqs/set/{instance.name}
{
  status: 500,
  error: 'Internal Server Error',
  response: { message: "Cannot set properties of undefined (setting 'events')" }
}

Enviando o nome não deu 404, então me dá entender que o certo seria realmente enviar o nome

Testei também enviando a chave API da instancia, e enviando a chave AUTHENTICATION_API_KEY e também não deu certo.

TiagoGouvea avatar Oct 01 '24 09:10 TiagoGouvea

Descobri o problema... A documentação está errada.

O body deve conter a chave na configuração na raiz, e então vir com os valores dentro. Exemplo do SQS:

body {
  sqs: {
    enabled: true,
    events: [
      'APPLICATION_STARTUP',
      'CALL',
      'CONNECTION_UPDATE',
      'MESSAGES_EDITED',
      'MESSAGES_UPSERT',
      'PRESENCE_UPDATE',
      'QRCODE_UPDATED'
    ]
  }
}

E a requisição deve ir com /sqs/set/{instance.name} ao invés de "ID of the instance to connect" como apontado na documentação.

O mesmo padrão deve ser seguido quando atualizar Rabbit e Webhook.

TiagoGouvea avatar Oct 01 '24 10:10 TiagoGouvea

Saberia me falar se teve algum problema semelhante na OpenAI, estou tendo esse mesmo problema, mas com a OpenAI: #985

luccamrofc avatar Oct 16 '24 17:10 luccamrofc

@luccamrofc tentou enviar da forma que enviei?

TiagoGouvea avatar Oct 21 '24 18:10 TiagoGouvea

Fale @TiagoGouvea ja experimentou com outra versão do evolution mais recente como a 2.1.2 ou 2.2.0?

dpaes avatar Dec 13 '24 16:12 dpaes

Ainda não atualizei, estou na 2.1.1. Vou atualizar estes dias. Mas, estou usando o SQS ao inves do Rabbit, se encaixou melhor na minha necessidade.

TiagoGouvea avatar Dec 21 '24 13:12 TiagoGouvea