Webhook

Hi,

I am trying to exchange information with Airtable through a webhook.
The port I am using to display the webApp is 8080 and Airtable is sending me post to http://MyIpaddress:8080.
Below is my code in the event handlers HandleURL
I don’t seem to receive the post.
Is it a problem of port setting ?

If Request.Method = “POST” Then
// Récupérer les données du formulaire envoyées par le webhook
Var largeur As String = Request.Parameter(“largeur”)
Var hauteur As String = Request.Parameter(“hauteur”)
Var couleur As String = Request.Parameter(“couleur”)
Var type As String = Request.Parameter(“type”)

// Construire le texte à afficher dans TFEcout
Var texte As String = "Largeur: " + largeur + ", Hauteur: " + hauteur + ", Couleur: " + couleur + ", Type: " + type

// Assigner la valeur au WebTextField appelé TFEcout
Données.TFEcout.Value = texte

// Répondre au serveur webhook avec un statut 200 et un message de succès
Response.Status = 200
Response.MIMEType = “text/plain”
Response.Write(“Données reçues avec succès”)

// Indiquer que la requête a été traitée avec succès
Return True
End If

// Si ce n’est pas une requête POST, retourner False pour indiquer que la requête n’a pas été gérée
Return False

Thanks

Chris

sorry, I put the code in the wrong place

If Request.Method = "POST" Then
  // Récupérer les données du formulaire envoyées par le webhook
  Var largeur As String = Request.Parameter("largeur")
  Var hauteur As String = Request.Parameter("hauteur")
  Var couleur As String = Request.Parameter("couleur")
  Var type As String = Request.Parameter("type")
  
  // Construire le texte à afficher dans TFEcout
  Var texte As String = "Largeur: " + largeur + ", Hauteur: " + hauteur + ", Couleur: " + couleur + ", Type: " + type
  
  // Assigner la valeur au WebTextField appelé TFEcout
  Données.TFEcout.Value = texte
  
  // Répondre au serveur webhook avec un statut 200 et un message de succès
  Response.Status = 200
  Response.MIMEType = "text/plain"
  Response.Write("Données reçues avec succès")
  
  // Indiquer que la requête a été traitée avec succès
  Return True
End If

// Si ce n'est pas une requête POST, retourner False pour indiquer que la requête n'a pas été gérée
Return False

thanks

chris

You may have already solved this, but what happens when you try hitting that address from the outside? If you are testing this by running the WebApp (‘end point’) behind your own router you’ll need to route port 8080 to your dev machines internal IP address.

I haven’t find a solution yet.
And I did route the port to my Mac.
As a matter of fact, I have done a desk App with a server socket and it’s working.
But I need to do it with a web App…

Did you see this blog post:

I wonder if your problem is caused by you not providing a path, so maybe try
http://MyIpaddress:8080/myWebHook and set a break point in the handleURL event to see if your call makes it to the event. Obviously you’d need to modify your code there and your Airtable app to talk to that endpoint then.

Thanks Maximilian.
I will read the post
The post never reach the handleURL, I already know that but I don’t know why…

Chris

Does the webhook required to be run through ssl? ( ie: https rather than http)

2 Likes

I can’t find specifics in the Airtable documentation, but having built quite a number of these systems I would agree with Hanif. Many providers aren’t going to send out messages over non-standard ports like 8080 and many require SSL.

I am trying to get an answer from the company using Airtable but did not get one yet.
But beside https or http, when I use Portman to send out post to my web App, I don’t get the post. If I send the post to my desktop App listening to the same port 8080, I receive the post…

thanks

Chris