Information

On Weedmaps, each catalog has its own personalized page displaying information for customers and patients (hours of operation, telephone numbers, and so forth). The primary business entity or retailer — represented by the organization resource type — may have more than one catalog. To associate more than one catalog to the same organization, supply the organization ID as part of the POST payload to /catalogs.

A catalog is the:

  • Physical address for a dispensary storefront
  • Address of a delivery service where Product inventory is kept

Each catalog has a Listing ID (WMID) that is unique across all Catalogs.

Below are catalog examples:

  • Herb Garden Collective - Irvine
  • Herb Garden Collective - Santa Ana
  • Herb Garden Collective - Long Beach

API Requests

The request types and routes available for this resource as well as details on how to structure your requests are below. See API Reference - Catalog for examples on how the requests might look in various languages and to test the requests in the browser.

RequestRouteDescription
POST/catalog/v1/catalogsCreate a new catalog
GET/catalog/v1/catalogsRequest the information for all catalogs
GET/catalog/v1/catalogs/:idRequest the information for a particular catalog
DELETE/catalogs/v1/catalogs/:idDelete an existing catalog

POST

To create a Catalog, send a payload with the below structure to
catalog/v1/catalogs?scope_by[organization_id]=ORGANIZATION_ID. You can create a catalog with an organization (Example 1) or without an organization (Example 2) in the relationship. If you do not include an organization, one will be created for you.

{
  "data": { 
    "type": "catalogs",
    "attributes": {
      "listing_wmid": LISTING_WMID
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "ORGANIZATION_ID"
          }
      }
    }
  }
}
{
  "data": { 
    "type": "catalogs",
    "attributes": {
      "listing_wmid": LISTING_WMID
    }
  }
}

Path

scope_by[organization_id] string
Required. Organization UUID.

Attributes

id string
Optional. UUID for the resource.


listing_wmid int32
Required. Listing WMID.

Relationships

Organization

organization_id string
Optional. Related Organization UUID.


type string
Required when including an organization_id. Must be organizations.

GET Index

To fetch all Catalogs, send a request to
catalog/v1/catalogs?scope_by[organization_id]=ORGANIZATION_ID. By default, we only return the first 10 results from the request. You can adjust the number of returned results with page[size], or adjust the returned page with page[page].

This request can also be used to find the catalog_id and organization_id for a given listing_wmid, which is very useful when Listings switch between integrations.

Path

scope_by[organization_id] string
Required (if listing_wmid is not used). Organization UUID.


page[size] int32
Optional. Number of elements per page.


page[page] int32
Optional. Number of the page.


filter[listing_wmid] string
Optional. Filters the results by Listing WMID. Can be used without scoping by catalog_id or organization_id.

GET Show

To fetch a Catalog, send a request to
catalog/v1/catalogs/CATALOG_ID?scope_by[organization_id]=ORGANIZATION_ID.

Path

scope_by[organization_id] string
Required. Organization UUID.


catalog_id string
Required. Catalog UUID you want to fetch.

DELETE

To delete a Catalog, send a request to
/catalog/v1/catalogs/CATALOG_ID?scope_by[organization_id]=ORGANIZATION_ID.

Path

scope_by[organization_id] string
Required. Organization UUID.


catalog_id string
Required. Catalog UUID you want to delete.