Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Visit our Swagger

Rewards

The Rewards API allows developers to integrate reward functionalities into their applications. This includes creating, managing, and redeeming rewards for users.

The Streaming API provides comprehensive endpoints for managing interactive campaings including Listen and Watch Campaings

  • Play - Media campaigns to listen content on the principal providers (Spotify, Deezer, etc)
  • Watch - Media campaigns to watch content on the principal providers (Youtube, Twitch, etc)

Endpoint: GET /v2/engagements/campaigns/streaming

Description: Returns a paginated list of available streamings displayed on the home screen, with filtering options by type and status.

GET /campaigns/streaming
ParameterTypeRequiredDescription
orderByDateboolean❌ NoSort campaigns by date (most recent first).
limitnumber❌ NoMaximum number of campaigns returned.
offsetnumber❌ NoPagination offset for result navigation.
latitudenumber❌ NoUser latitude used for location-based campaign targeting.
longitudenumber❌ NoUser longitude used for location-based campaign targeting.
enterpriseListstring[]❌ NoList of enterprise IDs used to filter campaigns.
screenheightnumber❌ NoDevice screen height, used for responsive or adaptive campaigns.
screenwidthnumber❌ NoDevice screen width, used for responsive or adaptive campaigns.
descriptionstring❌ NoText used to search or filter campaigns by description.
segmentationFilterstring❌ NoSegmentation key used to filter targeted campaigns.
highlightsTypestring❌ NoDefines the highlight or spotlight type for campaigns.
filterConvertboolean❌ NoFilters campaigns based on conversion eligibility.
filterShareboolean❌ NoFilters campaigns that support sharing actions.
campaignTypestring❌ NoFilters campaigns by type (e.g. listen, watch, follow).
GET /v2/engagements/campaigns/streaming?limit=3&offset=0&latitude=0&longitude=0&orderByDate=false&enterpriseList=&screenheight=220&screenwidth=374
[
{
"enterpriseId": "0198f15b-2f53-769f-af3e-479011fc82ef",
"enterpriseData": {
"enterprise_id": "0198f15b-2f53-769f-af3e-479011fc82ef",
"enterpriseData": {
"alias": "sorrisomaroto_1",
"id": "0198f15b-2f53-769f-af3e-479011fc82ef",
"logoImage": {
"url": "https://cdn.wiboo.io/bcc15aab-a161-4786-83e3-c78e4a856720/ba809cf8f357084a2bb1bf773c9c8354"
},
"name": "Sorriso Maroto",
"photo": "https://cdn.wiboo.io/bcc15aab-a161-4786-83e3-c78e4a856720/ba809cf8f357084a2bb1bf773c9c8354"
}
},
"campaings":
[
{
"id": "019b2cf2-8da3-750f-8e0a-bebd78a88340",
"maxValue": "150",
"sharesCounts": 0,
"percentage": 100,
"campaignMediaId": "019b2cf4-a4ae-7295-8898-8f16105608f2",
"campaignType": "listen",
"startAt": "2025-12-17T12:45:00.000Z",
"finishAt": "2026-01-18T23:55:00.000Z",
"diamond": false,
"fire": false,
"enterprise_id": "0198f15b-2f53-769f-af3e-479011fc82ef",
"wibxCampaignAmount": 32821,
"configuration": [
{
"indication": 0,
"share": 5,
"media": {
"id": "bcc110a1-1461-4f21-806a-d24fd578eb2e",
"media_name": "deezer",
"url": "https://link.deezer.com/s/31RnRW170TvoKt6BjZKyH",
"configValue": "60",
"configUnit": "seconds"
}
}
}
]
}
]

Endpoint: GET /v2/engagements/campaigns/streaming/{campaignId}

Description: Returns the specific data from a streaming campaign, including enterprise information, campaign details, media configuration, and item metadata. Used when a user opens a campaign from a push notification or deep link.

GET /campaigns/streaming/id
ParameterTypeRequiredDescription
campaignIdstring✅ YesThe unique ID of the streaming campaign
GET /v2/engagements/campaigns/streaming/019b2cf2-8da3-750f-8e0a-bebd78a88340
{
"enterpriseId": "0198f15b-2f53-769f-af3e-479011fc82ef",
"enterpriseEnabled": true,
"maxCampaignPaymentValue": 5000,
"newerCampaignDate": "2025-12-17T12:45:00.000Z",
"enterpriseData": {
"enterprise_id": "0198f15b-2f53-769f-af3e-479011fc82ef",
"count": 1,
"enterpriseData": {
"id": "0198f15b-2f53-769f-af3e-479011fc82ef",
"enabled": true,
"owner": "owner@enterprise.com",
"relationshipPush": true,
"contact": {
"mail": "contact@enterprise.com"
},
"latitude": -23.5505,
"longitude": -46.6333,
"name": "Sorriso Maroto",
"enterpriseId": "0198f15b-2f53-769f-af3e-479011fc82ef",
"photo": "https://cdn.wiboo.io/bcc15aab-a161-4786-83e3-c78e4a856720/ba809cf8f357084a2bb1bf773c9c8354",
"businessCategory": "Music",
"description": "Sorriso Maroto streaming campaigns",
"alias": "sorrisomaroto_1",
"logoImage": {
"url_minimum": "https://cdn.wiboo.io/bcc15aab-a161-4786-83e3-c78e4a856720/min.png",
"url_maximum": "https://cdn.wiboo.io/bcc15aab-a161-4786-83e3-c78e4a856720/max.png",
"url": "https://cdn.wiboo.io/bcc15aab-a161-4786-83e3-c78e4a856720/ba809cf8f357084a2bb1bf773c9c8354"
},
"images": {
"url_minimum": "https://cdn.wiboo.io/images/min.png",
"url_maximum": "https://cdn.wiboo.io/images/max.png",
"url": "https://cdn.wiboo.io/images/image.png"
},
"address": {
"latitude": -23.5505,
"longitude": -46.6333,
"address": "Av. Paulista, 1000",
"city": "São Paulo",
"zipcode": "01310-100",
"country": "BR"
}
}
},
"campaigns": [
{
"id": "019b2cf2-8da3-750f-8e0a-bebd78a88340",
"campaignGeolocationData": {
"latitude": -23.5505,
"longitude": -46.6333
},
"item_id": "item_001",
"enterprise_id": "0198f15b-2f53-769f-af3e-479011fc82ef",
"enterpriseEnabled": true,
"status": "active",
"when": "2025-12-17T12:45:00.000Z",
"wibxCampaignAmount": 32821,
"maxValue": 150,
"finishedAt": "2026-01-18T23:55:00.000Z",
"validFrom": "2025-12-17T12:45:00.000Z",
"validTo": "2026-01-18T23:55:00.000Z",
"fire": false,
"diamond": false,
"payConversionAsPercentage": true,
"iconsParameters": {
"hot": 0,
"diamond": 0
},
"configuration": [
{
"id": "cfg_001",
"challenge": "listen",
"share": 5,
"like": 0,
"reshare": 0,
"indication": 0,
"maximumDistanceShow": 5000,
"media": {
"id": "bcc110a1-1461-4f21-806a-d24fd578eb2e",
"media_name": "deezer",
"url": "https://link.deezer.com/s/31RnRW170TvoKt6BjZKyH"
}
}
],
"item": {
"enabled": true,
"id": "item_001",
"name": "Sorriso Maroto - Ao Vivo",
"description": "Listen to Sorriso Maroto and earn rewards",
"item_type": "streaming",
"images": [
{
"enabled": true,
"default": true,
"url": "https://cdn.wiboo.io/items/image.png",
"original_url": "https://cdn.wiboo.io/items/original.png",
"url_minimum": "https://cdn.wiboo.io/items/min.png",
"url_indication": "https://cdn.wiboo.io/items/indication.png",
"url_maximum": "https://cdn.wiboo.io/items/max.png",
"order": 1
}
]
},
"remainingAmount": 300,
"sharesCounts": 0,
"percentage": 100,
"isLiked": false,
"hasChallenge": false,
"campaignType": "listen",
"campaignMediaId": "019b2cf4-a4ae-7295-8898-8f16105608f2"
}
]
}
ValueDescription
listenAudio streaming campaigns (Spotify, Deezer, etc)
watchVideo streaming campaigns (YouTube, Twitch, etc)
followFollow an artist or channel
likeLike content on a platform
add_playlistAdd content to a playlist
registerRegister on a platform
assistAttend or participate in content

Endpoint: POST /v2/engagements/streaming

Description: Notifies the server that the user is actively consuming streaming content (listening or watching) from a campaign. This endpoint must be called before redirecting the user to the external media provider URL. It tracks user engagement and triggers reward eligibility for the campaign.

ParameterTypeRequiredDescription
campaignIdstring✅ YesThe ID of the streaming campaign (from campaigns[].id)
campaignMediaIdstring✅ YesThe ID of the specific media being consumed (from campaigns[].campaignMediaId)
{
"campaignId": "019b2cf2-8da3-750f-8e0a-bebd78a88340",
"campaignMediaId": "019b2cf4-a4ae-7295-8898-8f16105608f2"
}

Returns an empty response with status 204 No Content on success.

StatusDescription
400Invalid request body — missing or malformed campaignId or campaignMediaId
401Unauthorized — user session is invalid or expired
404Campaign or media not found
409Stream already notified — duplicate engagement for this session

The Indicate Campaigns API provides endpoints to retrieve enterprise campaigns, access campaign details, generate shareable links, and register user interactions such as likes.

These endpoints support pagination, geolocation, segmentation filters, and engagement-based criteria.


EndpointMethodDescription
/v2/engagements/campaignsGETRetrieve enterprise campaigns
/v2/engagements/campaignsGETRetrieve campaign details
/v1/indications/shareablelinkPOSTGenerate a shareable campaign link

GET /v2/engagements/campaigns

Returns a paginated list of enterprise campaigns based on filters such as location, segmentation, device data, and engagement rules.

NameTypeDescription
orderByDatebooleanSort campaigns by date
limitnumberNumber of results per page
offsetnumberPagination offset
latitudenumberUser latitude
longitudenumberUser longitude
enterpriseListstring[]List of enterprise identifiers
screenheightnumberDevice screen height
screenwidthnumberDevice screen width
descriptionstringSearch term or description
segmentationFilterstringSegmentation criteria
highlightsTypestringCampaign highlight type
filterConvertbooleanFilter by conversion-enabled campaigns
filterSharebooleanFilter by shareable campaigns
/v2/engagements/campaigns?limit=3&offset=0&latitude=0&longitude=0&orderByDate=false&enterpriseList=&screenheight=220&screenwidth=374
[
{
"enterpriseId": "0198f15b-2f53-769f-af3e-479011fc82ef",
"enterpriseEnabled": true,
"maxCampaignPaymentValue": 5000,
"newerCampaignDate": "2025-01-12T10:30:00Z",
"enterpriseData": {
"enterprise_id": "0198f15b-2f53-769f-af3e-479011fc82ef",
"count": 2,
"enterpriseData": {
"id": "ent_001",
"enabled": true,
"owner": "owner@enterprise.com",
"relationshipPush": true,
"contact": {
"mail": "contact@enterprise.com"
},
"latitude": 4.710989,
"longitude": -74.072092,
"name": "SuperMart",
"enterpriseId": "ENT-SUPERMART",
"photo": "https://cdn.example.com/enterprise/photo.png",
"businessCategory": "Retail",
"description": "A leading supermarket chain",
"alias": "supermart",
"logoImage": {
"url_minimum": "https://cdn.example.com/logo/min.png",
"url_maximum": "https://cdn.example.com/logo/max.png",
"url": "https://cdn.example.com/logo/logo.png"
},
"images": {
"url_minimum": "https://cdn.example.com/images/min.png",
"url_maximum": "https://cdn.example.com/images/max.png",
"url": "https://cdn.example.com/images/image.png"
},
"address": {
"latitude": 4.711,
"longitude": -74.072,
"address": "123 Main Street",
"city": "Bogotá",
"zipcode": "110111",
"country": "CO"
}
}
},
"campaigns": [
{
"id": "cmp_001",
"campaignGeolocationData": {
"latitude": 4.7105,
"longitude": -74.0719
},
"item_id": "item_001",
"enterprise_id": "ent_001",
"enterpriseEnabled": true,
"status": "active",
"when": "2025-01-10T08:00:00Z",
"wibxCampaignAmount": 200,
"maxValue": 1000,
"finishedAt": "2025-02-01T23:59:59Z",
"validFrom": "2025-01-01T00:00:00Z",
"validTo": "2025-02-01T23:59:59Z",
"fire": true,
"diamond": false,
"payConversionAsPercentage": true,
"iconsParameters": {
"hot": 1,
"diamond": 0
},
"configuration": [
{
"id": "cfg_001",
"challenge": "buy",
"share": 10,
"like": 5,
"reshare": 3,
"indication": 15,
"maximumDistanceShow": 5000,
"media": {
"id": "media_001",
"media_name": "banner",
"url": "https://cdn.example.com/media/banner.png"
}
}
],
"item": {
"enabled": true,
"id": "item_001",
"name": "Discount Coupon",
"description": "10% off your next purchase",
"item_type": "coupon",
"images": [
{
"enabled": true,
"default": true,
"url": "https://cdn.example.com/item/image.png",
"original_url": "https://cdn.example.com/item/original.png",
"url_minimum": "https://cdn.example.com/item/min.png",
"url_indication": "https://cdn.example.com/item/indication.png",
"url_maximum": "https://cdn.example.com/item/max.png",
"order": 1
}
]
},
"remainingAmount": 300,
"sharesCounts": 42,
"percentage": 75,
"isLiked": true,
"hasChallenge": true,
"campaignType": "conversion",
"campaignMediaId": "media_001"
}
]
}
]

POST /v1/indications/shareablelink

Description: Generates a shareable link for a campaign.

{
"user_id": "384af41e-df69-47aa-bba9-9a8b5d4e8668", // Current user ID of the session
"itemId": "019b2cf2-8da3-750f-8e0a-bebd78a88340", // The item ID within the campaign (campaign.item.id)
"idMedia": "telegram" // The media ID within the campaign (campaign.configuration.media.media_name)
}
{
"value": "MY_NEW_SHAREABLE_TOKEN"
}

Now you need to build the link to be shared, this call will only generate a TAM token for this particular campaign.

GET /v1/indications/parameters

{
"url": "CURRENT_ENVIRONMENT_BASE_URL"
}

So, combining the shareable token and the base URL, you can build the link to be shared:

${CURRENT_ENVIRONMENT_BASE_URL}/${campaign.idItem}/${idMedia}/${MY_NEW_SHAREABLE_TOKEN}

That way, you now only need to launch that link and the system will track this action campaign.

This document provides a high-level overview of the available Rewards and Challenges API endpoints. The content below is a placeholder and intended to be expanded with authentication details, request/response examples, and error handling.


EndpointMethodDescription
/v1/rewards/challengesGETList available challenges
/v1/rewards/challenge-detailsGETRetrieve challenge details
/v1/rewards/my-challengesGETList user challenges

GET /v1/rewards/challenges

Returns a paginated list of available challenges based on search and filter criteria.

NameTypeDescription
searchstringSearch term for challenges
filterstring[]List of filters to apply
limitnumberNumber of results per page
offsetnumberPagination offset
rewardsTypestringType of reward
{
"data": [
{
"id": "ch_001",
"icon": "shopping-cart",
"storeName": "SuperMart",
"image": "https://cdn.example.com/challenges/ch_001.png",
"actionType": "purchase",
"title": "Buy 3 items and earn rewards",
"rewardsType": "points",
"progress": 40,
"status": "active",
"createdAt": "2025-01-10T14:32:00Z"
},
{
"id": "ch_002",
"icon": "store",
"storeName": "Fashion Hub",
"image": "https://cdn.example.com/challenges/ch_002.png",
"actionType": "visit",
"title": "Visit the store this week",
"rewardsType": "coupon",
"status": "scheduled",
"createdAt": "2025-01-15T09:00:00Z"
}
],
"limit": 10,
"offset": 0,
"total": 42,
"globalTraceId": "abc123xyz456"
}

GET /v1/rewards/challenge-details

Retrieves detailed information for a specific challenge.

NameTypeDescription
idstringUnique challenge identifier
"data": {
"id": "ch_001",
"icon": "shopping-cart",
"storeName": "SuperMart",
"image": "https://cdn.example.com/challenges/ch_001.png",
"actionType": "purchase",
"title": "Buy 3 items and earn rewards",
"rewardsType": "points",
"progress": 40,
"status": "active",
"createdAt": "2025-01-10T14:32:00Z",
"description": "Complete purchases at SuperMart to earn reward points.",
"rulesTitle": "How to complete this challenge",
"rules": "Make at least three qualifying purchases during the campaign period. Each purchase must meet the minimum value defined by the store.",
"goal": "Complete 3 purchases",
"validate": "2025-02-15T23:59:59Z",
"total": 3,
"campaignId": "cmp_789"
}

GET /v1/rewards/my-challenges

Returns a paginated list of challenges associated with the authenticated user.

NameTypeDescription
searchstringSearch term
filterstring[]List of applied filters
limitnumberNumber of results per page
offsetnumberPagination offset
{
"data": [
{
"id": "ch_001",
"icon": "shopping-cart",
"storeName": "SuperMart",
"image": "https://cdn.example.com/challenges/ch_001.png",
"actionType": "experience",
"title": "Buy 3 items and earn rewards",
"rewardsType": "points",
"progress": 100,
"status": "finished",
"createdAt": "2025-01-10T14:32:00Z"
},
{
"id": "ch_002",
"icon": "store",
"storeName": "Fashion Hub",
"image": "https://cdn.example.com/challenges/ch_002.png",
"actionType": "visit",
"title": "Visit the store this week",
"rewardsType": "wibx",
"progress": 100,
"status": "finished",
"createdAt": "2025-01-15T09:00:00Z"
}
],
"limit": 10,
"offset": 0,
"total": 2,
"globalTraceId": "abc123xyz456"
}

The SmartForms API provides comprehensive endpoints for managing interactive forms including surveys, quizzes, and rating systems within the mobile application.

SmartForms enable dynamic user engagement through three main form types:

  • Survey - Collect user feedback and opinions
  • Quiz - Interactive questions with correct/incorrect answers
  • Rate - Rating-based evaluations with numerical values

Endpoint: GET /smartforms

Description: Returns a paginated list of available SmartForms displayed on the home screen, with filtering options by type and status.

GET /smartforms
ParameterTypeRequiredDescription
offsetnumberNoNumber of results to skip
limitnumberNoResults per page (default: 3)
typestringNoFilter by form type (quiz, survey, rate)
statusstringNoFilter by form status
GET /smartforms?limit=10&offset=1&type=quiz&status=active
{
"count": 100,
"limit": 3,
"offset": 0,
"data": [
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"avatarImage": "https://example.com/avatar.jpg",
"title": "Avalie a Razer 1",
"brand": "Razer",
"status": "active",
"formType": "rate"
},
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"avatarImage": "https://example.com/avatar.jpg",
"title": "Quiz da Razer",
"brand": "Razer",
"status": "active",
"formType": "quiz"
},
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"avatarImage": "https://example.com/avatar.jpg",
"title": "Pesquisa Razer",
"brand": "Razer",
"status": "active",
"formType": "survey"
}
]
}

