Loyalty APIs (3.0.0)

Customer loyalty drives successful enterprises, representing the trust and emotional connection consumers develop with brands over time. In today's competitive landscape with evolving customer expectations, retaining existing customers is as crucial as attracting new ones. Our Customer Loyalty API revolutionizes customer engagement by enabling seamless integration of loyalty programs into your applications, websites, and platforms. This solution empowers businesses of all sizes with personalized experiences, targeted rewards, and data-driven insights to enhance customer lifetime value. This documentation guides you through integration with detailed explanations, endpoints, examples, and best practices suitable for both newcomers and experienced developers.

Key Features-

Customer Enrollment - Easily register customers with minimal API calls

Points and Rewards Management - Track points and incentivize engagement

Personalized Promotions - Create targeted offers based on individual preferences

Data Analytics - Gain insights into customer behavior for informed decisions

Security and Compliance - Protect customer data with robust security measures

Seamless Integration - Compatible with various platforms for hassle-free implementation

Download OpenAPI description
Languages
Servers

https://s15.socialannex.net/api/3.0/

Users

Welcome to the User API Documentation for Annex Cloud! This comprehensive guide is designed to empower developers, administrators, and system integrators with the knowledge and tools necessary to seamlessly interact with our loyalty platform's user-related functionalities. As the cornerstone of our customer engagement ecosystem, the Users API enables you to effortlessly manage user profiles, personalize experiences, and unlock the full potential of our loyalty solutions.

Whether you're aiming to integrate user registration into your application, retrieve user information for tailored experiences, or track user activity for insightful analytics, this documentation will serve as your compass in navigating the world of user management within our loyalty-based framework. We understand that your technical expertise is as unique as the experiences you aim to deliver to your users, and that's why we've crafted this guide to be both informative for newcomers and insightful for seasoned developers.

By leveraging the power of the User API, you'll gain the ability to create, update, and retrieve user profiles, harnessing valuable data to drive loyalty strategies and cultivate lasting relationships. From conceptual overviews to in-depth endpoints and practical examples, we've curated a resource that not only imparts technical know-how but also encourages innovation and creativity in building user-centric solutions.

Thank you for choosing Annex Cloud as your partner in loyalty solutions.

Operations

Points

Welcome to the Points API documentation for Annex Cloud, your gateway to unlocking a world of loyalty-based rewards and customer engagement. In this comprehensive guide, we'll walk you through the powerful capabilities of our Points API, designed to seamlessly integrate with your systems and empower you to create unforgettable experiences for your customers.

At Annex Cloud, we understand that building lasting relationships with your customers is at the core of your business. Our Points API provides you with the tools to effortlessly implement a robust loyalty program that not only drives customer retention but also enhances brand affinity. Whether you're a developer looking to integrate our API or a business leader seeking to harness the potential of loyalty rewards, this documentation will equip you with the knowledge and insights needed to succeed.

From awarding points for purchases and referrals to offering personalized rewards and exclusive perks, our Points API puts the control in your hands. With clear and concise endpoints, accompanied by code samples and real-world use cases, you'll be able to quickly grasp the API's functionality and start building innovative loyalty solutions that set you apart in today's competitive market.

Get ready to embark on a journey that goes beyond transactions. Let's dive into the intricacies of the Points API, where creativity meets technology to redefine the way you connect with your customers and drive sustainable business growth.

Operations

Action

Welcome to the Action API Documentation for Annex Cloud! We understand that crafting an exceptional loyalty program involves more than just rewarding points—it's about creating dynamic and engaging experiences for your customers. Our Loyalty Actions API is your gateway to elevating your loyalty program, allowing you to design and implement meaningful interactions that resonate with your audience. The Loyalty Actions API by Annex Cloud is a powerful tool designed to help you go beyond traditional loyalty rewards. With this API, you can:

Drive Customer Engagement- Create interactive and personalized experiences to keep your customers actively involved in your loyalty program.

Enable Real-time Interactions- Implement actions that trigger instantly based on customer behavior, ensuring timely and relevant rewards.

Enhance User Experience- Seamlessly integrate actions into your existing applications, websites, and platforms to provide a cohesive and enjoyable user experience.

Encourage Desired Behaviors- Design and deploy actions that align with your business objectives, encouraging customers to take specific actions that benefit both them and your brand.

At Annex Cloud, we believe in the power of meaningful interactions to strengthen the bond between your brand and your customers. This documentation is your key to unlocking the full potential of our Loyalty Actions API, and we're excited to embark on this journey with you. Thank you for choosing Annex Cloud to enhance your loyalty program, and let's create extraordinary experiences together! Let's get started!

Operations

Activity

Welcome to the Activity API documentation for Annex Cloud! Here, we are excited to guide you through the dynamic world of loyalty-based interactions and engagement. Our Activity API empowers you to seamlessly integrate and enhance your loyalty program with real-time activity tracking, enabling you to craft personalized experiences for your valued customers.

In this comprehensive guide, you will find everything you need to know to leverage the full potential of our Activity API. Whether you are a seasoned developer looking to integrate our API into your existing systems, or a business visionary seeking to create innovative loyalty solutions, we have got you covered.

From tracking points accumulation and rewards redemption to monitoring user interactions and crafting targeted campaigns, our Activity API opens doors to a new realm of customer engagement possibilities. We understand the significance of fostering lasting relationships with your clientele, and this API paves the way for fostering those connections in meaningful and profitable ways.

Through easy-to-follow examples, detailed endpoints, request and response formats, this documentation will empower you to harness the power of our Activity API effectively.

Explore the API, experiment with its capabilities, and unlock the potential to redefine loyalty experiences for your customers. The possibilities are boundless, and the rewards are waiting. Let us get started!

Operations

Tiers

Welcome to the Tiers API Documentation for Annex Clouds cutting-edge loyalty program platform. Our Tiers API empowers developers, businesses, and partners to seamlessly integrate and enhance their applications with our dynamic and customizable loyalty tiers system. This API documentation serves as your comprehensive guide to understanding and implementing the Tiers API, unlocking the full potential of loyalty-driven engagement for your customers.

Whether you are looking to reward long-term patrons, incentivize higher spending, or create personalized experiences for your member base, our Tiers API offers a versatile solution that aligns with your unique business goals. By integrating this API, you can effortlessly design and manage multi-tiered loyalty structures that captivate, engage, and retain your audience, all while enjoying the ease of integration and scalability that our platform provides.

Throughout this documentation, we will delve into the core functionalities of the Tiers API, walking you through the steps to seamlessly incorporate loyalty tiers into your applications. From setting up tier parameters and defining eligibility criteria, to handling tier transitions and leveraging tier-specific benefits, we have got you covered with clear instructions and code examples.

Operations

Rewards

At Annex Cloud, we understand the power of loyalty and the importance of rewarding your customers for their continued support. Our Loyalty Rewards API is designed to help you seamlessly integrate and enhance your loyalty program, making it easier than ever to create engaging, customized, and rewarding experiences for your customers. Using our Rewards API, you can easily access and utilize members' rewards data, allowing you to keep tabs on your loyal customer base, their preferences, and their engagement with your program. Additionally, you can access a comprehensive list of rewards used by your members, providing insights into what incentives are most appealing and effective.

This documentation covers everything you need to get started with our Loyalty Rewards API, including detailed information on available API endpoints and how to use them.

Thank you for choosing Annex Cloud for your loyalty needs, and we look forward to helping you build stronger, more loyal customer relationships.

Operations

Segment

Segment module can be used to differentiate the Users into groups which can be used in other loyalty modules for offers or campaigns. Define segments and conditions and use them to incentivize your members.

Operations

Campaign

Welcome to the Loyalty Program Campaigns API Documentation for Annex Cloud! This comprehensive guide is designed to empower developers, businesses, and stakeholders to seamlessly integrate and leverage our Loyalty Program Campaigns API within their applications and systems.

