Submit Naming Conventions from Prisma for Validation
Use Case Example - Steps to submit naming conventions from Prisma to Claravine's platform for validation
This use case enables you to automatically extract campaign-level naming data from Prisma, submit it to a Claravine dataset for validation, and collect the response to ensure the naming structure adheres to your standards (e.g., channel, region, campaign type formatting).
Claravine API used in this use case:
Workflow Overview
- Extract data from Prisma (campaign name, flight dates, agency, placement type, etc.)
- Map Prisma fields to Claravine dataset fields
- Submit the structured naming data to Claravine via the "Create Transaction" endpoint:
POST /v1/datasets/{datasetUuid}/data
- Receive response with
transactionUuid
- Check for validation success/failure
- Trigger downstream actions (e.g., notify user, update a status dashboard, log issues)
Automation Tools That Could be Used
Here are some tool options depending on the environment and existing stack:
Tool | Role | Notes |
---|---|---|
Python | End-to-end scripting | Use requests + pandas; great for custom logic, retries, and logging |
Google Apps Script | Schedule + Sheet-based automation | Ideal if data is exported to Sheets from Prisma manually or via connector |
Workato / Make.com / Zapier | Low-code orchestration | Use webhooks or FTP file pulls and integrate with Claravine API |
Snowflake + dbt + Airflow | Enterprise-level orchestration | Prisma exports to Snowflake → dbt transformation → API call via Airflow task |
Postman (monitoring) | Manual or scheduled testing | Great for prototyping API call and response validation |
Example Python Script
import requests
API_KEY = "your_key"
API_SECRET = "your_secret"
DATASET_UUID = "your_dataset_uuid"
ENDPOINT = f"<https://api.claravine.com/v1/datasets/{DATASET_UUID}/data">
headers = {
"X-API-KEY": API_KEY,
"X-API-SECRET": API_SECRET,
"Content-Type": "application/json"
}
data = {
"transactionName": "Prisma Naming Push",
"fields": ["Campaign Name", "Region", "Channel"],
"rows": \[
["ACME_Q2_YT_US", "US", "YouTube"],
["ACME_Q2_FB_UK", "UK", "Facebook"]
]
}
response = requests.post(ENDPOINT, headers=headers, json=data)
if response.status_code == 201:
tx_id = response.json().get("transactionUuid")
print("Submitted successfully. Transaction ID:", tx_id)
else:
print("Submission failed:", response.status_code, response.text)
You could then poll using the "Get Transaction Data" endpoint:
GET https://api.claravine.com/v1/datasets/{datasetUuid}/transactions/{transactionUuid}/data
…to retrieve validation results.
Claravine Dataset Setup Considerations
Your Claravine template should include:
- A governance rule that validates naming format using regex or list validation
- Fields such as
Campaign Name, Channel, Region
, etc. - Optional drill-down fields if additional context like business unit or product type is included
Automation Triggers
- File drop from Prisma to a monitored FTP → triggers a script
- Daily schedule to poll Prisma for campaigns created in last 24h
- Manual button press in a Google Sheet or dashboard for on-demand submission
Updated 19 days ago