All URIs are relative to https://api.trackandtrace.tools
| Method | HTTP request | Description |
|---|---|---|
| v2_sales_active_get | GET /v2/sales/active | List of active sales |
| v2_sales_active_report_get | GET /v2/sales/active/report | Generate a report of all active sales |
| v2_sales_inactive_get | GET /v2/sales/inactive | List of inactive sales |
| v2_sales_transactions_get | GET /v2/sales/transactions | List of transactions for a single sales receipt |
| v2_sales_unfinalize_post | POST /v2/sales/unfinalize | Unfinalize sales receipts |
| v2_sales_void_post | POST /v2/sales/void | Void one sales receipt |
V2SalesActiveGet200Response v2_sales_active_get(license_number, page=page, page_size=page_size, strict_pagination=strict_pagination, sort=sort, filter_logic=filter_logic, filter=filter)
List of active sales
- Bearer (JWT) Authentication (BearerAuth):
import t3api
from t3api.models.v2_sales_active_get200_response import V2SalesActiveGet200Response
from t3api.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://api.trackandtrace.tools
# See configuration.py for a list of all supported configuration parameters.
configuration = t3api.Configuration(
host = "https://api.trackandtrace.tools"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization (JWT): BearerAuth
configuration = t3api.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with t3api.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = t3api.SalesReceiptsApi(api_client)
license_number = 'LIC-00001' # str | The unique identifier for the license associated with this request.
page = 1 # int | The index of the page to be returned. (optional) (default to 1)
page_size = 100 # int | The number of objects per page to be returned. (optional) (default to 100)
strict_pagination = False # bool | Toggles strict pagination. Defaults to `false` (disabled) - If enabled, requesting an out of bounds page will throw a 400. - If disabled, requesting an out of bounds page will return a 200 and an empty page. (optional) (default to False)
sort = 'label:asc' # str | Defines the collection sort order. (optional)
filter_logic = and # str | Describes how the filters, if any, should be applied (optional) (default to and)
filter = ['label__endswith:0003'] # List[str] | One or more collection filters. (optional)
try:
# List of active sales
api_response = api_instance.v2_sales_active_get(license_number, page=page, page_size=page_size, strict_pagination=strict_pagination, sort=sort, filter_logic=filter_logic, filter=filter)
print("The response of SalesReceiptsApi->v2_sales_active_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling SalesReceiptsApi->v2_sales_active_get: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| license_number | str | The unique identifier for the license associated with this request. | |
| page | int | The index of the page to be returned. | [optional] [default to 1] |
| page_size | int | The number of objects per page to be returned. | [optional] [default to 100] |
| strict_pagination | bool | Toggles strict pagination. Defaults to `false` (disabled) - If enabled, requesting an out of bounds page will throw a 400. - If disabled, requesting an out of bounds page will return a 200 and an empty page. | [optional] [default to False] |
| sort | str | Defines the collection sort order. | [optional] |
| filter_logic | str | Describes how the filters, if any, should be applied | [optional] [default to and] |
| filter | List[str] | One or more collection filters. | [optional] |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | A list of active sales for this license | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
V2SalesActiveReportGet200Response v2_sales_active_report_get(license_number, secret_key=secret_key, filter_logic=filter_logic, content_type=content_type, prepend_csv_metadata=prepend_csv_metadata, sort=sort, filter=filter, fieldnames=fieldnames)
Generate a report of all active sales
Note: this endpoint supports secret key authentication.
- Bearer (JWT) Authentication (BearerAuth):
import t3api
from t3api.models.v2_sales_active_report_get200_response import V2SalesActiveReportGet200Response
from t3api.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://api.trackandtrace.tools
# See configuration.py for a list of all supported configuration parameters.
configuration = t3api.Configuration(
host = "https://api.trackandtrace.tools"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization (JWT): BearerAuth
configuration = t3api.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with t3api.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = t3api.SalesReceiptsApi(api_client)
license_number = 'LIC-00001' # str | The unique identifier for the license associated with this request.
secret_key = '2616ec56-fa2a-4c5b-86c0-acacf23c9ef7' # str | Your secret key, if you wish to authenticate via query params. Secret keys can be manually generated [here](/v2/pages/secret-key). (optional)
filter_logic = and # str | Describes how the filters, if any, should be applied (optional) (default to and)
content_type = json # str | Specifies how the report should be formatted. Can be returned as json or csv. *This can also be defined in the Content-Type header* (optional) (default to json)
prepend_csv_metadata = true # str | Controls if the CSV header metadata should be included in the output. When set to false, only the column headers and data will be returned. (optional) (default to true)
sort = 'label:asc' # str | Defines the collection sort order. (optional)
filter = ['label__endswith:0003'] # List[str] | One or more collection filters. (optional)
fieldnames = 'receiptNumber,salesDateTime,totalPackages,totalPrice' # str | Defines which sales receipt fields should appear in the report data. (optional) (default to 'receiptNumber,salesDateTime,totalPackages,totalPrice')
try:
# Generate a report of all active sales
api_response = api_instance.v2_sales_active_report_get(license_number, secret_key=secret_key, filter_logic=filter_logic, content_type=content_type, prepend_csv_metadata=prepend_csv_metadata, sort=sort, filter=filter, fieldnames=fieldnames)
print("The response of SalesReceiptsApi->v2_sales_active_report_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling SalesReceiptsApi->v2_sales_active_report_get: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| license_number | str | The unique identifier for the license associated with this request. | |
| secret_key | str | Your secret key, if you wish to authenticate via query params. Secret keys can be manually generated here. | [optional] |
| filter_logic | str | Describes how the filters, if any, should be applied | [optional] [default to and] |
| content_type | str | Specifies how the report should be formatted. Can be returned as json or csv. This can also be defined in the Content-Type header | [optional] [default to json] |
| prepend_csv_metadata | str | Controls if the CSV header metadata should be included in the output. When set to false, only the column headers and data will be returned. | [optional] [default to true] |
| sort | str | Defines the collection sort order. | [optional] |
| filter | List[str] | One or more collection filters. | [optional] |
| fieldnames | str | Defines which sales receipt fields should appear in the report data. | [optional] [default to 'receiptNumber,salesDateTime,totalPackages,totalPrice'] |
V2SalesActiveReportGet200Response
- Content-Type: Not defined
- Accept: application/json, text/csv
| Status code | Description | Response headers |
|---|---|---|
| 200 | A list of active sales receipts for this license | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
V2SalesActiveGet200Response v2_sales_inactive_get(license_number, page=page, page_size=page_size, strict_pagination=strict_pagination, sort=sort, filter_logic=filter_logic, filter=filter)
List of inactive sales
- Bearer (JWT) Authentication (BearerAuth):
import t3api
from t3api.models.v2_sales_active_get200_response import V2SalesActiveGet200Response
from t3api.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://api.trackandtrace.tools
# See configuration.py for a list of all supported configuration parameters.
configuration = t3api.Configuration(
host = "https://api.trackandtrace.tools"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization (JWT): BearerAuth
configuration = t3api.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with t3api.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = t3api.SalesReceiptsApi(api_client)
license_number = 'LIC-00001' # str | The unique identifier for the license associated with this request.
page = 1 # int | The index of the page to be returned. (optional) (default to 1)
page_size = 100 # int | The number of objects per page to be returned. (optional) (default to 100)
strict_pagination = False # bool | Toggles strict pagination. Defaults to `false` (disabled) - If enabled, requesting an out of bounds page will throw a 400. - If disabled, requesting an out of bounds page will return a 200 and an empty page. (optional) (default to False)
sort = 'label:asc' # str | Defines the collection sort order. (optional)
filter_logic = and # str | Describes how the filters, if any, should be applied (optional) (default to and)
filter = ['label__endswith:0003'] # List[str] | One or more collection filters. (optional)
try:
# List of inactive sales
api_response = api_instance.v2_sales_inactive_get(license_number, page=page, page_size=page_size, strict_pagination=strict_pagination, sort=sort, filter_logic=filter_logic, filter=filter)
print("The response of SalesReceiptsApi->v2_sales_inactive_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling SalesReceiptsApi->v2_sales_inactive_get: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| license_number | str | The unique identifier for the license associated with this request. | |
| page | int | The index of the page to be returned. | [optional] [default to 1] |
| page_size | int | The number of objects per page to be returned. | [optional] [default to 100] |
| strict_pagination | bool | Toggles strict pagination. Defaults to `false` (disabled) - If enabled, requesting an out of bounds page will throw a 400. - If disabled, requesting an out of bounds page will return a 200 and an empty page. | [optional] [default to False] |
| sort | str | Defines the collection sort order. | [optional] |
| filter_logic | str | Describes how the filters, if any, should be applied | [optional] [default to and] |
| filter | List[str] | One or more collection filters. | [optional] |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | A list of inactive sales for this license | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
V2SalesTransactionsGet200Response v2_sales_transactions_get(sales_receipt_id, license_number, include_history=include_history, page=page, page_size=page_size, strict_pagination=strict_pagination, sort=sort, filter_logic=filter_logic, filter=filter)
List of transactions for a single sales receipt
- Bearer (JWT) Authentication (BearerAuth):
import t3api
from t3api.models.v2_sales_transactions_get200_response import V2SalesTransactionsGet200Response
from t3api.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://api.trackandtrace.tools
# See configuration.py for a list of all supported configuration parameters.
configuration = t3api.Configuration(
host = "https://api.trackandtrace.tools"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization (JWT): BearerAuth
configuration = t3api.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with t3api.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = t3api.SalesReceiptsApi(api_client)
sales_receipt_id = 123 # float | ID of the target sales receipt
license_number = 'LIC-00001' # str | The unique identifier for the license associated with this request.
include_history = true # bool | Enables access to archived transactions in Metrc (optional)
page = 1 # int | The index of the page to be returned. (optional) (default to 1)
page_size = 100 # int | The number of objects per page to be returned. (optional) (default to 100)
strict_pagination = False # bool | Toggles strict pagination. Defaults to `false` (disabled) - If enabled, requesting an out of bounds page will throw a 400. - If disabled, requesting an out of bounds page will return a 200 and an empty page. (optional) (default to False)
sort = 'label:asc' # str | Defines the collection sort order. (optional)
filter_logic = and # str | Describes how the filters, if any, should be applied (optional) (default to and)
filter = ['label__endswith:0003'] # List[str] | One or more collection filters. (optional)
try:
# List of transactions for a single sales receipt
api_response = api_instance.v2_sales_transactions_get(sales_receipt_id, license_number, include_history=include_history, page=page, page_size=page_size, strict_pagination=strict_pagination, sort=sort, filter_logic=filter_logic, filter=filter)
print("The response of SalesReceiptsApi->v2_sales_transactions_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling SalesReceiptsApi->v2_sales_transactions_get: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| sales_receipt_id | float | ID of the target sales receipt | |
| license_number | str | The unique identifier for the license associated with this request. | |
| include_history | bool | Enables access to archived transactions in Metrc | [optional] |
| page | int | The index of the page to be returned. | [optional] [default to 1] |
| page_size | int | The number of objects per page to be returned. | [optional] [default to 100] |
| strict_pagination | bool | Toggles strict pagination. Defaults to `false` (disabled) - If enabled, requesting an out of bounds page will throw a 400. - If disabled, requesting an out of bounds page will return a 200 and an empty page. | [optional] [default to False] |
| sort | str | Defines the collection sort order. | [optional] |
| filter_logic | str | Describes how the filters, if any, should be applied | [optional] [default to and] |
| filter | List[str] | One or more collection filters. | [optional] |
V2SalesTransactionsGet200Response
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | A list of transactions for the specified sales receipt | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
V2ItemsDiscontinuePost200Response v2_sales_unfinalize_post(license_number, v2_sales_unfinalize_post_request_inner, submit=submit)
Unfinalize sales receipts
- Bearer (JWT) Authentication (BearerAuth):
import t3api
from t3api.models.v2_items_discontinue_post200_response import V2ItemsDiscontinuePost200Response
from t3api.models.v2_sales_unfinalize_post_request_inner import V2SalesUnfinalizePostRequestInner
from t3api.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://api.trackandtrace.tools
# See configuration.py for a list of all supported configuration parameters.
configuration = t3api.Configuration(
host = "https://api.trackandtrace.tools"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization (JWT): BearerAuth
configuration = t3api.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with t3api.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = t3api.SalesReceiptsApi(api_client)
license_number = 'LIC-00001' # str | The unique identifier for the license associated with this request.
v2_sales_unfinalize_post_request_inner = [t3api.V2SalesUnfinalizePostRequestInner()] # List[V2SalesUnfinalizePostRequestInner] |
submit = 'true' # str | Controls whether this request should be forwarded to Metrc. - **If present and set to 'true'**: The request will be validated and forwarded to Metrc if validation passes. - **If omitted or set to any value other than 'true'**: The request will only be validated. Examples: - \"true\": Forward the request to Metrc - \"false\": Execute a dry run (optional)
try:
# Unfinalize sales receipts
api_response = api_instance.v2_sales_unfinalize_post(license_number, v2_sales_unfinalize_post_request_inner, submit=submit)
print("The response of SalesReceiptsApi->v2_sales_unfinalize_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling SalesReceiptsApi->v2_sales_unfinalize_post: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| license_number | str | The unique identifier for the license associated with this request. | |
| v2_sales_unfinalize_post_request_inner | List[V2SalesUnfinalizePostRequestInner] | ||
| submit | str | Controls whether this request should be forwarded to Metrc. - If present and set to 'true': The request will be validated and forwarded to Metrc if validation passes. - If omitted or set to any value other than 'true': The request will only be validated. Examples: - "true": Forward the request to Metrc - "false": Execute a dry run | [optional] |
V2ItemsDiscontinuePost200Response
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | The operation completed successfully. | - |
| 400 | An error response indicating the request was invalid. Refer to the response body for details. | - |
| 500 | An error response indicating the server experienced an unexpected error. | - |
| 503 | An error response indicating the Metrc servers are experiencing downtime. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
V2ItemsDiscontinuePost200Response v2_sales_void_post(license_number, v2_sales_unfinalize_post_request_inner, submit=submit)
Void one sales receipt
- Bearer (JWT) Authentication (BearerAuth):
import t3api
from t3api.models.v2_items_discontinue_post200_response import V2ItemsDiscontinuePost200Response
from t3api.models.v2_sales_unfinalize_post_request_inner import V2SalesUnfinalizePostRequestInner
from t3api.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://api.trackandtrace.tools
# See configuration.py for a list of all supported configuration parameters.
configuration = t3api.Configuration(
host = "https://api.trackandtrace.tools"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization (JWT): BearerAuth
configuration = t3api.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with t3api.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = t3api.SalesReceiptsApi(api_client)
license_number = 'LIC-00001' # str | The unique identifier for the license associated with this request.
v2_sales_unfinalize_post_request_inner = t3api.V2SalesUnfinalizePostRequestInner() # V2SalesUnfinalizePostRequestInner |
submit = 'true' # str | Controls whether this request should be forwarded to Metrc. - **If present and set to 'true'**: The request will be validated and forwarded to Metrc if validation passes. - **If omitted or set to any value other than 'true'**: The request will only be validated. Examples: - \"true\": Forward the request to Metrc - \"false\": Execute a dry run (optional)
try:
# Void one sales receipt
api_response = api_instance.v2_sales_void_post(license_number, v2_sales_unfinalize_post_request_inner, submit=submit)
print("The response of SalesReceiptsApi->v2_sales_void_post:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling SalesReceiptsApi->v2_sales_void_post: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| license_number | str | The unique identifier for the license associated with this request. | |
| v2_sales_unfinalize_post_request_inner | V2SalesUnfinalizePostRequestInner | ||
| submit | str | Controls whether this request should be forwarded to Metrc. - If present and set to 'true': The request will be validated and forwarded to Metrc if validation passes. - If omitted or set to any value other than 'true': The request will only be validated. Examples: - "true": Forward the request to Metrc - "false": Execute a dry run | [optional] |
V2ItemsDiscontinuePost200Response
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | The operation completed successfully. | - |
| 400 | An error response indicating the request was invalid. Refer to the response body for details. | - |
| 500 | An error response indicating the server experienced an unexpected error. | - |
| 503 | An error response indicating the Metrc servers are experiencing downtime. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]