Our loyalty-based company understands the significance of fostering meaningful relationships with our valued customers. As such, we have crafted a powerful API that enables businesses to create, manage, and optimize loyalty campaigns, driving customer engagement, loyalty, and retention.

Annex Cloud’s Loyalty Program Campaigns API is a robust and flexible tool that facilitates the integration of our loyalty program capabilities into your applications and platforms. Through this API, you can design and execute diverse loyalty campaigns, offering tailored rewards and incentives to your customers based on their actions, purchases, or interactions with your brand.

By integrating our API, you unlock a plethora of benefits:

Customized Loyalty Campaigns: Design unique loyalty campaigns that align with your business goals and resonate with your customer base.

Enhanced Customer Engagement: Drive customer engagement by offering personalized rewards and promotions, enhancing their loyalty and advocacy.

Real-time Performance Insights: Obtain real-time analytics and insights into the performance of your loyalty campaigns, allowing you to optimize strategies for maximum effectiveness.

Seamless Integration: Easily integrate the Loyalty Program Campaigns API into your existing systems, ensuring a smooth and efficient loyalty program management process.

This documentation covers essential aspects, endpoints, request and response examples, and best practices to ensure a seamless integration and utilization of the Loyalty Program Campaigns API. Let's embark on this journey to elevate your loyalty programs and build lasting connections with your cherished customers.

Operations

Orders

Welcome to the Orders API documentation for Annex Cloud, where loyalty and seamless customer experiences converge. This API empowers developers, partners, and integrators to tap into the core of our loyalty-based ecosystem, enabling the creation of innovative and personalized solutions that enhance customer engagement and drive business growth.

In this comprehensive guide, you will find all the essential information needed to integrate with our Orders API seamlessly. Whether you're a seasoned developer seeking to leverage the power of loyalty data or a business owner aiming to enhance customer satisfaction, this documentation will serve as your compass to navigate the world of loyalty-driven transactions.

From placing orders and tracking purchases to utilizing loyalty rewards within the checkout process, the Orders API opens a realm of possibilities. By harnessing this interface, you can craft applications that bridge the gap between exceptional user experiences and business success.

We've designed this documentation to provide clear insights into the capabilities, endpoints, authentication, and best practices for utilizing the Orders API effectively. As you embark on this integration journey, we encourage you to explore the diverse use cases, reference implementations, and code snippets that will help you hit the ground running.

Thank you for choosing Annex Cloud as your partner in delivering unparalleled loyalty experiences. Let's dive into the intricacies of the Orders API and pave the way for loyalty-driven innovation that transforms the way customers interact with your brand.

Operations

Create a New Order

Request

Use the POST method in the Orders API to create a new order made by a member in the loyalty program. Each order has a unique ID and contains all the relevant order data such as the member placing the order, the order total, when the order is placed, discounts applied to the order or when the order ships. All other fields in the request body are listed below. Please note that you must enter required fields such as the ID and user ID parameters.

The orderDate parameter is required to make the POST request if the backdated order functionality is enabled for the client via the "Enable Customize Orderdate In Order API " flag in the super admin.

Bodyapplication/json
idstringrequired

Enter the order ID for the order.

Example: "abc720"
userIdstringrequired

Enter the unique ID of the loyalty member.

Example: "user@domain.com"
disregardHoldPeriodstring

Enter Yes or No based on the flag enabled. YES- instructs the system to bypass the standard hold period for the points associated with the order. It releases the points to the member immediately, overriding the default holding period. NO- the points will follow the standard hold process before being released.

Example: "YES"
referrerCodestring

Enter the unique referrer code provided by the Refer-a-Friend program (if applicable) when placing an order. Note1- If you have already entered the referrer code while creating a member profile, and the Auto Assign Points to Referrer flag is enabled in the super admin settings, there is no need to enter the code again when placing an order. The system will automatically retrieve the necessary information, and upon the first successful order, points will be awarded to the referrer. Note2- This parameter is also applicable to multi-template sites.

Example: "Abc123"
emailstring

Enter the email address of the member.

Example: "user@domain.com"
firstNamestring

Enter the first name of the loyalty member.

Example: "John"
lastNamestring

Enter the last name of the loyalty member.

Example: "Smith"
orderTotalinteger

Enter the total amount spent on the order.

Example: 100
storeIdstring

Enter the unique ID of the store.

Example: "IN12369"
sourcestring

Enter the source of where the order was placed by the loyalty member, such as web or store. For customers who use our Native Receipt Scanner (NRS) solution, this parameter is auto-populated as “Receipt Upload.”

Example: "web"
discountAmountinteger

Enter the total discount amount applied to the order.

Example: 5
couponstring

Enter the coupon code applied to the order.

Example: "SARL0RXQ12017"
rewardIdinteger

Enter the reward ID for the reward being applied to the order.

Example: 234
rewardNamestring

Enter the name of the reward.

Example: "Reward234"
shippingAmountinteger

Enter the cost that will be applied for shipping the order. Please note that as a pre-requisite, Action ID 1091 must be configured and enabled.

Example: 250
orderDatestring

Enter the order date in yyyy-MM-dd HH:mm:ss format. It becomes a required field when backdated orders are enabled. Represents the UTC order date and time. Note - This field is required if the backdated order flag is enabled in the Super Admin.

Example: "2024-01-01 01:28:13"
secondaryUserIdstring

A list of members who have assisted in the sale. Only displays if multi-level earning rules are enabled.

Example: "gt45sh"
orderDetailobjectrequired

Enter the order details for the products from the order that you would like to ship in the orderDetail object as follows.

orderDetail.​idstring

Enter the unique ID of the product.

Example: "p1"
orderDetail.​productNamestring

Enter the name of the product.

Example: "football"
orderDetail.​quantityinteger

Enter the quantity of the product that has been purchased.

Example: 2
orderDetail.​unitPriceinteger

Enter the unit price of the product.

Example: 230
orderDetail.​estimatedShipDatestring

Enter the estimated date the product will be shipped in yyyy-MM-dd'T'HH:mm:ssZ format.

Example: "2018-04-01T00:00:00-0700"
orderDetail.​categoryIdinteger

Enter the category ID of the product.

Example: 23
orderDetail.​categoryNamestring

Enter the category name of the product.

Example: "sporting goods"
orderDetail.​urlstring

Enter the product URL.

Example: "http://domain.com/image.gif"
orderDetail.​imageUrlstring

Enter the product image URL.

Example: "http://domain.com/image.gif"
orderDetail.​transactionTypestring

Enter the type of transaction. Please note, this only works if the transaction type is enabled.

Example: "DEBIT"
orderDetail.​descriptionstring

Enter the applicable description of the product.

Example: "collegiate leather football"
orderDetail.​secondaryKeystring

Enter the unique secondary key. The secondary key is an essential element in handling orders that contain multiple products with the same product ID. If a member wants to return a product after the order is shipped, the system may encounter issues due to the identical product IDs. However, the secondary key comes in handy to differentiate between the products, enabling the system to identify each product accurately and process partial returns or cancellations of the order successfully. Note - If the secondary key flag is enabled in the Products > Actions > Action Rules > Purchase > Advanced Settings > Additional Settings > Enable Secondary Key for Product page, the field is required; otherwise, it's optional.

Example: "p101"
orderAttributeobject

If an order attribute was previously set to mandatory, then the parameter is required. If not, then the parameter appears as optional.

curl -i -X POST \
  https://s15.socialannex.net/api/3.0/orders \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "abc720",
    "userId": "user@domain.com",
    "disregardHoldPeriod": "YES",
    "referrerCode": "Abc123",
    "email": "user@domain.com",
    "firstName": "John",
    "lastName": "Smith",
    "orderTotal": 100,
    "storeId": "IN12369",
    "source": "web",
    "discountAmount": 5,
    "coupon": "SARL0RXQ12017",
    "rewardId": 234,
    "rewardName": "Reward234",
    "shippingAmount": 250,
    "orderDate": "2024-01-01 01:28:13",
    "secondaryUserId": "gt45sh",
    "orderDetail": {
      "id": "p1",
      "productName": "football",
      "quantity": 2,
      "unitPrice": 230,
      "estimatedShipDate": "2018-04-01T00:00:00-0700",
      "categoryId": 23,
      "categoryName": "sporting goods",
      "url": "http://domain.com/image.gif",
      "imageUrl": "http://domain.com/image.gif",
      "transactionType": "DEBIT",
      "description": "collegiate leather football",
      "secondaryKey": "p101"
    },
    "orderAttribute": {
      "MPC*": "abc12345abc",
      "MSTN*": "hf45jh"
    }
  }'

