The BlastIQ public API supports integration of drilling systems with BlastIQ to build a streamlined workflow for your drill and blast team. In this article we will discuss some common workflows that we recommend to customers to get started. Our Public API documentation can be found here: https://support.blastiq.com/hc/en-us/articles/360015817533
Important Information
Having, or creating, a plan in BlastIQ is essential prior to importing drill data into the system. BlastIQ plan names must be unique for a site.
Hole Names must be unique within a plan. If you wish to have a record of a designed hole being drilled and then a redrill performed of that hole, you must give the new re-drill hole record a different hole name and use the redrillOf property to associate it with the original hole.
Holes in BlastIQ with only design information can be deleted using the API, any holes present in BlastIQ but not provided in a new post of the plan will be deleted (holes that have actual measurements recorded cannot be deleted).
Drill Measurements are stored as a sequence of immutable events, uploading a new measurement will store a new measurement record. The state of the measured property will be calculated from the measurement with the latest "timeOccured". "timeOccured" should always accurately reflect when the measurement was taken in the field to ensure an accurate history of changes in that property is available and so that the property value is always the latest measurement.
BlastIQ API does not currently support down-hole measurements or MWD data. You should post information from the drill system once drilling has been completed for the hole. Drilling data should only be posted at the completion of a drill hole cycle. You could post newly completed holes on a schedule such as every 5 minutes or immediately when triggered by a business event such as your system receiving a drilling completed notification. Extending the delay between receiving this information and posting it to BlastIQ could cause difficulties for field teams and we do not recommend posting daily or similar large batches.
BlastIQ has input validation on the API for drilling information, check the API documentation for validated properties and be aware that you will recieve an error posting bad data. You should ensure that bad data such as from faulty GPS readings is detected and filtered by your integration.
SHOTPlus drill design -> Drill system
If your site uses SHOTPlus for drill design, you can list blast plans in BlastIQ using
GET/{siteId}/planList
Then retrieve the designed holes and positions for a plan and import them into your drilling system using
GET/{siteId}/plans/{planId}
To retrieve the ID of an existing plan by its name, use the following endpoint:
GET /v3/{siteId}/plans/id/byName
Note: there is no "release for drilling" functionality in BlastIQ, as soon as an engineer uploads a plan it will be available on the API, it may not be the engineer's intention that the design is finalised and ready for drilling.
Drill System drill design -> BlastIQ
If your site drilling system stores the Drill Design, you can create a new drill design in BlastIQ and send the design parameters for all the drill holes using
POST/{siteId}/plans
It can take over a minute for a large plan to be processed in BlastIQ (we support a maximum of 5,000 holes per plan), before posting measurements, check the status of processing using
GET/{siteId}/plans/{planId}/isReady
This drill design will then be available for you to post drilling measurements using
POST/{siteId}/plans/{planId}/drillData
No drill design, post drilling data only
You can only post drilling data against a BlastIQ Plan, if you do not have a plan from an earlier upload of a drill design, create a new plan with an empty hole set using
POST/{siteId}/plans
Adding drilling data for each hole will create new holes in the plan, which is done using
POST/{siteId}/plans/{planId}/drillData
Note: Make sure that plan names match between the drilling system and the design system to avoid creating different plans that don't match a design that is uploaded separately by users.
Drill System hole measurements -> BlastIQ
If your drill system uses GPS navigation to record hole measurements, you can send this information for each hole with the Type "Actual" using
POST/{siteId}/plans/{planId}/drillData
Note: You can send the hole's measurements as either:
Collar Position X,Y,Z + Length, Bearing, Angle
OR
Collar Position X,Y,Z + Toe Position X,Y,Z
Note: You must have a plan to upload drill hole actuals (see sections above), but if the hole does not exist in the plan this method will create the hole.