Endpoint: GET /smartforms/:id

Description: Retrieves detailed information about a specific SmartForm when user clicks on a form.

GET /smartforms/:id
ParameterTypeRequiredDescription
idstringYesSmartForm ID
GET /smartforms/85cafbd2-3f4a-43cc-880d-c95c8a9090fd
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"avatarImage": "https://example.com/avatar.jpg",
"title": "Avalie a Razer 1",
"brand": "Razer",
"status": "ACTIVE",
"formType": "quiz",
"description": "Lorem ipsum dolor sit amet...",
"amountValue": 280,
"bannerImage": "https://example.com/banner.jpg",
"createdAt": "2025-05-26T00:00:00.000Z",
"validTo": "2025-06-26T00:00:00.000Z",
"estimatedTime": 2,
"numberOfQuestions": 3
}
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"avatarImage": "https://example.com/avatar.jpg",
"title": "Avalie a Razer 1",
"brand": "Razer",
"status": "ACTIVE",
"formType": "survey",
"description": "Lorem ipsum dolor sit amet...",
"amountValue": 280,
"bannerImage": "https://example.com/banner.jpg",
"createdAt": "2025-05-26T00:00:00.000Z",
"validTo": "2025-06-26T00:00:00.000Z",
"estimatedTime": 2,
"numberOfQuestions": 3
}
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"avatarImage": "https://example.com/avatar.jpg",
"title": "Avalie a Razer 1",
"brand": "Razer",
"status": "ACTIVE",
"formType": "rate",
"description": "Lorem ipsum dolor sit amet...",
"amountValue": 280,
"bannerImage": "https://example.com/banner.jpg",
"createdAt": "2025-05-26T00:00:00.000Z",
"validTo": "2025-06-26T00:00:00.000Z",
"estimatedTime": 2,
"numberOfQuestions": 3
}