Responses

successful operation

Body
siteIdstring

Displays the Annex Cloud site ID for the loyalty program.

Example: 9991331
idstring

Displays the unique ID of the order.

Example: "abc234"
userIdstring

Displays the unique ID of the member.

Example: "user@domain.com"
disregardHoldPeriodstring

Displays whether the system has successfully disregarded the hold period for the points associated with the order. If set to YES, the hold period was bypassed, and the points were released to the member immediately. If set to NO, the points are still subject to the standard hold period before being released.

Example: "YES"
emailstring

Displays the email address of the member.

Example: "user@domain.com"
firstNamestring

Displays the first name of the member.

Example: "John"
lastNamestring

Displays the last name of the member.

Example: "Smith"
orderTotalinteger

Displays the total amount spent on the order.

Example: 200
eventIdinteger

Displays the event identified for the member. The eventId is used for tracking a referral order. Using the original sharer or referrer, the system then awards points based on a specific event back to the sharer/referrer. The eventId can also be checked using the RAF module.

Example: 123
storeIdstring

Displays the unique ID of the store where the order was placed.

Example: "IN12369"
sourcestring

Displays the source, meaning where the order was placed by the loyalty member, such as web or store.

Example: "web"
rewardIdinteger

Displays the specific ID of the reward applied to the order.

Example: 234
rewardNamestring

Displays the name of the reward.

Example: "Reward234"
pointsAwardedinteger

Displays the total points awarded for the order.

Example: 100
pointsExpirationDatestring

Displays the points expiration date in yyyy-MM-dd'T'HH:mm:ssZ format.

Example: "2020-04-01T00:00:00-0700"
pointsOnHoldinteger

Displays the number of points on hold against the order. Points may be put on hold to account for possible returns made by the member.

Example: 20
couponstring

Displays the coupon code, if a code was applied on the order.

Example: "xe76y"
previousTierstring

Displays the name of the member's previous tier.

Example: "Silver"
UpdatedUserTierstring

Displays the name of the member's updated tier after the points are awarded/removed for the order.

Example: "Gold"
currentTierstring

Displays the name of the member's current tier. For example, Bronze, Silver, Gold. The name of the tier is defined by the client during configuration of the loyalty program.

Example: "Gold"
nextTierstring

Displays the name of the next tier the member can achieve in the loyalty program.

Example: "Platinum"
pointsToNextTierinteger

Displays the number of points required to achieve the next tier. This depends on the point threshold required to reach the next tier and the number of points the member currently has in their account.

Example: 240
currentTierPurchaseRatiointeger

Displays the purchase point ratio applied to the member's purchases in their current tier.

Example: 2
spendAmountToNextTierinteger

Displays the amount the member needs to spend to achieve the next tier. This is only applicable to tiers where the metric is spend-based. If the tier metric is points-based or based on extended attributes, it will not show any additional values.

Example: 200
discountCalulationDisabledstring

Displays the discount calculation disabled as YES/NO.

Example: "YES"
tierAchievedDatestring

Displays the date the current tier was achieved in yyyy-MM-dd'T'HH:mm:ssZ format.

Example: "2020-04-01T00:00:00-0700"
tierExpirationDatestring

Displays the tier expiration date in yyyy-MM-dd'T'HH:mm:ssZ format.

Example: "2018-04-01T00:00:00-0700"
updatedAvailablePointsinteger

Displays the updated total number of available points for the member.

Example: 1234
updatedLifetimePointsinteger

Displays the updated number of points the member has accumulated in their lifetime with the loyalty program.

Example: 2000
discountAmountinteger

Displays the total discount amount applied to the order.

Example: 25
shippingAmountinteger

Displays the cost of shipping for the order.

Example: 15
orderDetailobject

Displays the product details for the order as shown below.

orderAttributeobject

Displays the order attribute which passes values while creating the order (if order attributes have been configured).

multiBucketsDataobject

Displays an array of all multi-bucket details with the following fields. Only displays if the multi-bucket flag is enabled.

Response
{ "siteId": 9991331, "id": "abc234", "userId": "user@domain.com", "disregardHoldPeriod": "YES", "email": "user@domain.com", "firstName": "John", "lastName": "Smith", "orderTotal": 200, "eventId": 123, "storeId": "IN12369", "source": "web", "rewardId": 234, "rewardName": "Reward234", "pointsAwarded": 100, "pointsExpirationDate": "2020-04-01T00:00:00-0700", "pointsOnHold": 20, "coupon": "xe76y", "previousTier": "Silver", "UpdatedUserTier": "Gold", "currentTier": "Gold", "nextTier": "Platinum", "pointsToNextTier": 240, "currentTierPurchaseRatio": 2, "spendAmountToNextTier": 200, "discountCalulationDisabled": "YES", "tierAchievedDate": "2020-04-01T00:00:00-0700", "tierExpirationDate": "2018-04-01T00:00:00-0700", "updatedAvailablePoints": 1234, "updatedLifetimePoints": 2000, "discountAmount": 25, "shippingAmount": 15, "orderDetail": { "id": "p1", "productName": "shoes", "quantity": 2, "unitPrice": 75, "netPrice": 150, "productDiscount": 30, "estimatedShipDate": "2018-04-01T00:00:00-0700", "autoDelivery": "YES", "categoryId": 23, "categoryName": "running shoes", "rewardId": 123, "rewardName": "Reward 123", "points": 210, "url": "http://domain.com/image.gif", "imageUrl": "http://domain.com/image.gif", "description": "XYZ Flowers", "secondarykey": "p101" }, "orderAttribute": { "MPC": "ABC12345", "MSTN": "ABC67890" }, "multiBucketsData": { "bucketName": {} } }

Create New Orders in Bulk

Request

To create new orders in bulk, use this POST method in the Orders API. When uploading bulk orders, you will input the relevant order information such as the parameters for userId, orderID and orderDetails, for each order being passed. This is very helpful when you need to upload the order information for multiple orders instead of doing it as a single order like you would in the POST /orders method. You must specify the order id, user Id, product id, quantity, and unit price parameters for each order included in the bulk request, as they are mandatory fields.

Bodyapplication/json
idstringrequired

Enter the unique order ID.

Example: "abc720"
userIdstringrequired

Enter the unique member ID.

Example: "user@domain.com"
emailstring

Enter the email address of the member.

Example: "user@domain.com"
firstNamestring

Enter the first name of the loyalty member.

Example: "John"
lastNamestring

Enter the last name of the loyalty member.

Example: "Smith"
orderTotalinteger

Enter the total amount of the order placed by the loyalty member.

Example: 100
storeIdstring

Enter the unique ID of the store.

Example: "IN12369"
sourcestring

Enter the source of where the order was placed by the loyalty member, such as web or store.

Example: "web"
discountAmountinteger

Enter the total discount amount on the placed order.

Example: 10
couponstring

Enter the coupon code (if applicable).

Example: "SARL0RXQ12017"
rewardIdinteger

Enter the specific reward ID for the reward applied to the order.

Example: 1234
rewardNamestring

Enter the name of the reward.

Example: "Reward234"
shippingAmountinteger

Enter the cost that will be applied for shipping the order. Please note that as a pre-requisite, Action ID 1091 must be configured and enabled.

Example: 0
orderDetailobjectrequired

Enter the order details for the products from the order that you would like to ship in the orderDetail object as follows.

