Setting Up Purchase Validation Campaigns
Taggun's Receipt Validation APIs empower you to easily run promotions by automatically validating purchases with receipts or invoices.
This guide walks you through setting up and managing a campaign, offering a streamlined solution for automating promotions, rewards, and warranty programs.
Start with the fundamentals
If you haven't aleady, start by checking out our guide on Receipt Validation Fundamentals.
Step-by-Step Guide
Step 1: Get Access
To start, you'll need to have a Taggun API key. Get your free API key here.
You also need to unlock this feature by contacting [email protected].
Step 2: Set-Up Your Campaign Settings
To create a receipt validation campaign, you'll need to define the campaign rules. These include parameters such as the promotional period, participating merchants, and eligible products.
VisitCreate Campaign Settings in our API Reference to set up the following:
Required Parameters
campaignId
: A unique identifier for your campaign.
Optional Parameters
date
: Define the valid date range for purchases.merchantNames
: List of participating merchants for the campaign.productLineItems
: Specify eligible product descriptions, quantities, and prices.fraudDetection
: Set parameters to enable receipt fraud detection.productCodes
: Include specific product codes relevant to the campaign.balanceOwing
: Define a price range to validate the total balance on receipts.smartValidate
: Add a validation question for additional verification.skip
: Option to skip certain checks, defaulting to false.returnFromTheList
: If true, returns a matched merchant name from a predefined list.
Basic Settings
Note: Taggun’s Receipt Validation engine includes built-in merchant and product normalisation.
This automatically standardises merchant names and product details across receipts. This ensures more accurate matching, even if merchants or product names appear differently on the receipts.
Special Settings
Step 3: Validate Receipts
Once your campaign settings are configured, validate receipts submitted by customers.
Endpoint
POST https://api.taggun.io/api/validation/v1/campaign/receipt-validation/file
Required Parameters:
file
The receipt or invoice file (max 20MB). Accepted formats: PDF, JPG, PNG, GIF, HEIC.campaignId
The campaign ID with the settings used to validate the receipt.
Optional Parameters
referenceId
A unique reference for tracking and feedback purposes.
Example Request
curl --request POST \
--url https://api.taggun.io/api/validation/v1/campaign/receipt-validation/file \
--header 'accept: application/json' \
--header 'apikey: YOUR_API_KEY' \ #UPDATE to your API Key
--header 'content-type: multipart/form-data' \
--form 'file=@/path/to/receipt.jpg' \ #UPDATE for your file path
--form 'campaignId={campaignId}' \ #UPDATE to your campaignId
Handling Validation Results
Taggun will return a response indicating whether the receipt passed validation:
{
"successful": false, // Indicates if the receipt passed validation (true/false)
"failedValidations": [
// List of validation checks that failed (e.g., "product_line_items_validated")
],
"passedValidations": [
// List of validation checks that passed (e.g., "merchant_name_validated")
],
"productLineItems": [
{
"name": "", // Name of the product from the receipt
"totalPrice": 0.0, // Total price of the product
"quantity": 0 // Quantity of the product
}
],
"matchedProductLineItems": [
// List of product line items that matched validation criteria (if applicable)
],
"date": "", // The date of the receipt (in ISO 8601 format, e.g., "2024-05-21T15:31:00.000Z")
"merchantName": "", // Name of the merchant from the receipt
"merchantAddress": "", // Address of the merchant from the receipt
"merchantCity": "", // City of the merchant from the receipt
"merchantPostalCode": "", // Post code of the merchant from the receipt
"merchantState": "", // State of the merchant from the receipt
"merchantCountryCode": "", // Country code of the merchant from the receipt
"smartValidate": {
// Contains results of specific validation questions (true/false values)
},
"totalAmount": 0.0, // The total amount from the receipt
"receiptNumber": "", // Receipt number (if available)
"invoiceNumber": "", // Invoice number (if available)
"trackingId": "", // Unique ID for tracking the validation request
"targetRotation": 0 // Degree of rotation applied to the receipt image for validation (if applicable)
}
Best Practices
- Use a clear, unique
campaignId
names - Consider using SmartValidate for more complex and creative validation scenarios
- Test with a diverse range of retailer receipts that reflect the expected campaign entries
- Implement error handling for failed validations
- Provide you have a customer support option in place to handle any inquiries related to purchase validation
Advanced Capabilities
Fraud Detection
Enable fraud detection in your campaign settings to automatically flag suspicious receipts.
Learn more about Taggun's fraud detection here.
Multi-language Support
Learn about Taggun's global capabilities here.
Smart Validation
Learn how to use SmartValidate here.
To enable purchase validation, please contact our team at [email protected].
This feature is not enabled by default.
Updated 3 days ago