Custom Deployments using Webhooks

Modified on Tue, 21 Mar 2023 at 03:18 PM

For customers who want to deploy schema markup server side on websites where Schema App does not have an integration (contact us - maybe it's in our roadmap), we created the Schema App Webhook.


TABLE OF CONTENTS


Overview

Webhooks notify applications when specific events occur in your Schema markup. Examples of each are below


To deploy via Webhook you must first add an endpoint from Integrations > Webhooks > + Add Endpoint. Data will be sent to this endpoint based on changes in your markup, for example:



  • You update an item in the Editor
  • A crawler (if configured) runs and generates markup
  • Highlight JavaScript (if configured) runs and generates markup
  • Merchant Center runs and generates markup


The payload sent to your server contains information about where it originates from, and where you can new markup for that page by calling the API. For convenience the markup is included in the "graph" object which can be used directly. 


The Webhooks page in integrations also provides the response we received from your server. You can resend Webhooks as well to test your integration as you make changes. 


You can expand the row to see the full details of the request and response



Troubleshooting Failed Webhooks

If Webhooks are failing there are two possible causes which each have their own solution.


1. Cause: Security Policies

Security policies in WordPress or on your hosting server are preventing Schema App's requests from being sent to your Webhooks. This will appear as 405 status codes in the log history.


Solution: Ensuring Webhooks are not Blocked

Webhooks are sent via POST requests to your server. The Webhooks will originate from the following IP: 52.45.62.191. It will send the request to the Endpoint URL (shown in above image). 

If you are using WordPress, the URL will be based on the domain of your site with an endpoint path i.e if your site is https://www.example.org then the endpoint will be  https://www.example.org/wp-json/hunch_schema/cache/path This endpoint is autoconfigured when you install the WordPress plugin but is visible on the Webhooks page. 


We recommend whitelisting the 52.45.62.191 IP for the Webhook endpoint to ensure your server can receive Webhooks from Schema App.


2. Cause: Misconfigured Webhook

There is something misconfigured with the Webhook. This will appear as a different status code.


Solution: Schema App Investigates

Open a ticket and Schema App's development team will review the Webhook configuration in order to diagnose the issue.


WordPress Caching

Schema App's WordPress plugin uses a cache that times out every so often. This means that every 24 hours, existing markup will refresh regardless of the failing Webhooks. For pages that didn't previously have markup, this timeout is 7 days (not 24hrs) before the markup is added. This means that, in spite of any other issues, your markup will still refresh.


Note that deployment will be very slow if you leave the webhooks failing, so it's preferable to fix the issues if you notice them occuring.


For more information please contact support@schemaapp.com


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article