orderDetail.​idinteger

Enter the unique ID of the product.

Example: 12345
orderDetail.​productNamestring

Enter the name of the product.

Example: "lorem ipsum"
orderDetail.​quantityinteger

Enter the quantity of the product that was purchased.

Example: 2
orderDetail.​unitPriceinteger

Enter the unit price of the product.

Example: 234
orderDetail.​estimatedShipDatestring

Enter the estimated date the product will be shipped in yyyy-MM-dd'T'HH:mm:ssZ format.

Example: "2018-04-01T00:00:00-0700"
orderDetail.​categoryIdinteger

Enter the category ID of the product.

Example: 23
orderDetail.​categoryNamestring

Enter the category name of the product.

Example: "lorem ipsum"
orderDetail.​urlstring

Enter the product URL.

Example: "http://domain.com/image.gif"
orderDetail.​imageUrlstring

Enter the product image URL.

Example: "http://domain.com/image.gif"
orderDetail.​descriptionstring

Enter the applicable description of the product.

Example: "XYZ Flowers"
orderDetail.​secondaryKeystring

Enter the unique secondary key. The secondary key is an essential element in handling orders that contain multiple products with the same product ID. If a member wants to return a product after the order is shipped, the system may encounter issues due to the identical product IDs. However, the secondary key comes in handy to differentiate between the products, enabling the system to identify each product accurately and process partial returns or cancellations of the order successfully. Note - If the secondary key flag is enabled in the Products > Actions > Action Rules > Purchase > Advanced Settings > Additional Settings > Enable Secondary Key for Product page, the field is required; otherwise, it's optional.

Example: "p101"
orderAttributeobject

If an order attribute was previously set to mandatory, then the parameter is required. If not, then the parameter appears as optional.

curl -i -X POST \
  https://s15.socialannex.net/api/3.0/bulkpostorder \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "abc720",
    "userId": "user@domain.com",
    "email": "user@domain.com",
    "firstName": "John",
    "lastName": "Smith",
    "orderTotal": 100,
    "storeId": "IN12369",
    "source": "web",
    "discountAmount": 10,
    "coupon": "SARL0RXQ12017",
    "rewardId": 1234,
    "rewardName": "Reward234",
    "shippingAmount": 0,
    "orderDetail": {
      "id": 12345,
      "productName": "lorem ipsum",
      "quantity": 2,
      "unitPrice": 234,
      "estimatedShipDate": "2018-04-01T00:00:00-0700",
      "categoryId": 23,
      "categoryName": "lorem ipsum",
      "url": "http://domain.com/image.gif",
      "imageUrl": "http://domain.com/image.gif",
      "description": "XYZ Flowers",
      "secondaryKey": "p101"
    },
    "orderAttribute": {
      "MPC*": "12345bg",
      "MSTN*": "67890df"
    }
  }'

Responses

successful operation

Body
siteIdstring

Displays the Annex Cloud site ID for the loyalty program.

Example: 9991331
idstring

Displays the unique ID of the order.

Example: "abc234"
userIdstring

Displays the unique ID of the member.

Example: "user@domain.com"
emailstring

Displays the email address of the member.

Example: "user@domain.com"
firstNamestring

Displays the first name of the member.

Example: "John"
lastNamestring

Displays the last name of the member.

Example: "Smith"
orderTotalinteger

Displays the total amount of the order placed.

Example: 200
eventIdstring

Displays the event identified for the member.

Example: "cd123"
storeIdstring

Displays the unique ID of the store.

Example: "IN12369"
sourcestring

Displays the source where the order was placed by the loyalty member, such as web or store.

Example: "web"
rewardIdinteger

Displays the specific reward ID for the reward applied to the order.

Example: 234
rewardNamestring

Displays the name of the reward applied to the order.

Example: "Reward234"
pointsAwardedinteger

Displays the number of points awarded against the order.

Example: 0
pointsExpirationDatestring

Displays the points expiration date in yyyy-MM-dd'T'HH:mm:ssZ format.

Example: "2020-04-01T00:00:00-0700"
couponstring

Displays the coupon code, if a code was applied on the order.

Example: "SARL0RXQ12017"
previousTierstring

Displays the member's previous tier after the points are awarded/removed.

Example: "SARL0RXQ12017"
UpdatedUserTierstring

Displays the member's updated tier after the points are awarded/removed.

Example: "Gold"
currentTierstring

Displays the name of the member's current tier. For example, Bronze, Silver, Gold. The name of the tier is defined by the client during configuration of the loyalty program.

Example: "Silver"
nextTierstring

Displays the name of the next tier which is awarded to the member once the required milestones are achieved.

Example: "XYXZ"
pointsToNextTierinteger

Displays the number of points required to achieve the next tier. This depends on the point threshold required to reach the next tier and the number of points the member currently has in their account.

Example: 240
currentTierPurchaseRatiointeger

Displays the purchase ratio that is applied to the member for this tier while earning purchase points.

Example: 2
spendAmountToNextTierinteger

Displays the amount the member needs to spend to achieve the next tier. This is only applicable to tiers where the metric is spend-based. If the tier metric is points-based or based on extended attributes, it will not show any additional values.

Example: 200
discountCalulationDisabledstring

Displays the discount calculation disabled as YES/NO.

Example: "YES"
tierAchievedDatestring

Displays the current tier achievement date in in yyyy-MM-dd'T'HH:mm:ssZ format.

Example: "2020-04-01T00:00:00-0700"
updatedAvailablePointsinteger

Displays the updated total number of available points for the member.

Example: 1250
updatedLifetimePointsinteger

Displays the updated number of lifetime points for the member.

Example: 3000
discountAmountinteger

Displays the total discount amount on a placed order.

Example: 25
shippingAmountinteger

Displays the amount applied for shipping the order.

Example: 0
orderDetailobject

Displays the product details for the order as shown below.

orderAttributeobject

Displays the order attribute values passed while creating an order.

Response
{ "siteId": 9991331, "id": "abc234", "userId": "user@domain.com", "email": "user@domain.com", "firstName": "John", "lastName": "Smith", "orderTotal": 200, "eventId": "cd123", "storeId": "IN12369", "source": "web", "rewardId": 234, "rewardName": "Reward234", "pointsAwarded": 0, "pointsExpirationDate": "2020-04-01T00:00:00-0700", "coupon": "SARL0RXQ12017", "previousTier": "SARL0RXQ12017", "UpdatedUserTier": "Gold", "currentTier": "Silver", "nextTier": "XYXZ", "pointsToNextTier": 240, "currentTierPurchaseRatio": 2, "spendAmountToNextTier": 200, "discountCalulationDisabled": "YES", "tierAchievedDate": "2020-04-01T00:00:00-0700", "updatedAvailablePoints": 1250, "updatedLifetimePoints": 3000, "discountAmount": 25, "shippingAmount": 0, "orderDetail": { "id": "p1", "productName": "ABC", "quantity": 2, "unitPrice": 230, "netPrice": 330, "productDiscount": 30, "estimatedShipDate": "2018-04-01T00:00:00-0700", "autoDelivery": "YES", "categoryId": 23, "categoryName": "lorem ipsum", "rewardId": 123, "rewardName": "Reward 123", "points": 210, "url": "http://domain.com/image.gif", "imageUrl": "http://domain.com/image.gif", "description": "XYZ Flowers", "secondarykey": "p101" }, "orderAttribute": { "MPC*": "abc12345", "MSTN*": "67890gf" } }

This API is used to get the details of all the secondary member orders

Request

This field will only retrieve the information specific to that member for that order. Otherwise, it will return all secondary member's data.

Path
idstringrequired

Enter the unique ID of the member.

Example: user@domain.com
secondaryUserstringrequired

Enter the secondary user ID.

Example: secondary_user_1
curl -i -X GET \
  https://s15.socialannex.net/api/3.0/secondaryuserorders

Responses

Successful Operation

