Je suis en train d'installer un webhook sur Asana ce qui suit:Comment installer un webhook sur l'API Asana
token = <user_token>
uri = URI.parse("https://app.asana.com/api/1.0/webhooks")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer #{token}"
request.set_form_data(
"resource" => "219668070168571",
"target" => "https://myserveraddress/api/webhooks/asana/1234",
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
puts response.body
puts response.code
Et ceci est mon contrôleur de manipulation de la réponse:
response.set_header("X-Hook-Secret", request.headers["X-Hook-Secret"])
head 200
Et quand Je fais une demande boucle comme:
curl -i --header "X-Hook-Secret: 12356789" https://myserveraddress/api/webhooks/asana/1234
Je reçois la réponse suivante:
HTTP/1.1 200 OK
X-Hook-Secret: 12356789
Content-Type: text/html
Cache-Control: no-cache
X-Request-Id: fd8ec280-9ef1-426c-9cb5-58309f835ccf
X-Runtime: 0.045875
Vary: Origin
Transfer-Encoding: chunked
Mais lorsque je tente de configurer le webhook je reçois cette réponse de Asana:
{"errors":[{"message":"Could not complete activation handshake with target URL. Please ensure that the receiving server is accepting connections and supports SSL","help":"For more information on API status codes and how to handle them, read the docs on errors: https://asana.com/developers/documentation/getting-started/errors"}]}
Qu'est-ce que je manque ici?
Bonjour Matt. Merci pour votre réponse et désolé, il m'a pris si longtemps pour commenter. Votre réponse a du sens, cependant mon serveur est déjà threadé (j'utilise Puma), ce qui signifie que la requête d'origine ne bloque pas la seconde. – WagnerMatosUK