Ordering your first test
Learn how to order a test kit in a few simple steps
For more details on the specific endpoints, follow the OpenAPI reference
Before we begin, let's clarify some key terminology you'll encounter with some analogies:
Product Types: The broadest category of offering (e.g., iPhone, MacBook, iPad)Products: Individual products within each type (e.g., iPhone 17 Pro, iPhone 16 Pro Max)Product Variants: The specific configuration an end user receives (e.g., iPhone 17 White 256GB)
1. Explore Product Types
Start off by exploring what product types are available, by calling the
GET api/v1/productsendpoint
curl --location --request GET \
'https://vantage-sandbox.tryterra.co/api/v1/products/' \
--header 'Authorization: Basic <YOUR_CLIENT_ID:YOUR_CLIENT_SECRET_BASE64>'
import requests
url = "https://vantage-sandbox.tryterra.co/api/v1/products/"
headers = {
'Authorization': 'Basic <YOUR_CLIENT_ID:YOUR_CLIENT_SECRET_BASE64>'
}
response = requests.get(url, headers=headers)
print(response.text)
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://vantage-sandbox.tryterra.co/api/v1/products/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <YOUR_CLIENT_ID:YOUR_CLIENT_SECRET_BASE64>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
[
{
"description": "Diagnostic blood panels and biomarker tests",
"id": 1,
"name": "Blood Test"
}
]
2. Explore Products within each product type
Suppose we are looking to order a blood test. Let's see what Vantage API offers.
N.B: '1' is the product type ID of a blood test as seen in the response above
3. Explore Product Variants within each Product
Now let's choose the exact blood test we would like to order
N.B 10002 is the product id of a blood test product as seen in the response above
4. Order a test kit
Now let's order one 'Inflammation' test kit (
product_type_id= 1,product_id= 10002,product_variant_id= 100041)Note that all you need is the variant ID and quantity to make an order
For now all orders will be in USD (840 in IS0 4217 format)
Different suppliers have different constraints when ordering
If you try to order a product variant that does not exist, you can expect the 404 response below
5. Receiving Webhooks - Verification of Receipt
Below are the first two webhooks that you will receive if a order is placed successfully
N.B: You will still receive these webhooks even when working with sandbox :)
6. Relax and wait for your new kit 🎉
If you are working in sandbox, move on to the next section to see how you would receive results!!
If you are working in prod, still read the next section to see the results flow 🤝
Last updated
Was this helpful?