Online Cashback Shopping Flow

Online cashback deals can be retrieved from the Sniptech Partner API. Various user flows are supported where deals can be discovered through Categories, Stores or Deals. For these endpoints the X-User-Id and thus Sniptech User creation is not required. Once a User starts interacting with the Deals and starts the process of generating transactions, then the Partner would have to register the account described in the Partner account registration flow.

When a User selects a desired Deal, then the POST /clicks endpoint is used in order to generate a tracked url on redirecting the user to the Merchant website. Once the User has completed the purchase on the Merchant website, the Merchant will confirm all the details including the reward to be awarded. This cashback is then distributed to the dedicated User Wallet via a process in the back end, after which the Users Transactions overview and User Balance is updated.

Picture

Sample browsing calls

Stores and deals can be requested per category. Available categories can be requested with GET {{baseUrl}}/cashback/v1/categories

Sample request

GET {{baseUrl}}/categories?culture=es-ES 
-- header 'Authorization: Bearer <access_token>'

Sample response:

Returned categoryId values can be applied in category query parameters on store and deal endpoints.

{ 
"pagination": {
"page": 1,
"limit": 100,
"total": 2,
"pageCount": 1
},
"categories": [ {
"categoryId": "5570",
"culture": "es-ES",
"parentCategoryId": null,
"name": "Electrodomésticos",
"description": "Comprar electrodomésticos en línea es mucho más barato con descuentos y cashback. En esta página encontrarás todas las tiendas web a las que puedes acudir para comprar electrodomésticos. Ya sea que estés buscando lavadora, aspiradora, máquina de coser, secadora, limpiador de vapor, accesorios para el hogar o una tabla de planchar, cómpralo en línea y recibe cashback.",
"urlPathSegment": "electrodomesticos",
"bannerImageUrl": "https://static.orangebuddies.com/image/category/3_5570.jpg",
"icon": "icon-plug-1"
},
{
"categoryId": "5128",
"culture": "es-ES",
"parentCategoryId": null,
"name": "Rebajas",
"description": "¡Compra siempre en rebajas! En esta página encontrarás todas las tiendas web donde puedes descubrir ofertas constantes. Ya sea que busques ropa, zapatos, muebles de jardín, accesorios para el hogar, zapatillas, maquillaje, perfumes, ropa para niño o juguetes, puedes encontrarlos a precios reducidos y con cashback. ¡Eso es un doble beneficio!",
"urlPathSegment": "rebajas",
"bannerImageUrl": "https://static.orangebuddies.com/image/category/3_5128.jpg",
"icon": "icon-percent-badge"
}
]
}

Retrieve available stores

Webstores with cashback offers can be retrieved using the GET {{baseUrl}}/cashback/v1/stores endpoint. This endpoint supports multiple options to filter and order the set of stores, based on popularity, culture, category, etc. The returned store dataset includes details for all deals available on the requested store.

Sample request:


GET {{baseUrl}}/stores?culture=nl-NL&categoryId[]=5128
-- header 'Authorization: Bearer <access_token>'

Sample response:

{ 
"pagination": {
"page": 1,
"limit": 1,
"total": 1,
"pageCount": 1
},
"stores": [
{
"storeId": "110486",
"culture": "nl-NL",
"name": "XYZ.com",
"isActive": true,
"shortDescription": "Bij XYZ.com ben je op nul afstand van geweldige aanbiedingen voor vrouwen, mannen en kinderen",
"fullDescription": "Als je online mode en accessoires wilt shoppen, hoef je niet verder te zoeken. Bij XYZ.com vind je een aantal hele exclusieve modemerken, zoals X Y en Z.",
"termAndConditions": null,
"additionalInfo": "*XYZ.com cashback ontvang je voor daadwerkelijke, geregistreerde aankopen/aanmeldingen die direct. Enkel voor online casino's kan geen Claim je Cashback ticket worden ingediend.",
"categoryIds": [
"1475",
"1415",
"1424",
"1416",
"1417",
"1419"
],
"competitorStoreIds": null,
"webUrl": "https://www.XYZ.com/",
"logoUrl": "https://static.XYZ.com/image/stores/110486.jpg",
"urlPathSegment": "xyzcom",
"type": "Sale",
"deals": [
{
"dealId": "d-119732",
"culture": "nl-NL",
"type": "deal",
"title": "Online aankoop",
"details": null,
"isActive": true,
"isExclusive": false,
"imageUrl": null,
"expiryDate": null,
"offerPrice": null,
"offerPriceOriginal": null,
"extraFlag": null,
"voucherCode": null,
"theme": null,
"currency": "EUR",
"cashback": {
"type": "percentage",
"percentage": 8.0,
"amount": null
},
"cashbackOriginal": null,
"urlPathSegment": null,
"store": {
"storeId": "110486",
"name": "XYZ.com",
"logoUrl": "https://static.XYZ.com/image/stores/110486.jpg",
"urlPathSegment": "0cmcom"
}
}
],
"currencyDefaultDealId": null,
"percentageDefaultDealId": "d-119732",
"statistics": {
"registrationHours": 18.0,
"confirmationHours": null,
"rejectionRate": null,
"reliabilityRate": 1.0,
"reviewRate": null,
"reviewsCount": null
}
}
]
}

Retrieve available deals

Cashback deals can also be requested directly, using the GET {{baseUrl}}/cashback/v1/deals endpoint. This endpoint supports multiple options to filter and order the set of stores, based on deal type, popularity, culture, category, etc.

Sample request:

GET {{baseUrl}}/deals?culture=nl-NL&categoryId[]=5128&dealType[]=deal 
-- header 'Authorization: Bearer <access_token>'

Sample response:

{ 
"pagination": {
"page": 1,
"limit": 100,
"total": 1,
"pageCount": 1
},
"deals": [
{
"dealId": "v-854179",
"culture": "nl-NL",
"type": "deal",
"title": "Ontvang shoptegoed op geselecteerde items bij XXX",
"details": "Ontvang shoptegoed cadeau op geselecteerde artikelen bij XXX.",
"isActive": true,
"isExclusive": false,
"imageUrl": "https://static.com/image/vouchers/v_854179.jpg",
"expiryDate": "2022-06-30",
"offerPrice": null,
"offerPriceOriginal": null,
"extraFlag": "discount",
"voucherCode": null,
"theme": null,
"currency": "EUR",
"cashback": {
"type": "percentage",
"percentage": 6.0,
"amount": null
}
]
}

Redirect users with tracking url to webstore

When the user selected a specific deal the front end needs to redirect the user to the selected webstore. A user based trackable redirect url can be generated using the POST {{base_url}}/cashback/v1/clicks endpoint.

Sample request:

--header 'Authorization: Bearer <access_token>' 
--header 'Content-Type: application/json' \
--data-raw '{
"channel": "web",
"eventSource": "store",
"eventSourceId": "110486",
"userId": "7e3c260a-80a3-41c0-ac1d-423853f4d1d8"
}'

The userId attribute is optional. In case no userId is provided, tracked commissions generated from this click will assigned to the partner wallet.

Sample response:

{ 
"redirectUrl": "http://trackedlink.com/?c=15640&m=809946&a=42114&r=168-OBS-d2b3f7d307c943c9ac6f46eaee04c147",
"subId": "168-OBS-d2b3f7d307c943c9ac6f46eaee04c147",
"store": {
"storeId": "20959",
"name": "XYZExpress",
"logoUrl": "https://XYZ.com/image/stores/20959.jpg",
"urlPathSegment": "XYZexpress"
}
}