{"swagger":"2.0","info":{"contact":{"email":"support@smsklub.dk"},"title":"SMSKlub - Customers","version":"1.0.0","description":"Some requests are only allowed if this is agreed, and tested by SMSKlub in advance.\nThese are mark as __on request only__.\n\nGet in touch with us at support@smsklub.dk if you need access to those requests.\n\n`APIUSER` and `APIKEY` is the API credentials for the specific club.\nThese can be found in SMSKlub under __Settings__ and then __Bonus__\n\n# Bonus\n\nThe Stores API is used for integrating to the POS system, or the webshop, or other system that might want to interact with stores in SMSKlub.\n\n# Customers\n\nThe customer API is used for integrating to the POS system, the webshop, email systems, CRM systems or simular.\n\n# Stores\nThe Stores API is used for integrating to the POS system, or the webshop, or other system that might want to interact with stores in SMSKlub."},"host":"l.smsklub.dk","basePath":"/api/v1.0","schemes":["https"],"paths":{"/customer/set":{"post":{"responses":{"200":{"description":"OK","headers":{},"examples":{}}},"summary":"Create or update a customer","operationId":"customer-set","description":"This function is __on request only__.\n\nIt will look for existing customers based on the identifiers, so please only use 1 identifier.\n\n`mobile` and `email` is also concidered identifiers.If no customer is found it will attempt to create one.","tags":["Customers"],"parameters":[{"name":"body","in":"body","schema":{"type":"object","required":["apiuser","apikey","mobile"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"identifier":{"type":"object","properties":{"id":{"type":"number","example":1337}}},"mobile":{"type":"string","example":"+4571994488","description":"The mobile number of the member, without country code, or + folowed by the country code, followed by the mobile numbber."},"email":{"type":"string","example":"hi@smsklub.dk","description":"The email of the member"},"storeid":{"type":"string","example":"09","description":"The store id, this should match the store id set in SMSKlub."},"receive_email":{"type":"boolean","example":true,"description":"Weather the member has accepted to receive emails"},"receive_sms":{"type":"boolean","example":true,"description":"Weather the member has accepted to receive SMS"},"firstname":{"type":"string","example":"John","description":"The name of the member"},"lastname":{"type":"string","example":"Doe","description":"The lastname / surname of the member"},"address":{"type":"string","example":"123 Main St","description":"The address of the customer"},"company":{"type":"string","example":"FooCorp Ltd","description":"The company of the customer"},"city":{"type":"string","example":"AnyTown","description":"The city of the customer"},"postal":{"type":"string","example":"1234","description":"The postal code of the customer"},"gender":{"type":"string","example":"male","description":"The gender of the customer, male OR female"},"birthday":{"type":"string","example":"1990-05-02","description":"The birthday of the customer as YYYY-MM-DD"},"terms":{"type":"boolean","example":true,"description":"Indicated if the customer has accepted the terms or not, will only be set if terms aren't accepted yet."},"group":{"type":"number","example":120,"description":"Assign a customer to a group. If the member isn't in this group it will be assigned and expiration date for the group will be calculated, if it is set for the group."}}}}],"consumes":["application/json"]}},"/customer/delete":{"post":{"responses":{"200":{"description":"OK","headers":{},"examples":{}}},"summary":"Delete customer","operationId":"customer-delete","description":"This function is __on request only__.\n\nIt will take a customer and delete it.\n\nDeletion is not immediately, please contact us for more information on the delete procedure.","tags":["Customers"],"parameters":[{"name":"body","in":"body","schema":{"type":"object","required":["apiuser","apikey"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"identifier":{"type":"object","properties":{}},"id":{"type":"number","example":1337,"description":"The internal ID from SMSKlub."}}}}],"consumes":["application/json"]}},"/customer/get":{"post":{"responses":{"200":{"description":"OK","headers":{},"examples":{"application/json":{"status":"success","data":[{"id":42,"firstname":"John","lastname":"Doe","clubnumber":null,"email":"john.doe@foocorp.com","receiveemail":true,"receivesms":true,"mobile":"4571994488","gender":"male","birthday":"2000-01-02","dateofadd":"2018-04-09 14:17:53","dateofdeletion":"2018-04-09 14:18:46","group_expiration":null,"group":120,"static_bonus":null,"static_spentamount":null,"stores":[17,21],"bonus":2517.75},{"id":1337,"firstname":"John","lastname":"Doe","clubnumber":null,"email":"","receiveemail":false,"receivesms":true,"mobile":"4512345678","gender":"","birthday":"1999-12-24","dateofadd":"2018-05-01 00:00:00","dateofdeletion":"0000-00-00 00:00:00","group_expiration":"2020-10-21","group":121,"static_bonus":null,"static_spentamount":null,"stores":[21,42],"bonus":19}]}},"schema":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"firstname":{"type":"string"},"lastname":{"type":"string"},"clubnumber":{"type":"null"},"email":{"type":"string"},"receiveemail":{"type":"boolean"},"receivesms":{"type":"boolean"},"mobile":{"type":"string"},"gender":{"type":"string"},"birthday":{"type":"string"},"dateofadd":{"type":"string"},"dateofdeletion":{"type":"string"},"group_expiration":{"type":["null","string"]},"group":{"type":"number"},"static_bonus":{"type":"null"},"static_spentamount":{"type":"null"},"stores":{"type":"array","items":{"type":"number"}},"bonus":{"type":"number"}},"required":["id","firstname","lastname","clubnumber","email","receiveemail","receivesms","mobile","gender","birthday","dateofadd","dateofdeletion","group_expiration","group","static_bonus","static_spentamount","stores","bonus"]}}},"example":{"status":"success","data":[{"id":42,"firstname":"John","lastname":"Doe","clubnumber":null,"email":"john.doe@foocorp.com","receiveemail":true,"receivesms":true,"mobile":"4571994488","gender":"male","birthday":"2000-01-02","dateofadd":"2018-04-09 14:17:53","dateofdeletion":"2018-04-09 14:18:46","group_expiration":null,"group":120,"static_bonus":null,"static_spentamount":null,"stores":[17,21],"bonus":2517.75},{"id":1337,"firstname":"John","lastname":"Doe","clubnumber":null,"email":"","receiveemail":false,"receivesms":true,"mobile":"4512345678","gender":"","birthday":"1999-12-24","dateofadd":"2018-05-01 00:00:00","dateofdeletion":"0000-00-00 00:00:00","group_expiration":"2020-10-21","group":121,"static_bonus":null,"static_spentamount":null,"stores":[21,42],"bonus":19}]}}}},"summary":"Retrive customers","operationId":"customer-get","description":"This function is __on request only__.\n\nIt will return all customers.\n\nIf you have alot of customers, please limit these calls and paginate the resultsUse the attribute search or identifier to find the customer(s) you want","tags":["Customers"],"parameters":[{"name":"body","in":"body","schema":{"type":"object","required":["apiuser","apikey"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"search":{"type":"string","example":"John Doe","description":"It will attempt to search for a customers with this Name, Email or Mobile"},"stores":{"type":"array","items":{}},"limit":{"type":"number","example":25,"description":"Limit the amount of results, for instance only 25 customers pr. call"},"page":{"type":"number","example":99,"description":"Use this for pagination purposes"}}}}],"produces":["application/json"],"consumes":["application/json"]}},"/customer/get_groups":{"post":{"responses":{"200":{"description":"OK","headers":{},"examples":{"application/json":{"status":"success","data":[{"id":121,"name":"Default group","default":true,"expiration_definition":null,"expiration_time":null},{"id":120,"name":"Group with 1 year expiration","default":false,"expiration_definition":"year","expiration_time":1}]}},"schema":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"default":{"type":"boolean"},"expiration_definition":{"type":["null","string"]},"expiration_time":{"type":["null","number"]}},"required":["id","name","default","expiration_definition","expiration_time"]}}},"example":{"status":"success","data":[{"id":121,"name":"Default group","default":true,"expiration_definition":null,"expiration_time":null},{"id":120,"name":"Group with 1 year expiration","default":false,"expiration_definition":"year","expiration_time":1}]}}}},"summary":"Retrieve customer groups","operationId":"customer-group-get","description":"This function is __on request only__.\n\nIt will return all customer groups.","tags":["Customers"],"parameters":[{"name":"body","in":"body","schema":{"type":"object","required":["apiuser","apikey"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"}}}}],"produces":["application/json"],"consumes":["application/json"]}},"/bonus/add":{"post":{"responses":{"200":{"description":"OK","headers":{},"examples":{"application/json":{"status":"success","data":{"transactions":[15192,15193]}}},"schema":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"transactions":{"type":"array","items":{"type":"number"}}}}},"example":{"status":"success","data":{"transactions":[15192,15193]}}}}},"summary":"Add bonus to a customer","operationId":"bonus-add","description":"Ideally an array of lines should be sent when adding bonus to a customer, for better data.\n\nBut it is enough to add a single `lines` object with the `price` parameter summing the entire transaction.\n\nThe receiptno should be unique for the store, if a `receiptno` is posted again the previous line will be recalculated with a new bonus sum.","tags":["Bonus"],"parameters":[{"name":"body","in":"body","schema":{"type":"object","required":["apiuser","apikey","member_number","purchasetime","receiptno","lines"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"member_number":{"type":"string","example":"71994488","description":"The member number from SMSKlub, preferable the mobilenumber"},"purchasetime":{"type":"string","example":"2018-01-01 23:59:59","description":"The time of the purchase"},"receiptno":{"type":"string","example":"12156","description":"The receipt number"},"storeid":{"type":"string","example":"1","description":"An identification of the store, as defined in SMSKlub"},"posid":{"type":"string","example":"15","description":"An identification of the cash register used"},"clerkid":{"type":"string","example":"009","description":"An identification of the clerk, e.g. personal number"},"lines":{"type":"array","items":{}}}}}],"produces":["application/json"],"consumes":["application/json"]}},"/bonus/getbalance":{"post":{"responses":{"200":{"description":"OK","headers":{},"examples":{"application/json":{"status":"success","data":{"balance":12.34}}},"schema":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"balance":{"type":"number"}}}},"example":{"status":"success","data":{"balance":12.34}}}}},"summary":"Get the balance of a customer ","operationId":"bonus-getbalance","description":"Please specify either `member_number` or `pos_id`","tags":["Bonus"],"parameters":[{"name":"body","in":"body","schema":{"type":"object","required":["apiuser","apikey"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"member_number":{"type":"string","example":"71994488","description":"The member number from SMSKlub, preferable the mobilenumber"}}}}],"produces":["application/json"],"consumes":["application/json"]}},"/bonus/orders":{"post":{"responses":{"200":{"description":"OK","headers":{},"examples":{"application/json":{"status":"success","data":[{"receiptno":"123","store":456,"time":"2022-12-24 01:23:45","bonus":0,"lines":[{"productnumber":"TEST-1234","text":"Test product","amount":2,"price":2400.12,"discount":600,"product_group":null},{"productnumber":"4567","text":"Shipping","amount":1,"price":5,"discount":0,"product_group":"SHIPPING"}]},{"receiptno":"124","store":456,"time":"2022-12-24 12:34:56","bonus":150,"lines":[{"productnumber":"TEST-1234","text":"Test product","amount":2,"price":3000,"discount":0,"product_group":null}]}]}},"schema":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"receiptno":{"type":"string"},"store":{"type":"number"},"time":{"type":"string"},"bonus":{"type":"number"},"lines":{"type":"array","items":{"type":"object","properties":{"productnumber":{"type":"string"},"text":{"type":"string"},"amount":{"type":"number"},"price":{"type":"number"},"discount":{"type":"number"},"product_group":{"type":["null","string"]}},"required":["productnumber","text","amount","price","discount","product_group"]}}},"required":["receiptno","store","time","bonus","lines"]}}},"example":{"status":"success","data":[{"receiptno":"123","store":456,"time":"2022-12-24 01:23:45","bonus":0,"lines":[{"productnumber":"TEST-1234","text":"Test product","amount":2,"price":2400.12,"discount":600,"product_group":null},{"productnumber":"4567","text":"Shipping","amount":1,"price":5,"discount":0,"product_group":"SHIPPING"}]},{"receiptno":"124","store":456,"time":"2022-12-24 12:34:56","bonus":150,"lines":[{"productnumber":"TEST-1234","text":"Test product","amount":2,"price":3000,"discount":0,"product_group":null}]}]}}}},"summary":"Get the receipts/orders of a customer","operationId":"bonus-orders","description":"Get all the receipts for a customer based on their customer id.","tags":["Bonus"],"parameters":[{"name":"body","in":"body","schema":{"type":"object","required":["apiuser","apikey"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"id":{"type":"string","example":"123456","description":"The member number from SMSKlub, preferable the mobilenumber"}}}}],"produces":["application/json"],"consumes":["application/json"]}},"/bonus/store/getbalance":{"post":{"responses":{"200":{"description":"OK","headers":{},"examples":{"application/json":{"status":"success","data":{"balance":"1234.56"}}},"schema":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"balance":{"type":"string"}}}},"example":{"status":"success","data":{"balance":"1234.56"}}}}},"summary":"Get the bonus balance of a store","operationId":"bonus-store-gtebalance","description":"Get all the bonus balance of a store, from a given timestamp, it will return the balance and a `last_timestamp` which can be used for the next lookup","tags":["Bonus"],"parameters":[{"name":"body","in":"body","schema":{"type":"object","required":["apiuser","apikey","storeid","since"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"storeid":{"type":"string","example":"123456","description":"The store id set in SMSKlub"},"since":{"type":"string","example":"2024-12-01 12:24:01","description":"The timestamp we should calculate from"},"until":{"type":"string","example":"2024-12-02 01:12:24","description":"The timestamp we should calculate until"},"type":{"type":"string","example":"import","description":"The type of bonus, valid types are import, expired or redeem"}}}}],"produces":["application/json"],"consumes":["application/json"]}},"/stores/list":{"post":{"responses":{"200":{"description":"OK","headers":{},"examples":{"application/json":{"data":[{"id":"123","name":"Stockholm","address":"Stockholm centralstation, Centralplan, Stockholm, Sverige","active":true},{"id":"456","name":"Berlin","address":"Brandenburger Tor, Pariser Platz, Berlin, Tyskland","active":true},{"id":"789","name":"London","address":"Buckingham Palace, London, Storbritannien","active":false}],"status":"success"}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"active":{"type":"boolean"}},"required":["id","name","address","active"]}},"status":{"type":"string"}},"example":{"data":[{"id":"123","name":"Stockholm","address":"Stockholm centralstation, Centralplan, Stockholm, Sverige","active":true},{"id":"456","name":"Berlin","address":"Brandenburger Tor, Pariser Platz, Berlin, Tyskland","active":true},{"id":"789","name":"London","address":"Buckingham Palace, London, Storbritannien","active":false}],"status":"success"}}}},"summary":"List all stores","operationId":"stores-list","description":"List all stores","tags":["Stores"],"parameters":[{"name":"body","in":"body","schema":{"type":"object","required":["apiuser","apikey"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"}}}}],"produces":["application/json"],"consumes":["application/json"]}},"/stores/syncreceipts":{"post":{"responses":{"200":{"description":"OK","headers":{},"examples":{}}},"summary":"Mark a store for receipt sync","operationId":"stores-receiptsync","description":"Mark a store so SMSKlub knows that it should sync receipts from this store on the next possible occasion.","tags":["Stores"],"parameters":[{"name":"body","in":"body","schema":{"type":"object","required":["apiuser","apikey","departmentid"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"departmentid":{"type":"string","example":"xyz-123","description":"The ID of the store, set in the SMSKlub interface."}}}}],"consumes":["application/json"]}}},"definitions":{"List all stores":{"type":"object","required":["apiuser","apikey"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"active":{"type":"boolean","example":true,"description":"If you only want active stores"},"deactivated":{"type":"boolean","example":true,"description":"If you only want deactivated stores"}}},"Mark a store for receipt sync":{"type":"object","required":["apiuser","apikey","departmentid"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"departmentid":{"type":"string","example":"xyz-123","description":"The ID of the store, set in the SMSKlub interface."}}},"Add bonus to a customer":{"type":"object","required":["apiuser","apikey","member_number","purchasetime","receiptno","lines"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"member_number":{"type":"string","example":"71994488","description":"The member number from SMSKlub, preferable the mobilenumber"},"bonus_override":{"type":"number","example":-15,"description":"Will update the customers total balance to this amount, when this is set lines, receiptno, and purchasetime can be omitted"},"purchasetime":{"type":"string","example":"2018-01-01 23:59:59","description":"The time of the purchase"},"receiptno":{"type":"string","example":"12156","description":"The receipt number"},"storeid":{"type":"string","example":"1","description":"An identification of the store, as defined in SMSKlub"},"posid":{"type":"string","example":"15","description":"An identification of the cash register used"},"clerkid":{"type":"string","example":"009","description":"An identification of the clerk, e.g. personal number"},"lines":{"type":"array","items":{}}}},"Get the balance of a customer":{"type":"object","required":["apiuser","apikey"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"member_number":{"type":"string","example":"71994488","description":"The member number from SMSKlub, preferable the mobilenumber"},"pos_id":{"type":"string","example":"123456","description":"The ID from the POS if used"}}},"Get the receipts/orders of a customer":{"type":"object","required":["apiuser","apikey","id"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"id":{"type":"string","example":"123456","description":"The member id from SMSKlub"}}},"Get the bonus balance of a store":{"type":"object","required":["apiuser","apikey","storeid"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"storeid":{"type":"string","example":"123456","description":"The store id set in SMSKlub"},"since":{"type":"string","example":"2024-12-01 12:24:01","description":"The timestamp we should calculate from"},"until":{"type":"string","example":"2024-12-02 01:12:24","description":"The timestamp we should calculate until"},"type":{"type":"string","example":"import","description":"The type of bonus, valid types are import, expired or redeem, can be omitted"}}},"Create or update a customer":{"type":"object","required":["apiuser","apikey","mobile"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"identifier":{"type":"object","properties":{"webshop_id":{"type":"string","example":"12345","description":"The internal ID from a webshop."},"posid":{"type":"string","example":"570112345","description":"The internal ID from a POS system."},"clubno":{"type":"string","example":"AB12CD34","description":"The customer number, if mobile isn't used as customer numbers."},"id":{"type":"number","example":1337,"description":"The internal ID from SMSKlub."}}},"mobile":{"type":"string","example":"+4571994488","description":"The mobile number of the member, without country code, or + folowed by the country code, followed by the mobile numbber."},"email":{"type":"string","example":"hi@smsklub.dk","description":"The email of the member"},"storeid":{"type":"string","example":"09","description":"The store id, this should match the store id set in SMSKlub."},"receive_email":{"type":"boolean","example":true,"description":"Weather the member has accepted to receive emails"},"receive_sms":{"type":"boolean","example":true,"description":"Weather the member has accepted to receive SMS"},"firstname":{"type":"string","example":"John","description":"The name of the member"},"lastname":{"type":"string","example":"Doe","description":"The lastname / surname of the member"},"address":{"type":"string","example":"123 Main St","description":"The address of the customer"},"company":{"type":"string","example":"FooCorp Ltd","description":"The company of the customer"},"city":{"type":"string","example":"AnyTown","description":"The city of the customer"},"postal":{"type":"string","example":"1234","description":"The postal code of the customer"},"gender":{"type":"string","example":"male","description":"The gender of the customer, male OR female"},"birthday":{"type":"string","example":"1990-05-02","description":"The birthday of the customer as YYYY-MM-DD"},"terms":{"type":"boolean","example":true,"description":"Indicated if the customer has accepted the terms or not, will only be set if terms aren't accepted yet."},"group":{"type":"number","example":120,"description":"Assign a customer to a group. If the member isn't in this group it will be assigned and expiration date for the group will be calculated, if it is set for the group."}}},"Delete a customer":{"type":"object","required":["apiuser","apikey"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"identifier":{"type":"object","properties":{"id":{"type":"number","example":1337,"description":"The internal ID from SMSKlub."}}}}},"Retrive customers":{"type":"object","required":["apiuser","apikey"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"},"search":{"type":"string","example":"John Doe","description":"It will attempt to search for a customers with this Name, Email or Mobile"},"stores":{"type":"array","items":{},"description":"It will attempt to search for customers assign to a store id in the list"},"identifier":{"type":"object","properties":{"id":{"type":"number","example":1337,"description":"The internal ID from SMSKlub."},"mobile":{"type":"number","example":4571994488,"description":"The mobilenumber of the customer."},"email":{"type":"string","example":"hi@smsklub.dk","description":"The email of the customer."}}},"since":{"type":"string","example":"2024-01-01 23:59:59","description":"Use this to get alle customers updated at this time or after. Cannot be used simultaniously with stores."},"limit":{"type":"number","example":25,"description":"Limit the amount of results, for instance only 25 customers pr. call"},"page":{"type":"number","example":99,"description":"Use this for pagination purposes"}}},"Retrive customer groups":{"type":"object","required":["apiuser","apikey"],"properties":{"apiuser":{"type":"string","example":"APIUSER","description":"The API username from the system"},"apikey":{"type":"string","example":"APIKEY","description":"The API Password from the system"}}}},"securityDefinitions":{},"tags":[{"name":"Bonus"},{"name":"Customers"},{"name":"Stores"}]}