As part of our commitment to improving usability and value for our customers — and giving developers access to the same functionality available in the Yext dashboard — we’ve added the following enhancements to our APIs in the Summer ’19 Release.
Currently, in the Yext developer console, Yext users can configure webhooks for their apps. This new feature will allow users to optionally verify that a webhook has been initiated by Yext.
Yext will provide you with a unique Signing Secret in your Yext developer console. When a webhook is triggered, Yext will hash the request body using the Signing Secret, and include said hash in a header on the webhook request.
Upon receipt of the request, you can use the Signing Secret to hash the request body using HMAC SHA256, then compare that result with the contents of the header. If they match, you know the request came from Yext, and if not, you can safely reject the request. Should the Signing Secret become compromised, you will be able to manually regenerate it in the Yext developer console. Should the Signing Secret become compromised, you will be able to manually regenerate it in the Yext developer console.
Note that this verification is optional and will not affect existing webhook implementations.
To learn more about this feature, please view our article on Configuring Webhooks.
Operating On Custom Entity Types
With the Summer ‘19 Release, we have added the ability for Yext customers to create custom entities to model, store, and publish their public facts. Entities are the building blocks of a Knowledge Graph, and where a brand would store the information that their customers might be looking for.
Customers will be able to create and update instances of custom entities via the API, just like any other entity type (e.g. Location, Event, etc). Please note that we have not introduced to ability to create custom entity types via API.
To learn more about this functionality, please view our API Documentation.
If you would like more information about any of these features, or if you need assistance using them, please contact our API support team.