Terpdrop text logo

Vendor Data Integration

Back to vendor partnership guide basics

Welcome to the Terpdrop Vendor Data Integration documentation. This guide provides detailed instructions for integrating your product data with Terpdrop, ensuring accurate and up-to-date listings for your products. Whether you choose to implement a REST API or manually format your product descriptions, we aim to make the integration process as smooth as possible.

API Integration

If you have the technical resources we highly recommend implementing a simple REST API that provides your product data in a structured format. This significantly reduces the maintenance burden on both sides and ensures your products are always up-to-date on Terpdrop.

The API should return a JSON object with an array of products, each containing the following fields:


TYPE: GET
ENDPOINT: https://yourdomain.com/api/products
RESPONSE:
{
  "products": [
    {
      "id": 1,
      "strain": "Blue Dream",
      "available": true,
      "link": "https://yourdomain.com/products/blue-dream",
      "lastUpdate": "2025-01-01T00:00:00.000Z",
      "createDate": "2025-01-01T00:00:00.000Z",
      "lastAvailable": "2025-01-01T00:00:00.000Z",
      "price": "10.99",
      "attributes": {
        "lineage": ["Blueberry", "Haze"],
        "environment": "indoor",
        "method": "living soil",
        "priceRange": [10, 20],
        "isSativa": true,
        "sativa": 60,
        "indica": 40,
        "thca": 27,
        "totalCannabinoids": 27,
        "terpenePercentage": 4,
        "terpenes": ["myrcene", "limonene", "pinene"],
        "qualities": ["relaxing", "energetic", "uplifting"],
        "palate": ["sweet", "blueberry", "citrus"],
        "tags": ["flower", "sativa", "indica"],
      }
    }
      ....
  ]
}

We provide guidelines for your API for smooth integration but Terpdrop can work on our end to transform and normalize that data upon ingestion. Our goal is to work with high-quality vendors and ensure your products are accurately represented on Terpdrop.


Manual Integration

The most efficient way to get your products listed accurately is by providing a direct API endpoint that we can query to pull in your data. Sometimes we can find this data through your publicly available API endpoints; however, this is not always the case.

In this scenario, to make it easier for our system to collect your product data accurately, we recommend following the below formatting guidelines while crafting the description of the product on your product details page.

Most data can be automatically collected by listing attributes in a consistent format, preferably separated by a colon and a space or within a sentence with clear context.

Attribute: value

Product Attributes

Include the following commonly used keywords in your product descriptions. Specific values and formats are below to ensure your products are collected and displayed correctly.

productType
string
"flower" | "concentrate" | "edible" | "topical" | "tincture"
lineage
string[]
["Blueberry", "Haze"]

Product Description Example

Lineage: Blueberry x Haze
Indica/Sativa Balance

Product Description Example

"...70% Indica, 30% Sativa..."

or

"...70/30 Indica Dominant..."

Collection Example

product: {
...
isIndica: true,
isSativa: false,
indica: 70,
sativa: 30
...
}
isSativa
boolean
Set to true if the product is classified as sativa or sativa-dominant.
isSativa: true
isIndica
boolean
Set to true if the product is classified as indica or indica-dominant.
isIndica: true
sativa
number
Percentage of sativa in the product (0-100).
sativa: 60
indica
number
Percentage of indica in the product (0-100).
indica: 40

Terpenes

terpenes
string[]

An array of strings, each representing a terpene detected in the product description

terpenes: ["Limonene", "Myrcene", "Caryophyllene"]
terpenePercentage
number

Percentage of terpenes in the product, typically a decimal value (e.g., 4.2 for 4.2% terpenes)

terpenePercentage: 4.2

Product Description Example

...product has 4.20% terpenes (Limonene, Myrcene, Caryophyllene) which...

Collection Example

product: {
  ...
  terpenes: ["Limonene", "Myrcene", "Caryophyllene"]
  terpenePercentage: 4.2
  ...
}

Cultivation

environment
string

The environment in which the product was cultivated.

environment: "indoor" | "outdoor" | "greenhouse"
growMethod
string

The specific cultivation method used for the product.

growMethod: "living soil" | "hydroponic" | "light-dep" | "aeroponic" | "light-assist" | "organic soil"

Potency

Clearly state other attributes like THCa percentages, CBD, and total cannabinoid content. For example:

THCa: 25%
Total Cannabinoids: 28.5%
CBD: 10%