Bodyapplication/jsonArray [
siteIdstring

Displays the Annex Cloud site ID for the loyalty program.

Example: 123456
idstring

Displays the unique ID for the order.

Example: "user@domain.com"
userIdstring

Displays the unique user ID for the loyalty member.

Example: 12345
orderDatestring

Displays the date the order was placed.

Example: "2022-04-01T00:00:00-0700"
secondaryUsersDataobject

Displays the point expiration details for the member.

]
Response
application/json
[ { "siteId": 123456, "id": "user@domain.com", "userId": 12345, "orderDate": "2022-04-01T00:00:00-0700", "secondaryUsersData": {} } ]

Get order details

Request

This API is used to retrieve all of the details of an order based on either the user ID parameter, the order ID parameter, or both. Please note that if only the userId is entered, all orders placed by that member are returned.

Bodyapplication/json
userIdstringrequired

Enter the unique ID of the loyalty member.

Example: "j86.sa@gmail.com"
orderIdstringrequired

Enter the unique ID of the loyalty member.

Example: "p1"
curl -i -X POST \
  https://s15.socialannex.net/api/3.0/orderdetails \
  -H 'Content-Type: application/json' \
  -d '{
    "userId": "j86.sa@gmail.com",
    "orderId": "p1"
  }'

Responses

successful operation

Body
siteIdstring

Displays the Annex Cloud site ID for the loyalty program.

Example: 9991331
idstring

Displays the unique ID of the order.

Example: "abc234"
userIdstring

Displays the unique ID of the loyalty member.

Example: "user@domain.com"
emailstring

Displays the email address of the member.

Example: "user@domain.com"
orderDatestring

Displays the order date in yyyy-MM-dd'T'HH:mm:ssZ format.

Example: "2018-04-01T00:00:00-0700"
firstNamestring

Displays the first name of the member.

Example: "John"
lastNamestring

Displays the last name of the member.

Example: "Smith"
orderTotalinteger

Displays the total amount of an order placed by a loyalty member.

Example: 200
purchasePointTypestring

Displays the purchase point type.

Example: "Both"
storeIdstring

Displays the unique ID of the store where the order was placed.

Example: "IN12369"
sourcestring

Displays the source, meaning where the order was placed by the loyalty member, such as web or store.

Example: "web"
discountAmountsinteger

Displays the total discount amount on a placed order.

Example: 23
discountRefundDatastring

Displays the total refund amount for order.

Example: 23
couponstring

Displays the coupon code, if a code was applied on the order.

Example: "$20_OFF"
pointsAwardedinteger

Displays the number of points awarded against the order

Example: 100
pointsOnHoldinteger

Displays the number of points on hold against the order. Points may be put on hold to account for possible returns made by the member.

Example: 20
pointsExpirationDatestring

Displays the points expiration date in yyyy-MM-dd'T'HH:mm:ssZ format.

Example: "2020-04-01T00:00:00-0700"
updatedAvailablePointsinteger

Displays the updated total number of available points for the member.

Example: 1234
updatedLifetimePointsinteger

Displays the updated number of points the member has accumulated in their lifetime with the loyalty program.

Example: 2000
discountAmountinteger

Displays the total discount amount applied to the order placed.

Example: 25
shippingAmountinteger

Displays the cost of shipping for the order.

Example: 15
orderDetailobject

Displays the product details for the order as shown below.

ratioobject

Displays the product purchase ratio details.

productStatusobject

Displays the following details.

orderAttributeobject

Displays the order attribute which passes values while creating the order (if order attributes have been configured).

multiBucketsDataobject

Displays an array of all multi-bucket details with the following fields. Only displays if the multi-bucket flag is enabled.

Response
{ "siteId": 9991331, "id": "abc234", "userId": "user@domain.com", "email": "user@domain.com", "orderDate": "2018-04-01T00:00:00-0700", "firstName": "John", "lastName": "Smith", "orderTotal": 200, "purchasePointType": "Both", "storeId": "IN12369", "source": "web", "discountAmounts": 23, "discountRefundData": 23, "coupon": "$20_OFF", "pointsAwarded": 100, "pointsOnHold": 20, "pointsExpirationDate": "2020-04-01T00:00:00-0700", "updatedAvailablePoints": 1234, "updatedLifetimePoints": 2000, "discountAmount": 25, "shippingAmount": 15, "orderDetail": { "id": "p1", "productName": "shoes", "quantity": 2, "unitPrice": 75, "productDiscount": 30, "netPrice": 150, "estimatedShipDate": "2018-04-01T00:00:00-0700", "categoryId": 23, "categoryName": "running shoes", "url": "http://domain.com/image.gif", "imageUrl": "http://domain.com/image.gif", "description": "XYZ Flowers", "lastUpdatedDate": "2018-04-01T00:00:00-0700", "points": 210, "coupon": "bzgd", "rewardId": 123, "rewardName": "Reward 123", "campaignId": 123, "campaignName": "summersale", "campaignPoints": 123, "campaignHoldPoints": 150, "secondarykey": "p101" }, "ratio": { "purchaseRatio": 1, "eiRatio": 1, "tierRatio": 1, "campaignRatioApplied": true, "campaignRatio": 1, "pointsRatio": 1, "flatBonusPoints": 10 }, "productStatus": { "ship": 1, "return": 0, "cancel": 0, "hold": 1 }, "orderAttribute": { "MPC": "ABC12345", "MSTN": "ABC67890" }, "multiBucketsData": { "bucketName": {}, "tier[bucketName]": {} } }

Calculate the potential points of the products which are in the member's cart

Request

The potential points a member can earn off of the products in their cart are calculated by using the POST cart API. The Purchase Action must be properly configured before the API can function correctly.

Bodyapplication/json
siteIdstring

Enter the Annex Cloud site ID for the loyalty program.

Example: "29235480"
userIdstringrequired

Enter the unique user ID for the loyalty member.

Example: "user@domain.com"
appliedPointsinteger

Enter the number of points the member has applied (for redemption) on the cart page.

Example: 20
shippingAmountinteger

Enter the amount that is applied for shipping the order. Please note that as a pre-requisite, Action ID 1091 must be configured and enabled.

Example: 200
discountAmountinteger

Enter the total discount amount on a placed order.

Example: 1234
productDetailobjectrequired

Enter the array of product details presented in the productDetail object as follows.

productDetail.​idstring

Enter the product ID.

Example: "p1"
productDetail.​productNamestring

Enter the product name.

Example: "wool sweater"
productDetail.​categoryIdinteger

Enter the category ID of the product.

Example: 23
productDetail.​categoryNamestring

Enter the category name of the product.

Example: "outerwear"
productDetail.​quantityinteger

Enter the quantity of the product.

Example: 2
productDetail.​unitPriceinteger

Enter the unit price of the product.

Example: 230
productDetail.​couponstring

Enter the coupon code.

Example: "SARL0RXQ12017"
productDetail.​storeIdstring

Enter the store ID.

Example: "IN12369"
curl -i -X POST \
  https://s15.socialannex.net/api/3.0/cart \
  -H 'Content-Type: application/json' \
  -d '{
    "siteId": "29235480",
    "userId": "user@domain.com",
    "appliedPoints": 20,
    "shippingAmount": 200,
    "discountAmount": 1234,
    "productDetail": {
      "id": "p1",
      "productName": "wool sweater",
      "categoryId": 23,
      "categoryName": "outerwear",
      "quantity": 2,
      "unitPrice": 230,
      "coupon": "SARL0RXQ12017",
      "storeId": "IN12369"
    }
  }'

Responses

successful operation

Body
siteIdstring

Displays the Annex Cloud site ID for the loyalty program.

Example: 123456
userIdstring

Displays the unique ID of the member.

Example: "test@gmail.com"
discountAmountinteger

Displays the discount amount.

Example: 1234
shippingAmountinteger

Displays the amount applied for shipping on the order.

Example: 200
lifetimePointsinteger

Displays the number of points the member has earned in their lifetime with the loyalty program.

