# Loyalty APIs 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 Version: 3.0.0 ## Servers ``` https://s15.socialannex.net/api/3.0 ``` ## Download OpenAPI description [Loyalty APIs](https://annexcloud.redocly.app/_spec/loyalty/loyalty.yaml) ## 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. ### Used to create a new loyalty member - [POST /users](https://annexcloud.redocly.app/loyalty/loyalty/users/createuser.md): To create new loyalty members and enroll them in the loyalty program, use the POST method in the user API. A unique ID must be specified while creating a new member. All other additional fields in the request and response body are listed below. The Annex Cloud User API uses the Zend Framework’s email validation library to verify email addresses in compliance with RFC 2822. The validation rules are - The email must contain a local part and a hostname separated by @. Local part length must not exceed 64 characters. Hostname length must not exceed 255 characters. Both the local part and hostname must adhere to RFC 2822 formatting rules. The hostname must be a valid domain name. If an email does not meet these requirements, the API will return a validation error. ### Get member information - [GET /users/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/users/paths/~1users~1%7B%7Bmemberid%7D%7D/get.md): This API method is used to fetch all the information for a loyalty member by passing the unique ID of the member. ### Update member details - [PATCH /users/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/users/userupdatereq.md): This method is used to update existing member information by merging the provided information with the current data. The Annex Cloud User API uses the Zend Framework’s email validation library to verify email addresses in compliance with RFC 2822. The validation rules are - The email must contain a local part and a hostname separated by @. Local part length must not exceed 64 characters. Hostname length must not exceed 255 characters. Both the local part and hostname must adhere to RFC 2822 formatting rules. The hostname must be a valid domain name. If an email does not meet these requirements, the API will return a validation error. ### Delete member - [POST /userDelete](https://annexcloud.redocly.app/loyalty/loyalty/users/userdelete.md): This method can be used to delete the member from the loyalty program. ### Get group information with group ID - [GET /users/{{memberId}}/allgroup](https://annexcloud.redocly.app/loyalty/loyalty/users/getgroupdetails.md): This API is used to retrieve the information of a member associated with a hierarchy management group. ### To search member details - [POST /users/search](https://annexcloud.redocly.app/loyalty/loyalty/users/usersearch.md): This API is used to search member details based on multiple query parameters. ### Merge two members - [POST /mergeuser](https://annexcloud.redocly.app/loyalty/loyalty/users/mergeuserpost.md): This method is used to merge two member accounts. The Secondary member account is merged with the Primary member account. Post merge, all the activities on the secondary member account are owned by the primary member. Also, if the primary member is missing member details, these details are filled in by the secondary member's details if available. Note - For 'Multi Template Summary Flag' enabled sites, the response shown below is sent to the email address provided against the mergedBy parameter. ### Get the status of the merge process by member’s ID - [GET /mergeuser/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/users/getmergeuser.md): This method is used to get the details of the primary member after the merge functionality is completed, and only a single member is left (the primary member). It displays how many members have been merged with the primary member, and some basic information, such as who the merge was initiated by and the reason for the merge. Note - For 'Multi Template Summary Flag' enabled sites, the response shows an additional status parameter which indicates whether the merge process is in-progress or completed. ### Fetch the activity summary by action ID - [GET /users/{{memberId}}/activitysummary/{{actionId}}](https://annexcloud.redocly.app/loyalty/loyalty/users/getuseridactivitysummaryactionid.md): This API retrieves a summary of a member's activity, including points that have been debited or credited. ### Used to create multiple loyalty member profiles - [POST /bulkpostusers](https://annexcloud.redocly.app/loyalty/loyalty/users/bulkpostusers.md): This API method is used for managing large-scale member registrations in the loyalty program. It facilitates the quick and efficient onboarding of multiple loyalty members simultaneously, by allowing the creation of several loyalty member profiles in a single request. This method significantly reduces the time and effort required to populate the loyalty program with new members, enhancing operational efficiency. NOTE - We recommend limiting requests to around 100 records. ### Used to update multiple loyalty member profiles - [POST /bulkpatchusers](https://annexcloud.redocly.app/loyalty/loyalty/users/postbulkpatchusers.md): This endpoint enables updating member information efficiently in bulk. NOTE - We recommend limiting requests to around 100 records. ### Get transaction erasure details - [GET /transactionErasure/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/users/gettransactionerasure.md): By passing the User ID, use this method to retrieve all transaction erasure details for a loyalty member. ### Perform transaction erasure - [POST /transactionErasure](https://annexcloud.redocly.app/loyalty/loyalty/users/posttransactionerasure.md): This method enables the member to perform Transaction Erasure for transactions that meet the predefined conditions. ### Undo transaction erasure - [PATCH /transactionErasure](https://annexcloud.redocly.app/loyalty/loyalty/users/transactionerasure.md): Patch method is used to undo the transaction erasure that is in progress and not yet completed. ### Fetch the activity details - [GET /users/{{memberId}}/activity](https://annexcloud.redocly.app/loyalty/loyalty/users/getuseractivityreq.md): By using this method, all activity details for a member can be retrieved. ## 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. ### To deduct or award loyalty points to multiple members - [POST /bulkpoints](https://annexcloud.redocly.app/loyalty/loyalty/points/postbulkpoints.md): This method allows you to simultaneously deduct or award points to multiple members. To make a bulk point adjustment you will number each object in the request. Nested within each object, you must include the id, actionId, and activity parameters. If you are manually crediting points or debiting points, you must also include the credit or debit parameter accordingly. If you are crediting points for a point awarding action configured in the loyalty program, you do not need to include the credit parameter, as it will award the member points as configured in the system for that action ID. ### To retrieve point details for a member - [GET /points/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/points/getpointsid.md): This method retrieves point details associated with a member’s ID. The member needs to use their ID as a key to fetch all the points details. ### Fetches the point expiration details for a specific member - [GET /pointsexpiry/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/points/getpointsexpiryid.md): This API is used to fetch the point expiration details for a member based on the specified date range and page number as provided by the user. ### To deduct points, redeem points and award loyalty points to a member - [POST /points](https://annexcloud.redocly.app/loyalty/loyalty/points/postpoints.md): Use the POST method in the Points API to redeem points and award points to members of the loyalty program. All other fields in the request body are listed below. ## 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! ### Fetch the Action details by User ID - [POST /actions](https://annexcloud.redocly.app/loyalty/loyalty/action/postactions.md): This method retrieves all actions configured for the site and indicates which ones the member has completed. ### Fetch the details of all actions performed against the site - [GET /actions/{{status}}](https://annexcloud.redocly.app/loyalty/loyalty/action/getactionstatus.md): This method retrieves information pertaining to all activities carried out on the site ID. To obtain all actions configured on the site, simply input "all" as the status parameter. ### Fetch action group details - [GET /actiongrouplist/{{actionGroupId}}](https://annexcloud.redocly.app/loyalty/loyalty/action/getactiongrouplistgroupid.md): This GET method is utilized to retrieve details associated with the action group by specifying the Action Group ID within the environment. ### Fetch all the active action group details by User ID - [GET /actiongroup/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/action/getactiongroupemailid.md): Upon passing the GET method in the environment, the system retrieves the following information - 1. All enabled action groups for the site. 2. User-associated actions linked to any enabled actions, including earned points, available points to earn, used action IDs, and more. ### Fetch the details of the action series performed by the member using actionSeriesID - [POST /users/{{memberId}}/actionseries](https://annexcloud.redocly.app/loyalty/loyalty/action/postactionseries.md) ### Fetch the details of action series performed by the member - [GET /users/{{memberId}}/actionseries](https://annexcloud.redocly.app/loyalty/loyalty/action/getactionseriesbyemail.md): This method retrieves the details of all action series performed by the particular member by using email address. ## 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! ### Fetch the activity details - [GET /users/{{memberId}}/activity/](https://annexcloud.redocly.app/loyalty/loyalty/activity/getactivityqueryreq.md): This method allows for the retrieval of details about performed activities. The following paths can be utilized to display the activities. Below are a few examples that show how you can combine query parameters - GET: /users/{{email_id}}/activity?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD&page=1 - This method is used to display the activity details by passing the date range and page number. For example, if the start and end dates are 2021-01-01 and 2022-12-21 respectively, and page=1, all activities performed between those dates and listed on page 1 are displayed here. GET: /users/{{email_id}}/activity?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD&numberOfActivities=5 - This method is used to display the activity details activity details by passing the date range and the number of activities. For example, if the start and end dates are 2021-01-01 and 2022-12-21 respectively, and the number of activities = 5, just 5 activities per page that were created between these date ranges are displayed. GET: /users/{{email_id}}/activity?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD&numberOfActivities=5&page=5 - This method is used to display the activity details activity details by passing the date range, number of activities, and page number. For example, if the start and end dates are 2021-01-01 and 2022-12-21, respectively, and the number of activities = 5, then just the 5 activities created between these date ranges and listed on page number 5 are displayed. The response body for all the activity API is the same as the response body of GET: /users/{id}/activity method. ## 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. ### Tier information against site ID - [GET /tierlist/all](https://annexcloud.redocly.app/loyalty/loyalty/tiers/getalltierlist.md): This method retrieves tier details against site ID. The member must use the site ID as a key to fetch all the details of the Tier. ### Tier information against site ID and page number - [GET /tierlist/all?page=1](https://annexcloud.redocly.app/loyalty/loyalty/tiers/getalltierlistpage.md): This method retrieves tier details against a site ID and page number. Site ID and page number must be passed as a key to fetch all the details of the tiers. ### Get tier information for a loyalty member - [GET /users/{{memberId}}/tiers](https://annexcloud.redocly.app/loyalty/loyalty/tiers/gettiersinfo.md): This method retrieves tier details for a specific member. Enter the member's user ID as a key to fetch all tier details for that member. ## 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. ### Fetch the list of all rewards for a member - [GET /users/{{memberId}}/reward](https://annexcloud.redocly.app/loyalty/loyalty/rewards/getrewardsbyuser.md): This method can be used to retrieve a list of all available rewards against a member ID. The administrator needs to pass a unique member ID as the key to fetch the details. A query parameter rewardSequence can be used to sort reward based on sequence. The response body for this method is the same as the response body for the GET-/users/{{id}}/reward method. GET-/users/{{id}}/reward?sort_by=rewardSequence - This method is used to sort the reward based on sequence. ### Fetch the list of all rewards used by a member - [GET /users/{{memberId}}/usedreward](https://annexcloud.redocly.app/loyalty/loyalty/rewards/getusedreward.md): Using this method, you can retrieve the details of all rewards that have been used by a specific loyalty member. To access the rewards, you need to pass the unique member ID. ### Debit points from member's account for using a reward - [POST /users/{{memberId}}/usedreward](https://annexcloud.redocly.app/loyalty/loyalty/rewards/usedrewardpost.md): This method is used to debit points from the member's account using their ID, used reward ID and code, and the number of points to be debited. ### Fetch the list of all the rewards established in your loyalty program - [GET /rewardlist/all](https://annexcloud.redocly.app/loyalty/loyalty/rewards/getrewardsbysite.md): By using this method, all rewards configured against a site ID can be retrieved. Note - The results of this API can also be filtered by passing the page number in the query parameter /rewardlist/all?page=1 ### To update reward details - [PATCH rewardlistupdate/{{rewardId}}](https://annexcloud.redocly.app/loyalty/loyalty/rewards/patchrewardlistrewardidre.md): This method can be used to update four parameter details - rewardName, overallRewardLimit, creditRequired, and rewardStatus. Note - To receive a successful response, the request body must include one of the above-mentioned four parameters along with rewardID. ## 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. ### Create a new user segment - [POST /segment](https://annexcloud.redocly.app/loyalty/loyalty/segment/createsegment.md): This API is used to create a new segment of members in the database. The mandatory parameter values are the name of the segment, the defined start date of the segment, and the defined end date of the segment. ### This method retrieves segment details for a specific segment ID - [GET /eligiblesegment/{{segmentId}}](https://annexcloud.redocly.app/loyalty/loyalty/segment/eligiblesegment.md): This method retrieves segment details for all members who are eligible to be included in an existing segment. The administrator needs to use the segment ID as a key to fetch all the details of that eligible segment. ### Get the segment details for a specific segment ID - [GET /segment/{{segmentId}}](https://annexcloud.redocly.app/loyalty/loyalty/segment/getsegmentid.md): This method retrieves segment details for a specific segment ID. The user needs to use the segment ID as a key to fetch all the details for that particular segment. ### This API is used to update member segment - [PATCH /segment/{{segmentId}}](https://annexcloud.redocly.app/loyalty/loyalty/segment/updatesegment.md): The patch method is used to update existing member segments in the database. An update merges the given request parameters into the current segment. The mandatory parameter values are segment ID, segment name, and time duration for the segment. ### This API is used to get all the segments against the site ID - [GET /segmentlist/status](https://annexcloud.redocly.app/loyalty/loyalty/segment/getsegmentliststatus.md): This method retrieves details of all segments available against the site ID. The administrator defines the ‘status’ parameter as either ‘all,’ ‘active,’ or ‘inactive’ in order to display a list of all the segments contained within the loyalty program (regardless of status), all the active segments within the program, or all the inactive segments within the program, respectively. ### Add, override, or delete users in bulk - [POST /bulksegmentupdate](https://annexcloud.redocly.app/loyalty/loyalty/segment/postbulksegment.md): This API is used to add, override, or delete users in bulk in the database. The segment ID, a list of user IDs, and defining the ‘memberUpdate’ parameter as ‘add’, ‘override,’ or ‘delete’ are required to update the existing segments. ", ## 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. ### Get campaign details by User ID and either Campaign ID or Campaign Status - [POST /campaign](https://annexcloud.redocly.app/loyalty/loyalty/campaign/postcampaign.md): This API is used to get the campaigns details against the user & campaignID. ### Fetch Campaign Details by Campaign Status - [GET /campaign/{{status}}](https://annexcloud.redocly.app/loyalty/loyalty/campaign/getcampaignstatus.md): This method retrieves campaign details for campaigns based on the Campaign Status. To retrieve details for all campaigns of any status, use campaign status = all ### Fetch Campaign Details by Campaign ID - [GET /campaign/{{campaignId}}](https://annexcloud.redocly.app/loyalty/loyalty/campaign/getcampaigncampaignid.md): This method retrieves campaign details for a specific Campaign ID. The user must provide the Campaign ID as a key to fetch all the details of that campaign. ### Fetch Campaign Details for all Campaigns for which a member is eligible - [GET /users/{{memberId}}/campaign](https://annexcloud.redocly.app/loyalty/loyalty/campaign/getusersidcampaign.md): This method retrieves all active eligible campaigns for a particular member. The user needs to use a unique user ID as a key to fetch all eligible campaigns for the particular member. ### Reactivate the campaign to participate in it by using userId and campaignId details - [PATCH /campaign/activation/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/campaign/patchcampaignactivation.md): Use this PATCH campaign activation method to reactivate the campaign to participate in it. {Reactivation is required if the member receives individual validity more than one time for a campaign.} ### Activate the campaign to participate in it by using userId and campaignId details - [POST /campaign/activation](https://annexcloud.redocly.app/loyalty/loyalty/campaign/postcampaignactivation.md): Use this POST campaign activation method to let the member activate the campaign to participate in it. ### To set a personalized individual validity period for a member within the general campaign period - [POST /campaign/individualvalidity](https://annexcloud.redocly.app/loyalty/loyalty/campaign/postcampaignindividualvalidity.md): Use this POST campaign individual validity method to send individual validity for each target member in bulk. ### Fetch the Campaign Groups - [GET /campaign/group/{{status}}](https://annexcloud.redocly.app/loyalty/loyalty/campaign/getcampaigngroupstatus.md): This API method returns the response as per the campaign group status passed, i.e. all, active or inactive. ### Fetch details of specific Campaign Group - [GET /campaign/group/{{campaignGroupId}}](https://annexcloud.redocly.app/loyalty/loyalty/campaign/getcampaigngroupcampaigngroupid.md): This method allows users to retrieve detailed information about a campaign group by specifying a unique Campaign Group ID. ## 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. ### Create a New Order - [POST /orders](https://annexcloud.redocly.app/loyalty/loyalty/orders/createorder.md): 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. ### Create New Orders in Bulk - [POST /bulkpostorder](https://annexcloud.redocly.app/loyalty/loyalty/orders/createbulkorder.md): 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. ### This API is used to get the details of all the secondary member orders - [GET /secondaryuserorders](https://annexcloud.redocly.app/loyalty/loyalty/orders/secondaryuserorders.md): This field will only retrieve the information specific to that member for that order. Otherwise, it will return all secondary member's data. ### Get order details - [POST /orderdetails](https://annexcloud.redocly.app/loyalty/loyalty/orders/postorderdetails.md): 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. ### Calculate the potential points of the products which are in the member's cart - [POST /cart](https://annexcloud.redocly.app/loyalty/loyalty/orders/postcart.md): 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. ### Manually adjust (credit or debit) the spend amount for an order - [POST /manualspend](https://annexcloud.redocly.app/loyalty/loyalty/orders/postmanuaspend.md): 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. ### Update the order - [PATCH /orders/orderid](https://annexcloud.redocly.app/loyalty/loyalty/orders/updateorder.md): 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. ### Add to an exisiting order - [PATCH /orders/orderid - Add to an existing order](https://annexcloud.redocly.app/loyalty/loyalty/orders/updateaddexistingorder.md): 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. ## 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. ### Add domains and members to the blocklist - [POST /blocklist](https://annexcloud.redocly.app/loyalty/loyalty/blocklist/blocklist.md): This API method is used to block both members and domains within the Annex Cloud site. It facilitates the execution of actions that prevent specified members and domains from accessing or interacting with the site, contributing to enhanced security and control measures. ### Fetch all blocklist domain and member information for the site - [GET /blocklist/all](https://annexcloud.redocly.app/loyalty/loyalty/blocklist/blocklistall.md): This API method retrieves comprehensive information about all the members and domains listed in the blocklist on the Annex Cloud site. ### Delete members and domains from the blocklist - [POST /blocklistdelete](https://annexcloud.redocly.app/loyalty/loyalty/blocklist/blocklistdelete.md): This API method is used for removing members and domains from the blocklist of the Annex Cloud site. If members or domains are requested to be deleted but are not on the blocklist, you will be notified in the API response. ## 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. ### Get Product Details, Create New Products, Calculate Product Points - [POST /products](https://annexcloud.redocly.app/loyalty/loyalty/product/productcreatenew.md): Use the POST:/products method to get details of the products in the loyalty program. All fields in the response body are listed below. Although this is a POST method, the method performs a GET action and returns details of the specified products. Note 1 - (Get Product Details) - To retrieve data using only the productId, input the product ID and leave the categoryId blank. Conversely, to obtain data based solely on categoryId, input only the categoryId and leave the productId blank. Note 2 - (Create New Product and Get Product Point Calculation for an Order) - You must provide either a Product ID or Category ID in your request. You do not have to provide both. If you provide a Product ID in the request without providing a Category ID, the API displays details of the specified product. If you provide a Category ID in the request, the API displays details for all products in the category. If you provide both a Product ID AND a Category ID, the API displays details for all products in the category. ### Add New Products in Bulk - [POST /bulkproducts](https://annexcloud.redocly.app/loyalty/loyalty/product/createbulkproducts.md): Use the POST:/bulkproducts method to efficiently add several new products into a loyalty program's product catalog in one operation. When making a bulk request it is required to include the parameters for each product within a numbered object. For each product in the bulk request, you must include the Product Award Type, Product ID, and Category ID. ### Retrieve product information for a specific product - [GET /products/{{prod_id}}](https://annexcloud.redocly.app/loyalty/loyalty/product/getproductinfo.md): This method retrieves product details for a specific product ID. User needs to use product ID as a key to fetch all the details of that particular product. ### Update Existing Product Information - [PATCH /products/{{prod_id}}](https://annexcloud.redocly.app/loyalty/loyalty/product/updateproduct.md): The PATCH method is used for updates of existing product information. The Point Award Type and Product ID must be specified to update product information. If you enter a different value for any of these fields, the database is updated with the new value. If you enter the existing value for any of these fields, the database is not changed. If you do not include certain fields in the request, or if you do not enter a value for these fields, the database is not updated. You must provide either a Product ID or Category ID in your request. You do not have to provide both. If you provide a Product ID in the request without providing a Category ID, the API displays details of the specified product. If you provide a Category ID in the request, the API displays details for all products in the category. If you provide both a Product ID and a Category ID, the API displays details for all products in the category. Note - The product's price must be included in the request body even if it is not being altered as part of the update. If the productPrice parameter is not included in the request, the price of the product will update to 0 in the Product Catalog. ### Update Products in Bulk - [POST /bulkpatchproducts](https://annexcloud.redocly.app/loyalty/loyalty/product/postbulkpatchproducts.md): To update a several products at once in the loyalty program, use this POST method. Points Award Type, Product ID must be specified when updating multiple products. All other additional fields in the request body are listed below. If you enter a different value for any of these fields, the database is updated with the new value. If you enter the existing value for any of these fields, the database is not changed. If you do not include certain fields in the request, or if you do not enter a value for these fields, the database is not updated. You must provide either a Product ID or Category ID in your request. You do not have to provide both. If you provide a Product ID in the request without providing a Category ID, the API displays details of the specified product. If you provide a Category ID in the request, the API displays details for all products in the category. If you provide both a Product ID and a Category ID, the API displays details for all products in the category. ## 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. ### Get Site Details - [GET /sitedetails/{{siteId}}](https://annexcloud.redocly.app/loyalty/loyalty/others/getsitedetails.md): This method retrieves the details for the Annex Cloud site. The administrator must use the site ID to fetch the details for the site. ## 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. ### This method is used to submit a response to questions in the survey - [POST /survey](https://annexcloud.redocly.app/loyalty/loyalty/survey/postsurvey.md): This method can be used in three different ways to submit a response to questions in the survey. Please see the information listed below to identify your use case. Note1 - Question Type - checkbox, radio button, dropdown or scale. Use the request body as listed in the example below. Question Type - textbox, text area, or image upload. The request body will include the parameters listed in the example below, with the addition of the parameter, 'answerValue', that should be included in the request following the 'answerId'. The 'answerValue' parameter will then replace the 'answerOption' parameter in the response body. Note2 - Skip Question - When the Skip option is selected as the question's response, an additional parameter called 'isSkip' with the value entered as true, will be added to the request body's question object following the 'questionId' parameter. There will be no answer object in the request. In the response body, the 'questionAnsweredDate' parameter will be removed from the question object, and the answer object will only have two parameters - 'answerId' and 'answerOption'. The 'answerStat' object will also be removed. ### Get details of all the surveys - [GET /survey/all](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveyall.md): By using this method, all surveys configured against a site ID can be retrieved. ### Get survey details by survey ID - [GET /survey/{{surveyId}}](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysueveyid.md): This method is used to get the survey information for a specific survey by passing the survey ID. ### Get survey details by user ID - [GET /survey/all/user/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveyalluseremailid.md): By passing the user ID, you can retrieve information for all surveys configured for the site and the specific member’s eligibility and completion status for each survey. ### Get survey details by survey ID and user ID - [GET /survey/{{surveyId}}/user/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailid.md): By passing the survey ID and user ID, information can be retrieved for a specific survey as well as a specific member’s eligibility and completion status for that survey. ### Get section details by section all - [GET /survey/{{surveyId}}/user/{{memberId}}/section/all](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidsectionall.md): This method is used to fetch section information for a specific survey along with a specific member’s completion and eligibility status for the survey by passing the survey ID and user ID. ### Get section details by section ID - [GET /survey/{{surveyId}}/user/{{memberId}}/section/{{sectionId}}](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidsectionsectionid.md): By passing the section ID along with the survey and user ID, this method is used to fetch information for a specific section of a survey along with a specific member’s completion and eligibility status for the survey. ### Get question details - Question All - [GET /survey/{{surveyId}}/user/{{memberId}}/section/{{sectionId}}/question/all](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidsectionsectionidquestionall.md): This method is used to fetch the question details for a specific section of a survey along with a member’s completion and eligibility status for the survey. ### Get question details by question ID - [GET /survey/{{surveyId}}/user/{{memberId}}/section/{{sectionId}}/question/{{questionId}}](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidsectionsectionidquestionquestionid.md): This method is used to fetch the question details for a specific question within a section of a survey along with a member’s completion and eligibility status for the survey. ### Get survey status by survey and user ID’s - [GET /survey/{{surveyId}}/user/{{memberId}}/status](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidstatus.md): This method is used to fetch information related to a specific member’s completion of a specific survey. ### Get section's completion status - [GET /survey/{{surveyId}}/user/{{memberId}}/section/{{sectionId}}/status](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidsectionsectionidstatus.md): This method is used to fetch information related to a specific member’s completion of a section within a survey. ## 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. ### Get store details - [GET /store/{{Store_Id}}](https://annexcloud.redocly.app/loyalty/loyalty/store/getstore.md): This method retrieves detailed information about a store. The administrator must use the store ID to fetch the details for the store. ### Create stores in bulk - [POST /bulkpoststore](https://annexcloud.redocly.app/loyalty/loyalty/store/bulkpoststores.md): This method is used to create stores in bulk, which enhances the process and saves member's time. If you pass the same store ID multiple times, it will show an error, and you will not be able to create the required store. ### Update stores information in bulk - [POST /bulkpatchstore](https://annexcloud.redocly.app/loyalty/loyalty/store/bulkpatchstores.md): This method is utilized to update store information, such as the name value and its attribute values, in bulk, which saves a lot of processing time for the user. Once a StoreId is created, it cannot be updated. However, you can update the store name value and attribute value using this API. ## 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. ### Create group - [POST /group - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/postgrouphm.md): This method is used to create a group and add members to the group. The loyalty member who creates the group automatically becomes the group owner. Note - When the Group Invitation Acceptance Required flag is turned ON, the response body includes invitedBy and invitationStatus in place of the status parameter. ### Get group information - [GET /group/{{groupId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/getgroupgroupifhm.md): This method is used to get group information by passing the unique group ID. ### Update group details or dissolve group - [PATCH /group/{{groupId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/patchgroupgroupidhm.md): This method is used to update the group details. This method can also be used to dissolve a group. ### Get invite details - [GET /group/invite/{{memberId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/getgroupinviteemailidhm.md): This method is used to retrieve the invitation details for a loyalty member. Members can only belong to one group at a time but can receive multiple group invites before accepting. ### Accept or Decline group invitation - [PATCH /group/invite/{{memberId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/patchgroupinviteemailidhm.md): This method is used for accepting or declining group invitations by the loyalty member. Note - The group acceptance criteria only works when the Group Invitation Acceptance Required flag is enabled at the site level. ### Send group invitations / Add members to the group - [POST /group/invite - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/postgroupinvitehm.md): This method is used to send invitations to loyalty members if invites are required. If invitations are not required, this method is used to directly add members to a group. ### Leave the group - [PATCH /group/leave/{{memberId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/patchgroupleaveemailidhm.md): This method allows group members to leave the group. If the "Restrict Members from Leaving Group" flag is enabled at site level, members are not permitted to leave the group without the group owner's permission. This method can then be used for a group owner to approve or reject a request to leave. ### Remove a member from the group - [PUT /group/remove/{{memberId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/putgroupremoveemailidhm.md): This method is used for removing a group member from the group. ### Update Member Role - [PATCH /group/role/{{memberId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/patchgrouproleemailidhm.md): This method is used to update the member's role. The group owner has the authority to update the member's role. ### Get group activity details - [GET /group/{{groupId}}/activity - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/getgroupgroupidactivityhm.md): This method is used to get the activity details of the group by passing unique group ID. ### Fetches the point expiration details for a specific group - [GET /pointsexpiry/group/{{groupId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/getpointsexpirygroupgrupidhm.md): This API retrieves point expiration details for a specified group based on the provided group ID, date range, and page number. Users can group results by week, month, quarter, or year using the aggregate_by parameter. The response includes both expired points and points set to expire within the aggregation period. ## 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. ### Create a new issuance - [POST /issuance- create new issuance](https://annexcloud.redocly.app/loyalty/loyalty/issuance/postissuance.md): Use the POST method in the Issuance API to create a new order initiated by a member within the loyalty program. Each order is assigned a unique ID and encompasses essential order details, including the member initiating the order, the total amount of the order, the order placement timestamp, any discounts applied to the order, the shipping timestamp, and other pertinent information. The remaining fields in the request body are detailed below. ### Issuance Creation for Non-Purchase Transactions - [POST /issuance- Issuance creation for non purchase transaction](https://annexcloud.redocly.app/loyalty/loyalty/issuance/postissuancecreationfornonpurchasetransactions.md): Use the POST method in the Issuance API to create a new Non-Purchase Transactions within the loyalty program. Each order has a unique ID and includes essential details like the member, total amount, order timestamp, discounts, shipping timestamp, and other relevant info. Include mandatory fields like order ID and user ID parameters. ### Updated Issuance return - [PATCH /issuance- Updated Issuance return](https://annexcloud.redocly.app/loyalty/loyalty/issuance/patchupdatedissuancereturn.md): Use a PATCH method for updating the status of an existing order, enabling actions such as RETURN, PARTIAL RETURN. Utilize the PATCH method within the Issuance API to modify the order status of a shipment to return status as specified in the input parameter. ### Update the Issuance details - [PUT /issuance- Update the Issuance details](https://annexcloud.redocly.app/loyalty/loyalty/issuance/putupdateissuancedetails.md): Use PUT method to edit and update the existing transactional details. ### Update the transaction as Partial Ship - [PATCH /issuance- Update the transaction as Partial Ship](https://annexcloud.redocly.app/loyalty/loyalty/issuance/patchupdatetransactionaspartialship.md): Use the PATCH method in the Issuance API to modify the order status of a shipment to "Partial Ship." Orders have the option to be adjusted to Partial Ship status, with all other fields specified in the request body. ### Update transaction as Partial Cancel - [PATCH /issuance- Update transaction as Partial Cancel](https://annexcloud.redocly.app/loyalty/loyalty/issuance/patchupdatetransactionaspartialcancel.md): Use the PATCH method in the Issuance API to modify the order status of a shipment to "Partial Cancel." Orders have the option to be adjusted to Partial Cancel status, with all other fields specified in the request body. ### Use Issuance details filter - [POST /issuancedetails/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/issuance/postissuancedetailsfilter.md): Use the POST method to filter the issuance details. ### Update the transaction as Full cancel - [PATCH /issuance- Update the transaction as Full Cancel](https://annexcloud.redocly.app/loyalty/loyalty/issuance/patchupdatetransactionasfullcancel.md): Use the PATCH method in the Issuance API to modify the order status of a shipment to "Full Cancel". Orders have the option to be updated as "Full Cancel", while all other fields are specified in the request body. ### Update the transaction as Full ship - [PATCH /issuance- Update the transaction as Full Ship](https://annexcloud.redocly.app/loyalty/loyalty/issuance/patchupdatetransactionasfullship.md): Use the PATCH method in the Issuance API to update the order status of a shipment to Full Ship. Orders can be updated as Ship. All other fields are listed in the request body. ## 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. ### Upload a receipt - [POST /receipts - upload receipt](https://annexcloud.redocly.app/loyalty/loyalty/receipt/postreceipts.md): This endpoint can be used to upload receipts in JPEG, PNG, or HEIC format. Once a receipt is submitted, it goes through a verification process, and upon successful verification, points are awarded to the member. Here, in the request body, you need to select 'form-data' to provide the user ID and upload the receipt. ### Upload the receipt by providing the URL - [POST /receipts - upload receipt by URL](https://annexcloud.redocly.app/loyalty/loyalty/receipt/postreceiptsurl.md): This endpoint can be used to upload a receipt by providing a URL with a PNG, JPEG, or HEIC extension. Once the receipt is submitted, it goes through a verification process, and upon successful verification, points are awarded to the member. Here, in the request body, you need to select 'raw' to provide the user ID and upload the receipt URL. ### Get member’s receipt details - [GET /receipts/user/{{email_id}}](https://annexcloud.redocly.app/loyalty/loyalty/receipt/getmemberreceiptdetails.md): This endpoint can be used to fetch all receipts uploaded by a member by providing the member's user ID. Note - The member’s receipt information can also be filtered based on query parameters such as receipt_id, receipt_status, and submission_id. ### Check receipt status - [GET /receipts/{{submission_id}}](https://annexcloud.redocly.app/loyalty/loyalty/receipt/getreceiptssubmissionid.md): This endpoint can be used to check the status of a receipt after it has been uploaded. Once the receipt is verified, the member receives the points benefit. ## Tiers V2 Welcome to the Tiers API Documentation for Annex Cloud's 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're 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. In this documentation, we will explore the core functionalities of the Tiers API. We will guide you through the process of retrieving tier information configured within a program, understanding their entry conditions, and outlining the retention criteria. Additionally, you will learn how to assign tiers to members based on your business requirements and needs. ### Get all the configured tier programs on a site. - [GET /tier/program/{{all}}](https://annexcloud.redocly.app/loyalty/loyalty/tiers-v2/gettierprogramall.md): This method allows you to fetch all the configured tier programs on a site. At any given time, a maximum of only ten tier programs can be configured on the site, and only one tier program can go live at a time. ### Get tier details using the program ID. - [GET /tier/program{{program_id}}](https://annexcloud.redocly.app/loyalty/loyalty/tiers-v2/gettierprogramprogramid.md): This endpoint retrieves all configuration details for a tier program using the program ID. It includes details such as entry conditions, tier benefits, and additional metadata. The metadata offers further insights about each tier. ### Get tier information for a loyalty member. - [GET /users/{{user_id}}/tier](https://annexcloud.redocly.app/loyalty/loyalty/tiers-v2/getusersuseridtier.md): This method can be used to get tier information for a member by passing the user ID. It also provides information on tier upgrades, retention, and downgrades. ### Manually assign a tier to a member. - [POST /tier/{{tier_id}}](https://annexcloud.redocly.app/loyalty/loyalty/tiers-v2/posttiertierid.md): This method is used to manually assign a tier to a member, qualifying them for the configured benefits associated with the assigned tier. To manually assign a tier to a member, the "Enable manual member tier assignment" flag must be enabled at the site level. ## Badges The Badges API serves as an essential tool for modern customer engagement and gamification strategies, empowering businesses to design, manage, and track badge systems that motivate member behavior and recognize achievements. Its primary function is to facilitate the seamless retrieval, filtering, and categorization of badges, which can be used to enhance member experiences and foster loyalty through meaningful recognition and rewards. By integrating with this API, organizations can implement dynamic and personalized badge programs tailored to specific member actions and milestones. In the broader context of gamification and engagement systems, the Badges API plays a critical role in driving member participation and retention. Badges act as visual representations of achievement and progress, encouraging members to interact more frequently with the platform and strive for higher goals. By leveraging the API's capabilities, businesses can design badge programs that align with their brand values and member expectations, fostering a sense of accomplishment and belonging. Personalized badges not only enhance the member's connection to the brand but also strengthen long-term loyalty, making the Badges API a cornerstone for creating compelling and effective engagement strategies. Key features of the Badges API include the ability to retrieve badges based on various criteria such as status, group, member-specific progress, and attributes. It also supports sorting and pagination, allowing businesses to efficiently organize and display badges that align with their engagement goals. The API is designed with flexibility in mind, enabling developers to filter badges using a range of parameters, including member-specific statuses, group affiliations, and metadata attributes. This ensures that businesses can create tailored badge experiences that resonate with their audience.Key features of Annex Cloud’s Rewards API include the ability to list rewards based on specific criteria, retrieve detailed information about each reward, and assign rewards to members with ease. The API supports various data types and parameters for filtering rewards, ensuring that businesses can tailor their offerings to meet the unique needs of their customer base. Furthermore, the API includes robust error handling and validation mechanisms, which help maintain data integrity and improve overall system performance. ### Retrieve All Badges - [GET /badges](https://annexcloud.redocly.app/loyalty/loyalty/badges/getallbadges.md): This method retrieves the complete list of all badges available for a specified site. It provides detailed information about each badge, including its properties, availability status, images associated with various statuses, and configuration attributes. Businesses can use this endpoint to manage badges effectively and understand how they are applied to members within their platform. ### Retrieve Member-Specific Badges - [GET /users/{member_id}/badges](https://annexcloud.redocly.app/loyalty/loyalty/badges/getmemberbadges.md): This endpoint retrieves a list of badges specifically associated with a member identified by their emailId. It provides detailed information about each badge, such as the badge's name, status, group, and the member's progress. This is useful for tracking member achievements, managing badge-related rewards, and displaying member-specific badge data in applications. ### Assign a badge to member - [POST /badges/{badge_id}/users/{member_id}/assign](https://annexcloud.redocly.app/loyalty/loyalty/badges/postassignbadge.md): This endpoint allows the assignment of a badge to a specific member identified by their email ID. Businesses can use this functionality to recognize member achievements, milestones, or participation in specific campaigns or events. The request includes detailed information about the badge, member, and contextual data, ensuring proper attribution and traceability. ## Rewards V2 The Rewards API serves as a crucial component of modern customer engagement strategies, enabling businesses to effectively manage and distribute rewards to their members. Its primary purpose is to facilitate the retrieval, assignment, and management of various rewards, which can significantly enhance user experience and drive customer loyalty. By providing a seamless integration with Reward systems, this API allows organizations to offer personalized incentives that cater to individual preferences and behaviors. Key features of the Rewards API include the ability to list rewards based on specific criteria, retrieve detailed information about each reward, and assign rewards to members with ease. The API supports various data types and parameters for filtering rewards, ensuring that businesses can tailor their offerings to meet the unique needs of their customer base. Furthermore, the API includes robust error handling and validation mechanisms, which help maintain data integrity and improve overall system performance. In the broader context of a rewards system, the Rewards API plays a pivotal role in fostering customer engagement. Rewards not only incentivize purchases but also encourage repeat interactions with the brand. By leveraging the capabilities of this API, businesses can create dynamic reward programs that resonate with members, thereby increasing customer satisfaction and retention. The ability to offer personalized rewards enhances the relevance of marketing efforts and strengthens the emotional connection between the brand and its customers, ultimately leading to higher conversion rates and improved brand loyalty. ### Retrieve a list of all rewards - [GET /rewards](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/getrewards.md): This endpoint retrieves a list of all available rewards. It allows businesses to filter rewards based on various parameters such as type, status, and issuance source type. The response includes metadata about the rewards, such as pagination information and total counts, making it easier for applications to manage large datasets. ### Get details of a specific reward - [GET /rewards/{{reward_id}}](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/getrewardsrewardid.md): By specifying a unique reward ID, this endpoint provides detailed information about a particular reward. This includes attributes like name, type, status, and redemption data. Businesses can use this information to display or manage specific rewards within their applications, ensuring members have access to the most relevant details. ### Retrieve list of eligible rewards for a member - [GET /users/{{member_id}}/rewards](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/getusersmemberidrewards.md): This endpoint retrieves a list of rewards associated with a specific user, identified by the member ID. The response includes reward details, eligibility information, and pagination metadata. This endpoint checks and retrieves the eligibility status of rewards for a specific member, identified by their member ID. It determines whether the member qualifies for any available rewards based on predefined criteria such as past transactions, membership status, or other eligibility rules If no rewards are available, the response will indicate ineligibility. ### Retrieve history of redeemed rewards for a member - [GET /users/{{member_id}}/rewards/history](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/getusersmemberidrewardshistory.md): This endpoint allows you to retrieve and filter rewards associated with a specific member identified by their Member ID. This endpoint retrieves a detailed history of all rewards that the member has previously redeemed. Using the provided member ID, it returns a list of rewards the member has utilized, including details such as reward names, redemption dates, usage status, and any associated metadata. This allows tracking of past reward usage and helps administrators monitor reward consumption over time. This endpoint supports various query parameters to refine the response and provide more precise data. ### Assign a reward to member - [POST /rewards/{{reward_id}}/users/{{member_id}}/assign](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/postassignreward.md): This endpoint is used to assign a reward to a specific member. It requires both the reward ID and member ID, along with details about the assignment, such as the source type. Successful assignments enable businesses to track which rewards have been issued and manage member benefits effectively. ### Update data against the reward awarded to member - [PATCH /rewards/{{reward_id}}/users/{{member_id}}/assign](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/patchrewardsassign.md): This endpoint updates the details of a reward awarded to a specific member. It requires assign ID, reward ID and member ID, along with relevant assignment details such as the source type and collected data. This ensures businesses can track issued rewards and manage member benefits effectively. ## Journeys Welcome to the Journeys API Documentation for Annex Cloud. This comprehensive guide is designed to empower developers, marketers, and system integrators with the tools to craft dynamic, automated customer engagement flows within our loyalty platform. As a powerful engine for personalization, the Journeys API enables you to design and manage workflows triggered by user behaviors, events, or predefined conditions—ensuring timely and relevant interactions throughout the customer lifecycle. Whether you're aiming to automate reward issuance, send personalized communications, or guide users through meaningful milestones, this documentation provides the foundational knowledge to help you build and optimize seamless customer journeys. We've created this guide to be intuitive for newcomers and insightful for experienced users, so you can confidently bring your engagement strategies to life. The Journey API provides a powerful way for customers to access and understand the engagement paths that members follow within the platform. A journey represents a structured flow of interactions, such as earning points, receiving rewards, being enrolled in campaigns, or completing specific actions triggered by predefined events. These journeys are designed to enhance the member experience by guiding them through meaningful interactions with your brand. The API offers capabilities to retrieve both system-wide journey definitions and individual member-specific journey participation details. Customers can gain visibility into which journeys are currently active, how they are structured, and which members are part of them. This information can be used to monitor engagement, troubleshoot issues, personalize communication, and improve campaign effectiveness. By leveraging the Journey API, customers can - - View all configured journeys – Understand the journeys that exist within the platform, including their goals, triggers, and statuses. - Access detailed journey information – Drill down into specific journeys to see how they are configured and managed. - Track member-level participation – Retrieve data on which journeys a specific member is enrolled in, their progress, and any related events. - Support data-driven personalization – Use journey data to tailor messaging, offers, or experiences based on where a member is in their engagement lifecycle. - Enable efficient member support – Provide customer support teams with insights into a member's journey activity to help resolve inquiries more effectively. ### Get all user journeys - [GET /journeys](https://annexcloud.redocly.app/loyalty/loyalty/journeys/getjourneys.md): This API retrieves a list of all member journeys available for a site. Each journey represents a sequence of steps or processes that a member can follow, such as opting into a program or completing a specific flow. The response provides details such as the journey's name, description, status, creation information, and relevant metadata. ### Get journey details by journey ID - [GET /journeys/{{journey_id}}](https://annexcloud.redocly.app/loyalty/loyalty/journeys/getjourneysjourneyid.md): The purpose of this endpoint is to provide detailed information about a specific journey within the system. Journeys are structured workflows or paths that define how members interact with the platform. Each journey is composed of various nodes (steps or actions) and their connections, representing the flow of member activities or system events. ### Get User Journey specific details - [GET /user_journeys/{{email_id}}](https://annexcloud.redocly.app/loyalty/loyalty/journeys/getuserjourneysemailid.md): This endpoint retrieves a list of user journeys specifically associated with a member identified by their email address. A user journey represents a series of events, milestones, or actions that the member has completed within a system or platform—often tied to rewards, activities, or engagement workflows. This API enables businesses and developers to monitor user progress, assess engagement, and deliver personalized incentives based on the user's journey ### Get member specific User Journey - [GET /user/{{email_id}}/journeys](https://annexcloud.redocly.app/loyalty/loyalty/journeys/getuseremailidjourneys.md): This endpoint retrieves a list of user journey specifically associated with a member identified by their email Id. A journey represents a series of events, milestones, or actions that a member has completed within a given system or platform, often tied to rewards, activities, or engagement processes. This API allows businesses and developers to track member progress, measure engagement, and offer personalized incentives based on the user's journey