Good afternoon,
I have investigated this issue and have come to the following conclusion. Some webhook services accept additional information appended in the url, many do not. While there is no established standard, our goal is to support many different implementation strategies and help developers tailor event subscriptions to meet their individual needs. We will no longer programmatically append text (ex: "/appointmentevent") to the subscription.EndPointUrl field, and instead let the developer do so if they choose. This bugfix will be available within the week.
A simple way to get started with Events use a webhook service (such as Zapier) to generate an endpoint url. You can use this with a Subscriptions POST request in the EndpointUrl field. (See
https://www.opendental.com/site/apisubscriptions.html). Events that match your subscription will be sent to this address.
If you are subscribed to both the PatientSelect UiEvent and the Patient DbEvent, therefore receiving payloads with patient information in both cases, you may want a way to distinguish them. You can append "/patientevent" or similar to your subscription.EndPointUrl string. As mentioned above, this will not work for some webhook services. Another means of distinction is with a query parameter appended to your EndPointUrl, such as "?type=patientevent" or similar.
Which of the above you decide to utilize will greatly depend on your specific situation. Because you mentioned Zapier, I successfully set up a simple Zap that uses either no appended text ("
https://hooks.zapier/.../") or a query parameter ("
https://hooks.zapier/...?type=patientevent").
See
https://www.opendental.com/site/apievents.html for more information. Edit: This change will be available in our next beta version, 22.3.22.