Endpoint: POST /smartforms

Description: Marks that the user has started participating in a SmartForm. Called when user clicks the participation button.

POST /smartforms
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"formType": "quiz" | "rate" | "survey"
}
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"avatarImage": "https://example.com/avatar.jpg",
"title": "Avalie a Razer 1",
"brand": "Razer",
"status": "ACTIVE",
"formType": "quiz",
"description": "Lorem ipsum dolor sit amet...",
"amountValue": 280,
"bannerImage": "https://example.com/banner.jpg",
"createdAt": "2025-05-26T00:00:00.000Z",
"validTo": "2025-06-26T00:00:00.000Z",
"estimatedTime": 2,
"numberOfQuestions": 3,
"questions": [
{
"id": "8d46facb-fa4f-4851-913e-0b5dc34b3328",
"description": "Como você avalia os produtos da Razer?",
"isSingleAnswer": true,
"isOpenQuestion": false,
"options": [
{
"id": "opt1",
"description": "Excelente!"
},
{
"id": "opt2",
"description": "Muito bom"
},
{
"id": "opt3",
"description": "Bom"
},
{
"id": "opt4",
"description": "Regular"
},
{
"id": "opt5",
"description": "Ruim"
}
]
}
]
}
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"title": "Avalie a Razer 1",
"formType": "RATE",
"questions": [
{
"id": "8d46facb-fa4f-4851-913e-0b5dc34b3328",
"description": "Como você avalia os produtos da Razer?",
"isSingleAnswer": true,
"isOpenQuestion": false,
"options": [
{
"id": "opt1",
"description": "Excelente!",
"value": 5
},
{
"id": "opt2",
"description": "Muito bom",
"value": 4
},
{
"id": "opt3",
"description": "Bom",
"value": 3
},
{
"id": "opt4",
"description": "Regular",
"value": 2
},
{
"id": "opt5",
"description": "Ruim",
"value": 1
}
]
}
]
}

