Integrations / API

Report callbacks

  • Applies to:
  • Premium
  • Enterprise

Haystack can make a callback to your own application when our analysis is completed, with a payload of the report data. A callback is where Haystack sends data to your web server, which you can process as you wish. This may be useful for an number of reasons:

  • Save Haystack’s data into your own database or CRM
  • Create an automatic follow-up action, e.g. email the customer or add them to a mailing list

You can get a callback instantly for the following events:


Callback from API initiated report

See: Report API


Callback from inbound tool report

You can pass a callback URL with each report by adding a hidden field to your landing page, labeled onCompletion. This field should be set to the URL of your callback handler. As the onCompletion field is publicly viewable on the landing page, you may wish to add a unique token to each URL for security.

Alternatively, you can speak to your Digital Account Manager who can set an account-wide callback for all inbound tool reports.


Callback for all reports

Speak to your Digital Account Manager who can add a callback for all reports ran in your Haystack account.


Data format

The data will be POSTed to the URL of your choice as JSON.

The exact data you receive will depend on your account configuration (e.g. tests enabled and country of operation) but an example for your reference is included below:

{
   "domain":"silktide.com",
   "contact_details":{
      "email":false
   },
   "local_presence":{
      "detected_phone":"+44 1322 460460",
      "detected_address":"Silktide LTD, Brunel Parkway, Pride Park, DE24 8HR, United Kingdom, United Kingdom",
      "detected_name":"Silktide"
   },
   "facebook_page":{
      "page_link":"https:\/\/www.facebook.com\/silktide\/",
      "page_likes":46560
   },
   "organic_search":{
      "average_monthly_traffic":5835
   },
   "mobile":{
      "is_mobile":true,
      "is_tablet":true
   },
   "analytics":{
      "analytics_tool":"Google Analytics"
   },
   "incoming_links":{
      "total_backlinks":156152
   },
   "social_sharing":{
      "url_likes":14
   },
   "domain_age":{
      "domain_age_days":5560
   },
   "page_count":{
      "pages_discovered_count":31
   },
   "video":{
      "has_video":false
   },
   "amount_of_content":{
      "total_word_count":1295,
      "average_words_per_page":259
   },
   "last_updated":{
      "days_since_update":108
   },
   "website_speed":{
      "average_homepage_load_time_seconds":4.934
   },
   "reviews":{
      "reviews_found_count":1,
      "probably_more_reviews":false
   },
   "server_behaviour":{
      "uses_gzip_compression":true,
      "error_page_sends_404":true
   },
   "page_titles_and_descriptions":{
      "homepage_title_tag":"Silktide - making the web a better place",
      "homepage_meta_description":"Helping to make the web a better place.",
      "pages_missing_title_count":0,
      "pages_missing_description_count":0,
      "pages_duplicated_title_count":0,
      "pages_duplicated_description_count":0
   },
   "report_id":"7b8cf004712790702635a495d6e1bf1572f67c7a",
   "account_id":"haystack_testing",
   "meta":{
      "analysis_country":"GB",
      "started_processing_at":"2016-05-27T10:04:43+00:00",
      "report_requested_at":"2016-05-27T10:04:29+00:00",
      "report_completed_at":"2016-05-27T10:05:08+0000",
      "requested_by":"andrewwaite@silktide.com"
   },
   "overall_score":83,
   "analysed_page_count":5
}
  • Was this helpful?
  • Yes   No