Still new to working with REST services and apex in general. I have put together a simple REST Service for inserting records with JSON delivered via HTTPPost. Everything works great when I use workbench.developerforce.com to send JSON via post. When I try to send actual data via the third-party webhook I get no record insertions.
I'm fairly certain this is because I haven't told Salesforce it's ok to receive post data from my external source. If I'm understanding correctly I either need to expose my REST service to the public using a force.com site or by using an OAuth flow.
I'd prefer to not have my REST service just publicly available as I wrote it specifically for this single third-party and they should be the only ones using it. However, they are sending data via webhooks, and I have very limited control over them. I can only specify a Payload URL (currently set to my REST service URL) as well as a "Request Header" (which they say will be "included as a value in the POST request's header").
Is it possible to send the necessary info via the post request header to authenticate or do I need to set up a Connected app? If I use a connected app do I point the third-party webhook to a login URL with consumer keys and credentials in the header and then set the callback URL to the REST Service?
Any suggestions or general guidance would be greatly appreciated. Thanks.