Endpoint: POST /smartforms/answers

Description: Submits a user’s answer to a specific question. Called for each selected option as the user progresses through the form.

POST /smartforms/answers
{
"questionId": "8d46facb-fa4f-4851-913e-0b5dc34b3328",
"selectedAnswer": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd"
}
{
"message": "Resposta registrada",
"questionId": "8d46facb-fa4f-4851-913e-0b5dc34b3328",
"isCorrect": true,
"isComplete": false
}
{
"message": "Resposta registrada",
"questionId": "8d46facb-fa4f-4851-913e-0b5dc34b3328",
"isComplete": false
}

Endpoint: GET /smartforms/answers/:id

Description: Retrieves the user’s previous answers for a specific SmartForm. Used to populate screen options based on previous responses. Returns empty if user hasn’t answered the questions yet.

GET /smartforms/answers/:id
{
"canReanswer": false,
"questions": [
{
"id": "8d46facb-fa4f-4851-913e-0b5dc34b3328",
"description": "Como você avalia os produtos da Razer?",
"isSingleAnswer": true,
"isOpenQuestion": false,
"options": [
{
"id": "opt1",
"description": "Excelente!"
},
{
"id": "opt2",
"description": "Muito bom"
},
{
"id": "opt3",
"description": "Bom"
},
{
"id": "opt4",
"description": "Regular"
},
{
"id": "opt5",
"description": "Ruim"
}
]
}
]
}
{
"canReanswer": true,
"questions": [
{
"id": "8d46facb-fa4f-4851-913e-0b5dc34b3328",
"description": "Como você avalia os produtos da Razer?",
"isSingleAnswer": true,
"isOpenQuestion": false,
"options": [
{
"id": "opt1",
"description": "Excelente!"
},
{
"id": "opt2",
"description": "Muito bom"
},
{
"id": "opt3",
"description": "Bom"
},
{
"id": "opt4",
"description": "Regular"
},
{
"id": "opt5",
"description": "Ruim"
}
]
}
]
}
{
"canReanswer": true,
"questions": [
{
"id": "8d46facb-fa4f-4851-913e-0b5dc34b3328",
"description": "Como você avalia os produtos da Razer?",
"isSingleAnswer": true,
"isOpenQuestion": false,
"options": [
{
"id": "opt1",
"description": "Excelente!",
"value": 5
},
{
"id": "opt2",
"description": "Muito bom",
"value": 4
},
{
"id": "opt3",
"description": "Bom",
"value": 3
},
{
"id": "opt4",
"description": "Regular",
"value": 2
},
{
"id": "opt5",
"description": "Ruim",
"value": 1
}
]
}
]
}

