Skip to main content

99minds Loyalty Card Transaction Update To iPaaS

Automatically update and synchronize loyalty cards from 99Minds to iPaaS

Updated over 2 weeks ago

Overview

This document outlines the configuration for automatically synchronizing Loyalty Card Transaction records from the 99minds Loyalty Card Transaction entity update to the iPaaS Transaction entity. The integration uses an API-based sync that triggers whenever a Loyalty Card Transaction record is updated in 99minds.

Mapping Collection Status

  • Mapping Status: Enabled.

  • Trigger Events: The sync is triggered by the update of Loyalty Card Transactions in 99minds.

  • ID Format: When manually syncing, the Loyalty Card Transaction ID from 99minds is used. This can be resolved via an external ID.

  • Conflicting Mappings: This mapping applies only to Loyalty Card Transactions. Ensure no other mappings target the same 99minds entity to prevent data from being overwritten.

System Caveats

99minds Caveats

  • Each transaction must include All TransactionAmount and TransactionType for proper classification.

  • Transactions referencing an order should include ClientOrderId to prevent duplicates.

iPaaS Caveats

  • The destination system requires a unique TransactionNumber for every Loyalty Transaction.

  • If a matching order or transaction is already found, iPaaS skips the incoming record automatically.

Setup Requirements

99minds Configuration

All loyalty point transactions must include:

  • TransactionAmount

  • TransactionType

  • ClientOrderId (when related to an order)

  • A valid customer reference or external identifier

iPaaS Configuration

  • CustomerId must resolve via internal lookup using customer mapping.

  • Ensure the iPaaS Loyalty Transaction entity has fields configured.

Authentication & Security

  • 99minds API Secret Key: Used to access iPaaS API for fetching Loyalty Card Transaction Transaction and related data.

Integration Flow

  1. Retrieve Data: Fetch newly created point transactions from 99minds based on Last Sync Time.

  2. Check Existing Orders: If a transaction references an order and that order already exists in iPaaS, the system will skip creation to avoid duplication.

  3. Map Fields: Apply the mapping rules to transform 99minds values into the iPaaS Loyalty Transaction format.

  4. Assign Static Values: Default values for Ticket Type and Status are applied.

  5. Transfer Data: Push transformed transactions to iPaaS as new entries only.

Mappings

Loyalty Card Transaction Transaction

Filter

TransactionAmount != "0.00"

Description

This mapping collection preserves all existing transaction values and only updates 99minds custom fields with loyalty point information

Mapping Type

Source Field (99minds)

Destination Field (iPaaS)

Description

Dynamic Formula

CurrentDateTimeOffset()

99minds Last Sync Time (custom field)

Field

AllTransactionAmounts

99minds Points Earned / Used (custom field)

Field

TransactionType

99minds Points Transaction Type (custom field)

Dynamic Formula

if (ClientOrderId != null) return await GetTransactionListForCard Transaction(Card TransactionId,ClientOrderId); return TransactionId+"|"+TransactionType+"|"+TransactionAmount;

99minds Order Transactions (custom field)

If multiple transactions occurred, this will search for all of them.

Dynamic Formula

DestinationValue.SystemId

SystemId

Dynamic Formula

DestinationValue.TransactionNumber

TransactionNumber

Dynamic Formula

DestinationValue.CustomerId

CustomerId

Dynamic Formula

DestinationValue.Type

Type

Dynamic Formula

DestinationValue.Status

Status

Dynamic Formula

DestinationValue.EmailAddress

EmailAddress

Dynamic Formula

DestinationValue.DiscountAmount

DiscountAmount

Dynamic Formula

DestinationValue.TaxAmount

TaxAmount

Dynamic Formula

DestinationValue.ShippingAmount

ShippingAmount

Dynamic Formula

DestinationValue.Subtotal

Subtotal

Dynamic Formula

DestinationValue.Total

Total

Dynamic Formula

DestinationValue.TotalQty

TotalQty

Dynamic Formula

DestinationValue.TransactionCreatedDateTime

TransactionCreatedDateTime

Error Handling

Duplicate Transaction (Order Match Found)

No new record created — existing order matched.

  • Description: The transaction references an order already synced to iPaaS.

  • Resolution: No action required — this is expected behavior to prevent duplicates.

Missing Transaction Amount

TransactionAmount not found.

  • Description: iPaaS cannot process the record without point’s value.

  • Resolution: Ensure 99minds always supplies the TransactionAmount.

Invalid Customer Identifier

Failed to resolve CustomerId.

  • Description: Customer lookup function returned null.

  • Resolution: Validate customer mapping or ensure customer exists in iPaaS.

Missing Transaction Type

TransactionType missing.

  • Description: System cannot determine if this is earn/redeem.

  • Resolution: Fix data in 99minds before syncing.

Validation Rules & Testing

Validation Checklist

  • TransactionAmount equal to zero are skipped.

  • Status must not be changed.

Test Scenarios

  1. Balance Verification: Confirm that both Balance and OriginalAmount match expected values in iPaaS.

Additional Notes

  • This mapping supports update-Only updating of Loyalty Transactions.

Did this answer your question?