Testing your Integration

Using the Hover Test Jobs endpoint to test your integration without physically capturing a property.

Overview

The ability to test an integration is a vital step before deploying to production, which is why Hover provides an endpoint specifically for simulating Hover's 3D reconstruction pipeline. Processing 2D pictures and reconstructing them into 3D measurements and deliverables can take a significant amount of time, depending on the complexity and size of the structure, which could significantly slow down the ability to create and test an integration.

For these reasons, Hover has an endpoint that allows you to simulate this reconstruction process in 30-60 seconds. The goal of using this endpoint is to speed up your ability to test your integration and provide sample deliverables and measurements for you to use as you build your integration.

Note: Processing jobs through this Test Jobs endpoint does not incur a cost.

This endpoint can be used in both the Hover production environment (https://hover.to/) and the Hover sandbox environment (https://sandbox.hover.to). For the sandbox environment, utilizing the Test Jobs endpoint is the only way to generate sample data for your integration.

Before You Start

This endpoint can be used at any point during the integration development process with Hover. If you want to see what sample measurement data looks like before starting your integration development, you could create a job and use the test jobs endpoint in an API testing tool like Postman.

Using the Test Jobs Endpoint

To test this endpoint, you will need to create a job or a capture request. This endpoint will not function successfully on all jobs; they must be in an uploading or processing_upload state when submitting to this endpoint. Once the job has progressed beyond that point, it it too far along in the reconstruction process to be submitted to the Test Jobs endpoint.

Webhooks

Typically, this endpoint is used to test end-to-end integration workflows between Hover and other systems. If you are looking to test webhooks, this endpoint can be used, but you must have a webhook listener registered and verified before using this endpoint.

Available Test States

You can set the state parameter to failed to simulate/handle instances where a job fails in the Hover pipeline; or you can set the state parameter to complete to simulate/handle instances where a job is successful and measurement and deliverable data are available.

Complete

Passing in the complete state as a part of the request path will return all job-state-changed webhooks and sample property data. Here's an example of a request URL to the test jobs endpoint for the complete state:

PATCH https://hover.to/api/v2/jobs/{job_id}/set_test_state.json?state=complete&current_user_id={current_user_id}

Failed

In the case where Hover cannot reconstruct a property, our system will send out a failed webhook event. If you would like to develop error handling or failure cases that occur when a job fails in Hover's pipeline, you can change the state parameter to failed:

PATCH https://hover.to/api/v2/jobs/{job_id}/set_test_state.json?state=failed&current_user_id={current_user_id}

There is no sample data returned for this particular parameter, but Hover will simulate a failed job webhook event.

Returned Sample Data for Completes

This endpoint adds sample data to the job that was submitted usingstate=completequery parameter. The following data is available to pull once the job is completed:

The test jobs endpoint has two available states jobs can be set to complete and failed. Below you will find information about the webhooks available on each of these states.

Limitations

The following data does not generate and return on Test Jobs:

  • ESX file
  • XML 3D report
  • Material Lists
  • Estimations
  • Inspection Checklists
  • Interior jobs