Skip to main content

I am working on using a webhook from our accounting system (Xero) to trigger an FME job. I've worked with triggering FME tasks (FME Cloud) many times before, successfully. 

 

One of Xero's requirements is that the webhook endpoint return an empty body when using the webhook - is there any way to configure fme to just return the standard 200 status code, but have no body in the response?

 

Current url being used for the post request from Xero:

https://facct].fmecloud.com/fmejobsubmitter/"repository]/"workspace].fmw?
token=ctoken]
&opt_servicemode=async
&opt_showresult=false
&opt_responseformat=json

Body being received from that POST request:

{
  "serviceResponse": {
    "jobID": 2999,
    "statusInfo": {
      "mode": "async",
      "status": "success"
    }
  }
}

 

Webhook requirements (here):

It uses HTTPS on the standard 443 port
It responds within 5 seconds with a 200 O.K status code
There is no body in the response
There are no cookies in the response headers
If the signature is invalid a 401 Unauthorised status code is returned

 

Except for rolling out your own API gateway between FME and Xero, I suspect this isn't possible.

I'll just add that I find those requirements to be rather... unusual...


Except for rolling out your own API gateway between FME and Xero, I suspect this isn't possible.

I'll just add that I find those requirements to be rather... unusual...

Yeah, I was kind of expecting that. I could use AWS Lambda,or something similar, but perhaps I was just hoping there's a secret parameter somewhere that could help 😜


Reply