Hey Guys!
So I have setup my first webhook to be used with SH and tested it internally with good success. I was about to register it but going through the docs, I came across:
If you are using a 3PL account, webhooks need to be registered on the Customer account and not the 3PL account to trigger correctly.
Really? We are a 3PL, and lets say I wanted to set up all 12 kinds of webhooks SH supports, and have 70+ clients - will I seriously have to create and maintain 840+ webhooks?! Surely that canāt be trueā¦ right?? I mean isnāt it super simpler to just āwebhook_typeā and āclient_idā (or name) in the data sent to us with a single webhook?
Or at the very least have a single registered webhook per update type, and it contains the client id/name of whichever client the update belongs to?
Thanks for hanging in there and sorry for the delay.
It turns out that the only webhook that works strictly in the child account is the Return Update webhook. All of the rest can be registered through your 3PL account and should work just fine.
Iāll go ahead and update that section of our webhooks documentation.
Let me know if thereās anything I can do to assist!
Hey @sh-agent, Thank you for the update, thatās really helpful to know!
But bummer, seriously - āReturn Updateā is the first webhook my boss asked me to create - not kidding!!
Soā¦ whatās so special about the Return Update webhook - is it possible to remove this exception maybe? Itāll be a big help - Thank you again!
Unfortunately, I donāt think there is a workaround for this. Iām not 100% sure on the logic of it but the Returns Webhook just doesnāt work in the 3PL.
Let me know if thereās anything I can do to assist.
Hey @sh-agent, Sorry about the delayed reply - could you pls walk me through how would I go about setting those Returns webhooks?
I started by creating a Developer account under the Client account, but get this error when I use my existing accountās email:
I surely canāt be using a different email per client account.
Thank you @sh-agent , but I keep getting {"message": "Token is expired"} error each time I try.
Earlier I was trying it without the customer_account_id value, and after reading your reply here (saying Returns webhook is per client) so thought maybe that was the problem - but even after putting it there, Iām getting the same result.
I even just used my refresh token to retrieve another bearer token and got the same error using that.
Sorry for the delay.
Would you mind sending me your token privately? Iād like to impersonate your account. If Iām able to reproduce the issue, this might have to be escalated to our Engineering Team.
Let me know if thereās anything I can do to assist.
Hey @sh-agent, I figured it out, and while Iād like to blame Postman, I canāt help admitting itās my fault for not figuring it out sooner - but your affirmation that the webhook registration worked using my token confirmed something was wrong on my end.
And here it is - hovering mouse on the auth header field showed me this tooltip:
(facepalm)
I disabled it, put the same token in the Authorization tab and it worked - Iām really sorry I wasted more of your time here than was warranted.
Thank you (once again) for all the help!