Endpoint: GET /smartforms/my-forms

Description: Returns a paginated list of SmartForms that the user has participated in, with filtering options by status.

GET /smartforms
ParameterTypeRequiredDescription
offsetnumberNoNumber of results to skip
limitnumberNoResults per page (default: 3)
statusstringNoFilter by form status
  • active - Forms that can still be answered and are not 100% complete
  • finished - Forms that are 100% completed
  • inactive - Forms that have expired or can no longer be participated in
GET /smartforms/my-forms?limit=10&offset=1&status=active
{
"count": 100,
"limit": 3,
"offset": 0,
"data": [
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"avatarImage": "https://example.com/avatar.jpg",
"title": "Avalie a Razer 1",
"brand": "Razer",
"status": "active",
"formType": "rate",
"percentage": "50"
},
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"avatarImage": "https://example.com/avatar.jpg",
"title": "Quiz da Razer",
"brand": "Razer",
"status": "finished",
"formType": "quiz",
"percentage": "100"
},
{
"id": "85cafbd2-3f4a-43cc-880d-c95c8a9090fd",
"avatarImage": "https://example.com/avatar.jpg",
"title": "Pesquisa Razer",
"brand": "Razer",
"status": "inactive",
"formType": "survey",
"percentage": "75"
}
]
}