Example: 200
usedPointsinteger

Displays the total number of points the member has used in their lifetime with the loyalty program.

Example: 200
availablePointsinteger

Displays the number of points the member has available in their loyalty account.

Example: 200
holdPointsinteger

Displays the number of points currently on hold for the member.

Example: 200
appliedPointsinteger

Displays the number of points the member has applied (for redemption) on the cart page.

Example: 20
cartPointsinteger

Displays the number of points the member earns after purchasing the products in their cart.

Example: 20
availablePointsAfterOrderinteger

Displays the number of available points for the member after placing the order.

Example: 20
holdPointsAfterOrderinteger

Displays the number of points on hold for the member after placing the order.

Example: 20
creditsToCurrencyRatiointeger

Displays the credits to currency ratio set by the site administrator.

Example: 20
creditsToCurrencyValuestring

Displays the converted value of credits to currency according to the ratio. Note - Set the ‘Credit to Currency Value Up To’ configuration in the ADR to 2 decimal places. This ensures a consistent response format by always returning the value as a string data type.

Example: 10.5
creditsToCurrencyValueAfterOrderstring

Displays the credits to currency value of the total available points after the order is placed.

Example: 20.1
creditsToCurrencyValueCartPointsstring

Displays the credits to the currency value of the current cart if the order is placed.

Example: 20.5
discountCalulationDisabledstring

Displays the discount calculation disabled as YES/NO.

Example: "YES"
productDetailsobject

Displays an array of the product details which contains the following parameters.

multiBucketsDataobject

Displays an array of all the multi-bucket details with the following fields.

tier[bucketName]object

Displays the name of a specific bucket.

orderAttributeobject

Displays the following values.

Response
{ "siteId": 123456, "userId": "test@gmail.com", "discountAmount": 1234, "shippingAmount": 200, "lifetimePoints": 200, "usedPoints": 200, "availablePoints": 200, "holdPoints": 200, "appliedPoints": 20, "cartPoints": 20, "availablePointsAfterOrder": 20, "holdPointsAfterOrder": 20, "creditsToCurrencyRatio": 20, "creditsToCurrencyValue": 10.5, "creditsToCurrencyValueAfterOrder": 20.1, "creditsToCurrencyValueCartPoints": 20.5, "discountCalulationDisabled": "YES", "productDetails": { "id": "p1", "productName": "ABC", "categoryId": 23, "categoryName": "lorem ipsum", "quantity": 2, "unitPrice": 230, "points": 230, "coupon": "SARL0RXQ12017", "storeId": "IN12369" }, "multiBucketsData": { "bucketName": {} }, "tier[bucketName]": { "holdTier[bucketName]": 100, "releasedDate": "2020-10-30T05:30:00+0000", "availableTier[bucketName]": 100, "lifetimeTier[bucketName]": 0, "availableTier[bucketName]AfterOrder": 800, "lifetimeTier[bucketName]AfterOrder": 100 }, "orderAttribute": { "MPC": "abc12345", "MSTN": "67890rt" } }

Manually adjust (credit or debit) the spend amount for an order

Request

To manually adjust the spend amount of an order, use this POST method. When adjusting the spend amount, locate the specific order using the orderId field and then enter when the adjustment is a credit or debit, the amount credited or debited, which administrator performed the adjustment, and the reason why the manual spend is being adjusted.

Bodyapplication/json
idstringrequired

Enter the order ID for the member.

Example: "abc720"
orderIdstringrequired

Enter the order ID for the order.

Example: "067575654"
actionIdstringrequired

Enter Action ID 164.

Example: "164"
credit or debitstringrequired

To credit the spend, use the credit parameter to enter the spend amount to be credited. To debit the spend, use the debit parameter to enter the spend amount to be debited.

Example: "50"
activitystringrequired

Enter the activity as either CREDIT or DEBIT.

Example: "CREDIT"
adminEmailstringrequired

Enter the email address of the administrator adjusting the spend.

Example: "user@domain.com"
reasonstringrequired

Enter the reason for modifying the spend amount.

Example: "Spend has been modified."
curl -i -X POST \
  https://s15.socialannex.net/api/3.0/manualspend \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "abc720",
    "orderId": "067575654",
    "actionId": "164",
    "credit or debit": "50",
    "activity": "CREDIT",
    "adminEmail": "user@domain.com",
    "reason": "Spend has been modified."
  }'

Responses

successful operation

Body
siteIDstring

Displays the Annex Cloud site ID for the loyalty program.

Example: 8767851
idstring

Displays the unique ID of the member.

Example: "abc1234"
orderIdstring

Displays the unique ID of the order.

Example: "Order16754"
actionIdstring

Displays action code identifier 164.

Example: 164
creditstring

Displays the amount credited to the spend amount.

Example: "50"
debitstring

Displays the amount debited from the spend amount.

Example: "50"
activitystring

Displays the name of the activity, CREDIT or DEBIT.

Example: "CREDIT or DEBIT"
adminEmailstring

Displays the email address of the administrator adjusting the spend amount.

Example: "newmember@hotmail.com"
currentPurchaseRatiostring

Displays the current purchase ratio.

Example: 2
currentTierPurchaseRatiostring

Displays the current tier ratio.

Example: 1
pointsAwardedstring

Displays the points awarded due to the credit spend adjustment.

Example: 100
pointsDeductedstring

Displays the points deducted due to the debit spend adjustment.

Example: 100
reasonstring

Displays the reason for the spend adjustment.

Example: "Spend has been modified."
updatedAvailablePointsstring

Displays the updated number of available points.

Example: 300
updatedLifetimePointsstring

Displays the updated number of points the member has earned in their lifetime with the loyalty program.

Example: 500
totalSpentstring

Displays the total spend amount for the member to date.

Example: 250
previousTierstring

Displays the previous tier for the member before the adjustment.

Example: "Silver"
updatedUserTierstring

Displays the member's updated tier after the adjustment.

Example: "Gold"
nextTierstring

Displays the name of the next tier which is awarded to the member once the required milestones are achieved.

Example: "Platinum"
spendAmountToNextTierinteger

Displays the amount the member needs to spend to achieve the next tier. This is only applicable to tiers where the metric is spend-based. If the tier metric is points-based or based on extended attributes, it will not show any additional values.

Example: 100
createDatestring

Displays the date in yyyy-MM-dd’T’HH:mm:ssZ format on which the points are awarded to the user.

Example: "2018-04-01T00:00:00-0700"
Response
{ "siteID": 8767851, "id": "abc1234", "orderId": "Order16754", "actionId": 164, "credit": "50", "debit": "50", "activity": "CREDIT or DEBIT", "adminEmail": "newmember@hotmail.com", "currentPurchaseRatio": 2, "currentTierPurchaseRatio": 1, "pointsAwarded": 100, "pointsDeducted": 100, "reason": "Spend has been modified.", "updatedAvailablePoints": 300, "updatedLifetimePoints": 500, "totalSpent": 250, "previousTier": "Silver", "updatedUserTier": "Gold", "nextTier": "Platinum", "spendAmountToNextTier": 100, "createDate": "2018-04-01T00:00:00-0700" }

Update the order

Request

Use the PATCH method in the Orders API to update the order status of a shipment to the ship, return, or cancel status in the input parameter. Orders can also be updated depending on their status as partial or full ship, partial or full return, and partial or full cancellation of the order. All other fields in the request body are listed below. If you are cancelling, returning, or shipping an order, use the first request/response body schema set. If you are adding a new product or changing the quantity of an existing order, use the second request/response body schema set.

Bodyapplication/json
Different body parametersobject

Different body parameters are shown below in accordance with the order update needed.

