{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"39a88eb2-ae52-4888-8b1e-e1c622a5a72b","name":"Glue - Loyalty API","description":"Glue provides one of the world's leading loyalty automation platforms for SMBs. Being a low-handling loyalty assistant, Glue is tailored to the needs of the busy brick-and-mortar business owner.  \nAt its core, Glue is designed to be integrated as an addon for existing business software solutions. Developers can use the Glue API to enrich their business solution with Glue's powerful Loyalty Engine and and provide their clients a more comprehensive, loyalty-focused software solution to run a successful business.\n\nThe Glue API is a secure solution, that allows you as a certified Glue developer to integrate Glue with your own solution and enjoy Glue's Loyalty capabilities.\n\n# How to use this API\n\n**שיטות סנכרון מועדון עם קופה**\n\n**ממשק מועדוני הלקוחות של איזי תומך למעשה ב - 2 שיטות עבודה. הבחירה באיזה שיטה לעבוד מונחת לפתחה של החברה שמפתחת ומספקת את שירותי הקופה.**\n\n1. **השיטה האמריקאית -**\n    \n\n**מזהים את חבר המועדון (הצרכן) באמצעות מספר טלפון בתחילת העסקה ומביאים לידיעת המוכרן את כל זכויותיו של הצרכן. תפקיד הקופה הוא לחשב את ההנחות וההטבות הממושים בקניה, לבחירתו של חבר הצרכן. בסוף הקנייה מעדכנים את ממשק המועדונים באשר למה נקנה (לצורכי צבירה) ומה מומש (לצורכי מניעת כפילויות). בשיטה זו גם המוכרן וגם הצרכן מודעים יותר לזכויותיו של הצרכן במועדון והוכח סטטיסטית שמתבצעים יותר מימושים וחברי המועדון (הצרכנים) נהנים יותר, ומכאן שהערך עבור העסק עצמו רב יותר (גם מהמועדון וגם מהקופה).**\n\n1. **השיטה הרוסית -**\n    \n\n**זיהוי חבר המועדון (הצרכן) באמצעות מספר טלפון מתבצע בגמר בקנייה ורגע לפני התשלום. חברת הקופות תשלח את עגלת הקניות של הצרכן הסופית לחישוב הטבות והפחתות על ידי ממשק המועדונים של איזי. איזי תחזיר את העגלה המעודכנת על בסיס מה שניתן היה להפחית על פי זכויות הצרכן ותכולת העגלה. בשיטה זו, גם הלקוח וגם המוכרן לא מודעים לכל זכויותיו של הצרכן במועדון, אלא רק מה שמתאים לתכולת העגלה הנוכחית. מטבע הדברים, לאורך זמן, ימומשו פחות הטבות וערך הקופה (עם המועדון) עבור בעל העסק הינו נמוך מהשיטה האמריקאית.**\n\n**ברור כי בשיטה האמריקאית נוצרת יותר עבודה בהתחלה בצד החברה שמפתחת ומספקת את שירותי הקופה מאשר בשיטה הרוסית, אך מניסיוננו הערך העסקי הגלום בשיטה האמריקאית ישביח את מוצר הקופה ואת הערך שהוא נותן עבור בעל העסק. על אף שאיזי מעודדת לעבוד בשיטה האמריקאית המעודדת צרכנות מודעת וחווית לקוח משודרגת, ממשקינו תומכים גם בשיטה הרוסית על מנת לאפשר קלות חיבור.**\n\n**תיאור הממשק ( Swagger יינתן בנפרד)**\n\n**השיטה האמריקאית**\n\n**עם הגעת הלקוח לקופה - getMemberBenfits**\n\n**הקופאי שואל את הלקוח אם הוא חבר מועדון. במידה וכן, הקופה תבצע קריאה לממשק מועדונים של איזי שתכלול:**\n\n- **מזהה העסק בחברהת הקופה - שדה ייחודי שבאמעותו מזהה חברת הקופה את העסק.**\n    \n\n**שדה חובה, אך תכולתו היא לבחירת חברת הקופות**\n\n- **מספר הטלפון הסלולרי של הלקוח (פורמט בינלאומי מלא כולל קידומת של ישראל:**\n    \n\n**+9725xxxxxxxx**\n\n```\n       **שדה חובה**\n\n ```\n\n**הממשק יחזיר את הקולקציה הבאה:**\n\n- **פרטי לקוח**\n    \n    - **מזהה לקוח**\n        \n    - **שם**\n        \n    - **אובייקט נקודות: מאזן נקודות, כמות עד לרמת חברות הבאה וכו׳.**\n        \n    - **הנחה קבועה ללקוח לפי רמת חברות במועדון וכו׳**\n        \n    - **רשימת הטבות (קופונים וכו׳)**\n        \n\n**את פרטי הלקוח על כל זכויויו רצוי להציג ב UI למוכרן על מנת שיבחר מה להכיל על העגלה. (החלק הכבד לפיתוח בדר״כ)**\n\n**המוכרן אז יבחר את ההטבות של הקנייה של הצרכן, והקופה תעדכן את חשבון העגלה הסופי בהתאם:**\n\n- **הטבות שהלקוח ביקש לממש יחושבו בעגלה (ראה סעיף של רשימת ההטבות)**\n    \n- **ההנחה הקבועה של חבר המועדון (במידה ויש) תורד מהסכום הסופי**\n    \n\n**עם סיום הרכישה והחיוב setMemberPurchaseWithBenefits**\n\n**לאחר שהעגלה חוייבה בהצלחה, הקופה תבצע קריאה לממשק המועדונים של איזי שתכלול:**\n\n- **מזהה עסק - חובה**\n    \n- **מזהה עסקה - חובה**\n    \n- **מזהה לקוח - חובה (מספר טלפון באותו פורמט)**\n    \n- **רשימת פריטי העגלה - חובה (כולל מק״טים**\n    \n- **סכום העגלה הסופי - חובה (לאחר כל ההנחות וההטבות)**\n    \n- **רשימת הטבות שנוצלו - חובה במידה ונוצלו הטבות בקניה.**\n    \n- **כמות נקודות שמומשו - לא חובה (במידה ומומשו נקודות)**\n    \n\n**אין צורך לחכות לתשובה עבור קריאה זו. הממשק ימשיך טיפול של הלקוח במועדון (ייתן לו נקודות צבירה והטבות בהתאם לקנייה).**\n\n**השיטה הרוסית**\n\n**בעת רכישה (לפני חיוב וחשבון סופי) - getCalculatedMemberCart**\n\n**לאחר שהמוכרן הזין את הפריטים של הקנייה במלואה, הקופאי ישאל את הלקוח אם הוא חבר מועדון. במידה וכן, הקופאי יזין את מספר הטלפון של הלקוח, והקופה תשלח קריאה לממשק המועדונים של איזי שתכלול:**\n\n- **מזהה עסק**\n    \n- **מספר הטלפון הסלולרי של הלקוח (כמתואר לעיל)**\n    \n- **רשימת פריטי העגלה**\n    \n- **סכום העגלה**\n    \n\n**הממשק יחזיר את הקולקציה הבאה:**\n\n- **מזהה עסק**\n    \n- **מזהה לקוח**\n    \n- **מזהה עגלה**\n    \n- **רשימת פריטי העגלה עם מחירים מעודכנים (על בסיס ההטבות שהופעלו)**\n    \n- **רשימת הטבות שנוצלו**\n    \n- **הנחה שהתקבלה עבור מעמד חבר המועדון (במידה ויש ללקוח הנחה שכזו)**\n    \n- **סכום העגלה המעודכן בחישוב של הכל.**\n    \n\n**במידה והלקוח מבצע שינויים לאחר קריאה זו (מוריד פריטים או מוסיף), יש לבצע קריאה מחדש עם העגלה המקורית.**\n\n**עם סיום הרכישה והחיוב (לאחר קבלת אישור על החיוב) setMemberPurchaseWithBenefits**\n\n**לאחר שהעגלה חוייבה בהצלחה, הקופה תבצע קריאה לממשק המועדונים של איזי שתכלול:**\n\n- **מזהה עסק - חובה**\n    \n- **מזהה עסקה - חובה**\n    \n- **מזהה לקוח - חובה (מספר טלפון באותו פורמט)**\n    \n- **רשימת פריטי העגלה - חובה (כולל מק״טים**\n    \n- **סכום העגלה הסופי - חובה (לאחר כל ההנחות וההטבות)**\n    \n- **רשימת הטבות שנוצלו - חובה במידה ונוצלו הטבות בקניה.**\n    \n- **כמות נקודות שמומשו - לא חובה (במידה ומומשו נקודות)**\n    \n\n**אין צורך לחכות לתשובה עבור קריאה זו. הממשק ימשיך טיפול של הלקוח במועדון (ייתן לו נקודות צבירה והטבות בהתאם לקנייה).**\n\n**קריאות כלליות**\n\n**במקרה של ביטול עסקה cancelMemberPurchase**\n\n**במידה ומבוצע ביטול של עסקה שעברה, הקופה תוציא קריאה לממשק שתכלול:**\n\n- **מזהה עסקה**\n    \n- **מזהה עסק**\n    \n\n**במקרה של הקריאה הזו, אין צורך לחכות לתשובה מהממשק**\n\n**מידע נוסף**\n\n**מבנה הקריאות מהקופה**\n\n**הממשק של איזי תומך בפורמט של JSON בקריאות אליו ובתשובות שהממשק מחזיר. אין צורך לבצע המרה של האובייקטים שמועברים בקריאות, אנחנו נפתח ממיר בצד שלנו שימיר את המידע מהקופה למידע בתצורה של איזי.**\n\n**רשימת פריטים**\n\n**כדי שמועדון הלקוחות של איזי יוכל גם לתמוך בהטבות עבור פריטים ספציפיים, נצטרך ממשק מצד ספק הקופות שיחזיר לנו את רשימת המוצרים שקיימים בעסק.**\n\n## **סוגי הטבות באיזי**\n\n**הנחת רמת חברות במועדון**\n\n**זוהי הנחת אחוזים קבועה. במועדוני החברים של איזי ישנם מספר \"רמות חברות\", שכל רמה שכזו נותנת כמות שונה של הנחה.**\n\n**הנחה זו מחושבת על הסכום הסופי של העגלה**\n\n**הנחה חד פעמית על העגלה**\n\n**זוהי הטבה שניתנת לניצול פעם אחת בלבד, ונותנת הנחה על הסכום הסופי של העגלה. הנחה זו יכולה להיות באחוזים או בסכום שמורד ישירות מסכום העגלה הסופי**\n\n**הנחה חד פעמית על פריט**\n\n**זוהי הטבה שניתנת למימוש פעם אחת בלבד, ונותנת הנחה רק עבור פריט מסויים בעגלה, במידה והוא קיים בה.**\n\n**ההנחה יכולה להיות מחושבת באחוזים או בסכום ישיר שמורד מעלות הפריט**\n\n**פריט במתנה**\n\n**זוהי הטבה חד פעמית שנותנת פרטי מסויים בחינם ללקוח. ההטבה יכולה כמות מוגבלת של הפריטים במתנה (לדוגמה - 2 בירות מכבי). ההנחה הזו יכולה להתקיים רק אם הפריט נמצא בעגלה (שווה לערך לקבלת 100% הנחה על הפריט)**\n\n**קנה/קבל**\n\n**(קנה 4 בירות, קבל את החמישית חינם)**\n\n**הטבה חד פעמית שפועלת עבור פריט מסויים. במידה ויש כמות מספקת של הפריטים בעגלה (מעל הכמות שמוגדרת ב\"קנה\"), הלקוח לא יצטרך לשלם עבור הפריטים הבאים (עד כמות ה \"קבל\")**\n\n---\n\n# Scope\n\nThis Glue API Reference guide describes how to integrate with the Glue RESTful API and make simple calls. The guide introduces you to the basic flow of communication, the authentication process, typical responses, and describes all the API requests.\n\n---\n\n# Definitions\n\n##### Glue Developer\n\nA registered developer that has the proper credentials to access and use this API in order to integrate Glue with any 3rd party platform. In order to become a Glue Developer (Free) and gain access to this API, please contact us.\n\n##### Authorization Token\n\nA unique set of characters that is generated when utilising open standard of Auth2.0 for access delegation using a private key provided to you by Glue. The authorization token is used to authenticate every API call and is valid for limited amount of time and has to be regenerated from time to time. Please refer to the authentication section below.\n\n##### Developer identifier\n\nA unique name that identifies the developer. The identifier must be added to the headers of all requests, and is part of the authentication process.  \nPlease refer to the authentication section below.\n\n##### Business\n\nThe actual Business for which Glue's Loyalty capabilities were purchased for. The Business is identified by a unique BizToken.\n\n##### Biz Token\n\nA unique set of characters that is generated and provided to you by Glue and is used to represent a Business.\n\n##### Customer\n\nCustomer of the Business. A customer may be an both a member and a non-member in the business' members club.\n\n---\n\n# Request Structure\n\nEvery API request consists of the following components:\n\n##### URL\n\nConstructed of:\n\nhttps:// API end point address / API version / glue / entity / entity_id.\n\nFor example:\n\n\"[https://endpoint.server/apiV1/glue/biz/biz_lijflSTGR422\"](https://endpoint.server/apiV1/glue/biz/biz_lijflSTGR422).\n\n##### Access Token\n\nA unique session identifying token that is generated using the Auth2.0 open standard and is attached as a request **header field**.\n\n> The header field should appear as follows: \n  \n\nKey: \"Authorization\"\n\nValue: \"{{vault:bearer-token}}\"\n\nThe authorization token should be regenerated from time to time - see the authentication section.\n\n#### Developer identifier\n\nA string that identifies the developer. It is given when registering to use the API and is attached as a request **header field**.\n\n> The header field should appear as follows: \n  \n\nKey: \"platform\"\n\nValue: \"--DEVELOPER IDENTIFIER--\"\n\n##### Content-Type\n\nGlue Loyalty API supports \"Application-JSON\" as content type.  \nPlease make sure to wrap body content in JSON format.\n\n##### Body Fields\n\nIf applicable, additional attributes and parameters that are relevant to a specific may be added as body fields and values in the JSON format.\n\n---\n\n# Response Structure and Codes\n\nAll responses are in JSON format that includes the following components:\n\n**\"code\"** - 1 if the request was successful, 0 if the request failed.\n\n**\"message\"** - When the code is 1 the message is usually \"OK\", when the code is 0 the message will specify what went wrong.\n\n**\"data\"** - the actual content that was requested.\n\n---\n\n# Authentication\n\nGlue Loyalty API use the [OAuth 2.0 Protocol](https://tools.ietf.org/html/rfc6749) for authentication and authorization. Glue supports the common OAuth 2.0 scenario for Web Server.\n\nTo begin, obtain OAuth 2.0 Client Credentials and specify your _redirect_uri_ on the Glue Developer Console or by contacting us. Then your application shall request an AuthorizationCode from Glue Authorization Server. The AuthorizationCode will be sent back to the _redirect_uri_ that was specified during the client credentials creation.\n\nThe AuthorizationCode can be used once and for a limited period of time to obtain the initial **RefreshToken** .\n\nThe RefreshToken should be stored safely and is to be used from time to time to refresh the **AccessToken**.\n\n##### Authentication Steps:\n\n1. Register client credentials and provide redirect_uri.\n    \n2. Get your one time AuthorizationCode using your ClientID,ClientSecret,redirect_uri.\n    \n3. Get a private RefreshToken and an initial AccessToken using your AuthorizationCode.\n    \n4. Use the Glue Loyalty API with your AccessToken attached to every request.\n    \n5. Use the RefreshToken to refresh the AccessToken from time to time.\n    \n\n---\n\n---\n\n# API Calls","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"32611704","team":6707667,"collectionId":"39a88eb2-ae52-4888-8b1e-e1c622a5a72b","publishedId":"2sAYQggTZc","public":true,"publicUrl":"https://api.glueloyalty.com","privateUrl":"https://go.postman.co/documentation/32611704-39a88eb2-ae52-4888-8b1e-e1c622a5a72b","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"008fbf"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"dark","themes":[{"name":"dark","logo":"https://content.pstmn.io/56dad89c-742d-4ecf-be22-08baaa0ffa57/Y2xvdWRfc3ltYm9sXzgwMC5wbmc=","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"008fbf"}},{"name":"light","logo":"https://content.pstmn.io/56dad89c-742d-4ecf-be22-08baaa0ffa57/Y2xvdWRfc3ltYm9sXzgwMC5wbmc=","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"008fbf"}}]}},"version":"8.10.1","publishDate":"2025-01-26T19:31:42.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/56dad89c-742d-4ecf-be22-08baaa0ffa57/Y2xvdWRfc3ltYm9sXzgwMC5wbmc=","logoDark":"https://content.pstmn.io/56dad89c-742d-4ecf-be22-08baaa0ffa57/Y2xvdWRfc3ltYm9sXzgwMC5wbmc="}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/dd05547751a3a1616f4a02494a3da2e59cf8cab15a00407821eddb23f230e7a5","favicon":"https://glueloyalty.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://api.glueloyalty.com/view/metadata/2sAYQggTZc"}