The VIP Groups API provides comprehensive endpoints for managing exclusive user groups and their benefits within the mobile application.

VIP Groups enable businesses to create exclusive experiences for premium users through:

  • Enterprise Management - Access to multiple enterprise VIP programs
  • Group Benefits - Exclusive rewards, discounts, and special offers
  • Personalized Content - Tailored product recommendations and promotions

Endpoint: GET /v1/rewards/vips

Description: Returns all enterprises where the user is registered within a VIP group. Currently returns groups instead of the enterprise where the group was created.

GET /v1/rewards/vips
GET /v1/rewards/vips
[
{
"icon": "https://dev-static.wiboo.io/c9151aa1-0514-4a53-9ebd-c08c4eec2544/5627d517affde3239a44c370d125b78c",
"id": "9b07fde9-67cd-4643-af5f-a6bf65ba3a6f",
"label": "test"
}
]

Endpoint: GET /v1/rewards/vips/:id

Description: Returns all VIP groups for the selected enterprise with pagination support.

GET /v1/rewards/vips/:id
ParameterTypeRequiredDescription
idstringYesEnterprise ID
ParameterTypeRequiredDescription
limitnumberNoResults per page
offsetnumberNoNumber of results to skip
GET /v1/rewards/vips/9b07fde9-67cd-4643-af5f-a6bf65ba3a6f?limit=10&offset=0
[
{
"label": "Loja Wibx",
"icon": "https://d1jc1l746atx5b.cloudfront.net/eyJidWNrZXQiOiJkZXYtc3RhdGljLndpYm9vLmlvIiwiZWRpdHMiOnsicmVzaXplIjp7ImZpdCI6Im91dHNpZGUiLCJoZWlnaHQiOjQwMCwid2lkdGgiOjQwMCwicG9zaXRpb24iOiJlbnRyb3B5Iiwid2l0aG91dEVubGFyZ2VtZW50Ijp0cnVlLCJmYXN0U2hyaW5rT25Mb2FkIjp0cnVlfSwiZmxhdHRlbiI6ZmFsc2UsIm5vcm1hbGlzZSI6dHJ1ZX0sImtleSI6ImMwYzI4OGE0LTc3YzQtNDFjNC1iMTIyLWUxMDExNGM1MDdjNC81Mjg1MGQ4YzY2NGU2OGM2MjA3ZWI3MmUyOWQxZmM1NiJ9",
"groupName": "Premium Members",
"id": "0197e4f0-312d-726a-a90f-8ad59d70afbe"
}
]