curl -i -X PATCH \
  https://s15.socialannex.net/api/3.0/orders/orderid \
  -H 'Content-Type: application/json' \
  -d '{
    "Different body parameters": {
      "For Partial Ship": {
        "orderId": "satestorder1",
        "status": "ship",
        "disregardHoldPeriod": "YES",
        "orderDetail": {
          "id": "p32",
          "productName": "socks",
          "quantity": 2,
          "unitPrice": 75,
          "estimatedShipDate": "2018-04-01T00:00:00-0700",
          "categoryId": 23,
          "categoryName": "clothing",
          "url": "domain.com/image.gif",
          "imageUrl": "domain.com/image.gif",
          "description": "outdoor hiking socks",
          "lastUpdatedDate": "2018-04-01T00:00:00-0700",
          "autoDelivery": "YES",
          "secondarykey": "p101"
        }
      },
      "For Full Ship": {
        "orderId": "satestorder1",
        "status": "ship"
      },
      "For Full Return": {
        "orderId": "satestorder1",
        "status": "return",
        "reason": "credit memo",
        "pointsRefund": 10
      },
      "For Partial Return": {
        "orderId": "satestorder1",
        "status": "return",
        "reason": "credit memo",
        "discountRefund": 10,
        "pointsRefund": 10,
        "updatedDiscountAmount": 100,
        "orderDetail": {
          "id": "p19",
          "productName": "toothbrush",
          "quantity": 2,
          "unitPrice": 230,
          "estimatedShipDate": "2018-04-01T00:00:00-0700",
          "categoryId": 23,
          "categoryName": "oral hygiene",
          "url": "domain.com/image.gif",
          "imageUrl": "domain.com/image.gif",
          "description": "XYZ Flowers",
          "lastUpdatedDate": "2018-04-01T00:00:00-0700",
          "secondarykey": "p101"
        }
      },
      "For Full Cancel": {
        "orderId": "satestorder1",
        "status": "cancel",
        "reason": "credit memo",
        "pointsRefund": 10
      },
      "For Partial Cancel": {
        "orderId": "satestorder1",
        "status": "cancel",
        "reason": "credit memo",
        "discountRefund": 10,
        "pointsRefund": 10,
        "orderDetail": {
          "id": "p1",
          "productName": "computer mouse",
          "quantity": 2,
          "unitPrice": 230,
          "estimatedShipDate": "2018-04-01T00:00:00-0700",
          "categoryId": 23,
          "categoryName": "electronics",
          "url": "http://domain.com/image.gif",
          "imageUrl": "http://domain.com/image.gif",
          "description": "XYZ Flowers",
          "secondarykey": "p101",
          "lastUpdatedDate": "2018-04-01T00:00:00-0700"
        }
      }
    }
  }'

Responses

successful operation

Body
siteIdstring

Displays the Annex Cloud site ID for the loyalty program.

Example: 123456
disregardHoldPeriodstring

Displays whether the system has successfully disregarded the hold period for the points associated with the order. If set to YES, the hold period was bypassed, and the points were released to the member immediately. If set to NO, the points are still subject to the standard hold period before being released.

Example: "YES"
orderIdstring

Displays the unique ID of the order.

Example: "satestorder1"
pointsRemovedinteger

Displays the number of points removed from the member's account.

Example: 10
pointsAwardedinteger

Displays the total number of points awarded to the member.

Example: 60
updatedDiscountAmountinteger

Displays the updated discount amount awarded to the member.

Example: 100
currentReleasedPointsinteger

Displays the current amount of released points available to the member.

Example: 30
pointsExpirationDatestring

Displays the points expiration date in yyyy-MM-dd'T'HH:mm:ssZ format.

Example: "2020-04-01T00:00:00-0700"
pointsOnHoldinteger

Displays the number of points on hold against the order.

Example: 100
previousTierstring

Displays the name of member's previous tier.

Example: "Silver"
updatedUserTierstring

Displays the name of the member's tier after the update has been made.

Example: "Gold"
currentTierstring

Displays the name of the loyalty member's current tier. For example, Bronze, Silver, Gold. The name of the tier is defined by the client during configuration of the loyalty program.

Example: "Silver"
nextTierstring

Displays the name of the next tier which will be awarded to the member once the required milestones are achieved.

Example: "Platinum"
pointsToNextTierinteger

Displays the number of points required to achieve the next tier. This depends on the point threshold required to reach the next tier and the number of points the member currently has in their account.

Example: 240
currentTierPurchaseRatiointeger

Displays the purchase point ratio that is applied to the member's purchases while in their current tier.

Example: 2
spendAmountToNextTierinteger

Displays the amount the member needs to spend to achieve the next tier. This is only applicable to tiers where the metric is spend-based. If the tier metric is points-based or based on extended attributes, it will not show any additional values.

Example: 200
tierAchievedDatestring

Displays the date the current tier was reached by the member in yyyy-MM-dd'T'HH:mm:ssZ format.

Example: "2020-04-01T00:00:00-0700"
updatedAvailablePointsinteger

Displays the updated number of available points for the member.

Example: 468
updatedLifetimePointsinteger

Displays the updated number of points the member has earned in their lifetime with the loyalty program.

Example: 768
orderDetailobject

Displays the product details for the order as shown below.

For Partial Shipobject
For Full Shipobject
For Partial Returnobject
For Full Returnobject
For Partial Cancelobject
For Full Cancelobject
Response
{ "siteId": 123456, "disregardHoldPeriod": "YES", "orderId": "satestorder1", "pointsRemoved": 10, "pointsAwarded": 60, "updatedDiscountAmount": 100, "currentReleasedPoints": 30, "pointsExpirationDate": "2020-04-01T00:00:00-0700", "pointsOnHold": 100, "previousTier": "Silver", "updatedUserTier": "Gold", "currentTier": "Silver", "nextTier": "Platinum", "pointsToNextTier": 240, "currentTierPurchaseRatio": 2, "spendAmountToNextTier": 200, "tierAchievedDate": "2020-04-01T00:00:00-0700", "updatedAvailablePoints": 468, "updatedLifetimePoints": 768, "orderDetail": { "id": "p1", "quantity": 2, "unitPrice": 230, "netPrice": 55, "autoDelivery": "YES", "categoryId": 23, "categoryName": "lorem ipsum", "points": 370 }, "For Partial Ship": { "multiBucketsData": {} }, "For Full Ship": { "multiBucketsData": {} }, "For Partial Return": { "multiBucketsData": {} }, "For Full Return": { "multiBucketsData": {} }, "For Partial Cancel": { "multiBucketsData": {} }, "For Full Cancel": { "multiBucketsData": {} } }

Add to an exisiting order

Request

Use the following request body schema to add new quantities or an additional product(s) to an existing order by entering add as the Status parameter value.

Bodyapplication/json
orderIdstringrequired

Enter the original order ID.

Example: "123abc"
statusstringrequired

Enter the status as Add.

Example: "Add"
disregardHoldPeriodstring

Enter Yes or No based on the flag enabled. YES- instructs the system to bypass the standard hold period for the points associated with the order. It releases the points to the member immediately, overriding the default holding period. NO- the points will follow the standard hold process before being released.

Example: "YES"
orderDetailobjectrequired

Enter the order details for the products from the order that you would like to add to the order in the orderDetail object as follows.

orderDetail.​idstring

Enter the unique product ID.

Example: "p1"
orderDetail.​quantityinteger

Enter the quantity of the product purchased.

Example: 2
orderDetail.​unitPriceinteger

Enter the unit price of the product.

Example: 230
orderDetail.​secondarykeystring

Enter the unique secondary key. The secondary key is an essential element in handling orders that contain multiple products with the same product ID. If a member wants to return a product after the order is shipped, the system may encounter issues due to the identical product IDs. However, the secondary key comes in handy to differentiate between the products, enabling the system to identify each product accurately and process partial returns or cancellations of the order successfully. Note - If the secondary key flag is enabled in the Products > Actions > Action Rules > Purchase > Advanced Settings > Additional Settings > Enable Secondary Key for Product page, the field is required; otherwise, it's optional.