Endpoint: GET /v1/rewards/vips/group/:id

Description: Retrieves detailed information about a specific VIP group including benefits, coupons, and exclusive products.

GET /v1/rewards/vips/group/:id
ParameterTypeRequiredDescription
idstringYesVIP Group ID
GET /v1/rewards/vips/group/0197e4f0-312d-726a-a90f-8ad59d70afbe
{
"groupName": "Premium Plus Members",
"enterpriseName": "Bauducco",
"image": "https://classic.exame.com/wp-content/uploads/2016/09/size_960_16_9_ovomaltine-chocotone-bauducco.jpg?quality=30&strip=info&w=480",
"isRewards": true,
"coupon": {
"discount": "40%",
"expired": "31/12/2024",
"id": "coup9548954",
"type": "physical",
"useBy": "Bauducco - Vale Sul"
},
"products": [
{
"title": "Promotional Products",
"id": "2154-7845-6455",
"grid": "horizontal",
"data": [
{
"id": "prod1",
"name": "Premium Chocolate",
"price": 15.99,
"discount": 20
}
]
},
{
"title": "Special Products",
"id": "2154-7845-6456",
"grid": "horizontal",
"data": [
{
"id": "prod2",
"name": "Exclusive Cookies",
"price": 12.5,
"discount": 30
}
]
}
]
}