Example: "p101"
curl -i -X PATCH \
  https://s15.socialannex.net/api/3.0/orders/orderid%20-%20Add%20to%20an%20existing%20order \
  -H 'Content-Type: application/json' \
  -d '{
    "orderId": "123abc",
    "status": "Add",
    "disregardHoldPeriod": "YES",
    "orderDetail": {
      "id": "p1",
      "quantity": 2,
      "unitPrice": 230,
      "secondarykey": "p101"
    }
  }'

Responses

successful operation

Body
siteIdstring

Displays the Annex Cloud site ID for the loyalty program.

Example: 123456
disregardHoldPeriodstring

Displays whether the system has successfully disregarded the hold period for the points associated with the order. If set to YES, the hold period was bypassed, and the points were released to the member immediately. If set to NO, the points are still subject to the standard hold period before being released.

Example: "YES"
orderIdstring

Displays the unique ID of the order.

Example: "ORDER17840"
pointsOnHoldinteger

Displays the total points on hold for the member from the placed order.

Example: 0
pointsAwardedinteger

Displays the total points awarded against the order.

Example: 60
currentAwardedPointsinteger

Displays the points against the current product ID and quantity added to the order.

Example: 200
pointsExpirationDatestring

Displays the points expiration date in the following format- yyyy-MM-dd'T'HH:mm:ssZ.

Example: "2020-04-01T00:00:00-0700"
updatedAvailablePointsinteger

Displays the updated total number of available points for the member.

Example: 650
updatedLifetimePointsinteger

Displays the updated number of lifetime points for the member.

Example: 2000
previousTierstring

Displays the previous member tier after the points are awarded/removed.

Example: "Silver"
updatedUserTierstring

Displays the updated member tier after the points are awarded/removed.

Example: "Silver"
orderDetailobject

Displays the product details for the order as shown below.

Response
{ "siteId": 123456, "disregardHoldPeriod": "YES", "orderId": "ORDER17840", "pointsOnHold": 0, "pointsAwarded": 60, "currentAwardedPoints": 200, "pointsExpirationDate": "2020-04-01T00:00:00-0700", "updatedAvailablePoints": 650, "updatedLifetimePoints": 2000, "previousTier": "Silver", "updatedUserTier": "Silver", "orderDetail": { "id": "p1", "quantity": 2, "unitPrice": 230, "points": 370, "currentTier": "Silver", "nextTier": "Gold", "pointsToNextTier": 100, "currentTierPurchaseRatio": 1, "spendAmountToNextTier": 200, "tierAchievedDate": "2020-04-01T00:00:00-0700", "secondarykey": "p101" } }

BlockList

Welcome to Annex Cloud's Loyalty Blocklist API- a powerful tool designed to fortify the security and integrity of your loyalty program. In the dynamic landscape of customer engagement and rewards, ensuring the trustworthiness of your platform is paramount. Our Blocklist API is crafted to be the guardian of your loyalty ecosystem, providing a robust defense against fraudulent activities, unauthorized access, and other potential threats.

Elevate your loyalty program security with Annex Cloud's Loyalty Blocklist API.

Operations

Product

Welcome to the Annex Cloud Products API Documentation! We're excited to have you here as you explore the powerful tools and capabilities our Loyalty Program offers through this API.

At Annex Cloud, we understand the significance of fostering customer loyalty. Our mission is to help businesses like yours build lasting relationships with their customers by offering engaging and rewarding loyalty programs. Our Products API is a key component of this mission, allowing you to seamlessly integrate our loyalty features into your applications and systems.

This documentation is designed to be your comprehensive guide to using our Products API effectively. Whether you're a seasoned developer looking to dive into the technical details or a business owner seeking to enhance customer engagement, you'll find valuable information here to help you get started and make the most of our loyalty solutions.

To begin using our Products API, you'll need an API key and a clear understanding of how our endpoints work. We've organized this documentation into user-friendly sections, including:

Authentication: Learn how to securely authenticate your requests.

Endpoints: Explore the various API endpoints available and how to use them effectively.

Examples: Find practical examples and use cases to inspire your integration.

We're here to support you on your journey to building a more loyal customer base and boosting your business's success. If you have any questions or need assistance, please don't hesitate to reach out to our dedicated support team.

Thank you for choosing Annex Cloud as your partner in loyalty. Let's work together to create rewarding experiences for your customers.

Operations

Others

At Annex Cloud, we understand the diverse needs of our clients and the dynamic landscape of the loyalty industry. The Others API is crafted to cater to specific requirements that go beyond the standard functionalities, offering you flexibility and customization. Through strategic utilization of Store ID and Site ID, you gain the power to precisely identify and manage various aspects of your loyalty program across different stores and sites. We invite you to delve into the Others API and elevate your loyalty strategy to meet the specific needs of your audience and unlock new dimensions of customer engagement.

Operations

Survey

Welcome to the Survey API documentation for Annex Cloud! This comprehensive guide provides all the essential information and resources needed to integrate and interact with our survey platform programmatically. Our Survey API allows you to seamlessly integrate our powerful survey capabilities into your applications, websites, or systems. With this API, you can create, manage, and retrieve surveys, questions, responses, and more, empowering you to tailor survey experiences that align with your unique requirements. This documentation is designed to assist you in understanding how to leverage our API effectively, enabling you to:

Create Surveys: Dynamically generate surveys with specific questions and formats to suit your needs.

Retrieve Survey Data: Access survey responses and other relevant data for analysis or display.

Manage Surveys and Questions: Edit, delete, or modify existing surveys and questions to maintain an up-to-date and relevant survey structure.

Integrate Seamlessly: Integrate the survey capabilities seamlessly into your existing applications or platforms to collect valuable insights.

The subsequent sections will guide you through the necessary steps, providing examples and explanations to facilitate a smooth integration process.

Operations

Store

Welcome to the Store API documentation for Annex Cloud! We are thrilled to walk you through the exciting world of loyalty-based interactions and engagement. Our Store API allows you to seamlessly integrate and enhance your loyalty program by tracking real-time store details, enabling you to create personalized experiences for your valued customers.

The Store API is used to create stores in bulk, update the information of the created stores, and fetch all the details of the existing stores. Each store is identified by a unique store ID, which distinguishes it from other stores.

Operations

Hierarchy Management

Welcome to the Hierarchy Management API documentation for Annex Cloud! We are thrilled to walk you through the exciting world of loyalty-based interactions and engagement. Our Hierarchy Management API allows you to seamlessly integrate and enhance your loyalty program by tracking real-time Hierarchy Management details, enabling you to create personalized experiences for your valued customers.

The API methods covered in this document will enable you to create new groups, manage the activities of existing groups, and retrieve group details.

Operations

Issuance

Welcome to the Annex Cloud Issuance API documentation, where loyalty and seamless customer experiences converge. This comprehensive guide provides everything you need to seamlessly integrate with our transaction/issuance API. Whether you’re an experienced developer leveraging loyalty data or a business owner enhancing customer satisfaction, this documentation will guide you through the world of loyalty-driven transactions.

The Order API lacks the ability to handle specific dynamic attributes during order creation. To address this limitation, we have introduced the Issuance API, designed to store and process orders. Unlike the Order API, this new API does not include predefined calculations and mirrors the functionalities of the Order API.

Clients who would like to leverage more dynamic order attributes using the Issuance API will need to first calculate the points for spending and determine how members earn points. They will then send this value to our API, which should then accept it and grant the corresponding benefits based on the received payload.

Operations

Receipt

At Annex Cloud, we recognize the significance of loyalty and the value of rewarding your customers for their ongoing support. Our Loyalty Receipts API is designed to help you seamlessly integrate and enhance your loyalty program by enabling receipt upload, verification, and reward management, making it easier than ever to create engaging, customized, and rewarding experiences for your customers.

This documentation covers all aspects of the receipt upload and verification process. Once a receipt is successfully verified, members will earn points that they can redeem for coupons or use to purchase products based on their preferences.

Thank you for choosing Annex Cloud for your loyalty needs. We look forward to assisting you in building stronger and more loyal customer relationships.

Operations