===== Member.AddMember ===== Method: member/AddMember Adds a new member without any subscription /// /// /// /// /// /// /// /// /// /// /// /// /// /// 1..20 /// /// /// id of the parent member, leave empty for no link /// M for Male, F for Female, U for unkown, O for others /// memo field Example: https://demo.clubplanner.be/api/member/addmember?token=DEMOTOKEN&firstname=John&lastname=Peterson Result: {"Id":123456817,"OwnerId":1,"OwnerName":"Demo","FullName":"John Peterson","CheckInStatus":"No valid subscription found"} ===== Member.UpdateMember ===== Method: member/UpdateMember Updates an existing member /// /// /// /// /// /// /// /// /// /// /// id of the club /// /// /// /// 1..20 /// /// id of the status /// id of the parent member, set to -1 to clear link, leave empty for no changes /// 0 or 1 /// Example, update the newsletter-flag to FALSE: https://demo.clubplanner.be/api/member/UpdateMember?token=DEMOTOKEN&memberid=1&newsletter=0 Example, update the newsletter-flag to TRUE: https://demo.clubplanner.be/api/member/UpdateMember?token=DEMOTOKEN&memberid=0&newsletter=1 ===== Member.GetMember ===== Method: member/GetMember Get a member via MemberId, put in the ID OR email /// /// /// Examples: https://demo.clubplanner.be/api/member/getmember?token=DEMOTOKEN&id=1 or https://demo.clubplanner.be/api/member/getmember?token=DEMOTOKEN&email=jane.johanson%40mail.com Result: {"Id":1,"UId":"GMOL1","OwnerId":1,"OwnerName":"Demo Brussels","FirstName":"Jane","LastName":"Johanson","CheckInStatus":"20 turns left valid until 7 maart Remainder 60,00 €","CheckInStatusId":"HasRemainderLeft","EmailAddress":"jane.johanson@mail.com","MobileNumber":"04812121340","City":"Bruxelles","Zip":"1000","Address":"Streetroad 1","BirthDate":"14/07/1963","LastVisit":"08/08/2016 17:53","NumberOfVisits":8476,"Password":"0LlHgtVlYrxx3y1ch/lfGFmADSENw1wSK67fxRMQWZjE45FFWta1IrHTIM0oOgr5Q33MbfW7jR7vblHz+uLs","LanguageId":"EN"} ===== Member.DeleteMember ===== Method: member/DeleteMember Deletes a member via MemberId /// /// ===== Member.AddSubscription ===== Method: member/AddSubscription Add a subscription to a given member, use **GetSubscriptions** to get the list of subscription types. The parameter subid defines the subscription type. /// /// /// optional, when not provided it will use home club of member /// /// /// optional /// optional /// optional /// optional /// optional /// optional /// optional /// optional /// optional, empty when no end of auto. extend /// optional /// optional /// optional /// optional, number of visits left in case of turncard /// optional /// optional Note : you can’t have 2 subscriptions active on the same date, in that case the API will return a 400 badrequest. Examples: Example to add subscription: https://demo.clubplanner.be/api/member/AddSubscription?token=DEMOTOKEN&memberid=1&subid=1&startdate=01/01/2018&reference=mollie_tx_1234534789 Example to add subscription with 1 option: https://demo.clubplanner.be/api/member/AddSubscription?token=DEMOTOKEN&memberid=1&subid=2&startdate=01/01/2017&option1=1 Example to add subscription with 3 options: https://demo.clubplanner.be/api/member/AddSubscription?token=DEMOTOKEN&memberid=2&subid=2&startdate=20/12/2017&option1=1&option2=2&option3=3&reference=mollie_tx_1234534789 Example to add subscription with 3 options and overrule option1 amount: https://demo.clubplanner.be/api/member/AddSubscription?token=DEMOTOKEN&memberid=2&subid=2&startdate=20/07/2018&option1=1&option2=2&option3=3&reference=mollie_tx_1234534789&option1_amount=3 ===== Member.PaySubscription===== Adds a payment to given membersubscription, you cannot add an amount > remainder, else you will get a badrequest. /// /// the id of the member subscription /// /// optional, id of the coupon, in this case amount can be set to 0, it will automatically use the coupon until empty /// optional, example: id of the webshop transaction /// optional, the id of the paymethod /// text, can be "vendingmachine" ===== Member.UpdateSubscription===== Update a given membersubscription. /// /// /// optional /// optional /// optional /// optional, auto. end of extend /// optional /// optional decimal /// optional integer with the id of the option to be added /// optional integer with the id of the option to be added /// optional integer with the id of the option to be added /// optional decimal with the amount of option1 /// optional decimal with the amount of option2 /// optional decimal with the amount of option3 /// optional integer, set to 1 to remove all existing options /// optional /// optional ===== Member.DeleteSubscription ===== Removes a given membersubscription. /// /// /// Note : you can only delete unpaid membersubscriptions via the API. ===== Member.GetMemberSubscriptions ===== Returns the subscriptions and options of each subscription of a given member /// /// Get the list of membersubscriptions and options for each subscription for a given member. Note : only items with begindate < today + 30 days will be returned. Example : https://demo.clubplanner.be/api/member/GetMemberSubscriptions?token=DEMOTOKEN&memberid=1 ===== Member.GetMemberSubscriptions (II) ===== Returns the subscriptions of a given subscription type /// mandatory /// mandatory /// mandatory /// optional /// optional, extra filter on starting from last modified on date /// optional, extra filter on until last modified on date /// optional Get the list of membersubscriptions for a given timespan (filters on startdate membersubscription), owner-id and subscription type id is optional. Examples: https://demo.clubplanner.be/api/member/GetMemberSubscriptions?token=DEMOTOKEN&fromdate=1-1-2018&todate=1-10-2018 https://demo.clubplanner.be/api/member/GetMemberSubscriptions?token=DEMOTOKEN&subscriptionid=1&fromdate=1-1-2018&todate=1-10-2018 https://demo.clubplanner.be/api/member/GetMemberSubscriptions?token=DEMOTOKEN&subscriptionid=1&fromdate=1-1-2018&todate=1-10-2018&owner=1 Retun: [{"MemberSubscriptionId":37816,"SubscriptionId":1,"MemberId":57,"Description":"Keepfit 3M","SubscriptionAmount":150.0000,"ProRataAmount":0.0000,"OptionsAmount":0.0000,"Remainder":150.0000,"SubType":"Subscription","StartDate":"01/01/2018","EndDate":"31/03/2018","Note":"","Reference":"mollie_tx_1234534789","OwnerId":1},{"MemberSubscriptionId":37817,"SubscriptionId":1,"MemberId":58,"Description":"Keepfit 3M","SubscriptionAmount":150.0000,"ProRataAmount":0.0000,"OptionsAmount":0.0000,"Remainder":150.0000,"SubType":"Subscription","StartDate":"01/01/2018","EndDate":"31/03/2018","Note":"","Reference":"mollie_tx_1234534789","OwnerId":1},{"MemberSubscriptionId":37818,"SubscriptionId":1,"MemberId":59,"Description":"Keepfit 3M","SubscriptionAmount":150.0000,"ProRataAmount":0.0000,"OptionsAmount":0.0000,"Remainder":150.0000,"SubType":"Subscription","StartDate":"01/01/2018","EndDate":"31/03/2018","Note":"","Reference":"mollie_tx_1234534789","OwnerId":1}] ===== Member.ForgotPassword ===== Send an e-mail as configured in the settings /// /// /// Sends an e-mail to the member with the memberid and password. This email can be configured using an email template. You need to provide memberid or email. Can be used in a forgot password screen on a website . Return Ok when password was sent, or BadRequest when member was not found. ===== Member.GetSubscriptionOptions===== Method: member/GetSubscriptionOptions Get the options for a given subscription. /// /// /// Examples: https://demo.clubplanner.be/api/member/GetSubscriptionOptions?token=DEMOTOKEN&subid=1&ownerid=1 https://demo.clubplanner.be/api/member/GetSubscriptionOptions?token=DEMOTOKEN&subid=2&ownerid=1 ===== Member.GetStatusses===== Get a list of all configured statustypes. /// Example: https://demo.clubplanner.be/api/member/GetStatusses?token=DEMOTOKEN ===== Member.UpdateStatus===== Update the status of a member. /// /// /// /// ===== Member.UpdateBlocked===== Update blocking of a member. /// /// /// 0 or 1 /// optionaly you can provide a text shown to both member and employee /// ===== Member.GetSubscriptions===== Get the configured subscriptiontypes of a given club /// /// optional Note: when owner is used the API will only return the subscriptions that can be sold in that club. Examples: https://demo.clubplanner.be/api/member/getsubscriptions?token=DEMOTOKEN&owner=1 https://demo.clubplanner.be/api/member/getsubscriptions?token=DEMOTOKEN ===== Member.SubstractCredit===== Substract credit from a member for a given id or uid or email, returns BadRequest when not enough credit. Is used in vending machines. /// /// amount /// Member Id /// Email Address /// unique card ID /// Example: Icemachine Example: https://demo.clubplanner.be/api/member/substractcredit?token=DEMOTOKEN&id=1&credit=1&from=mymilkshakemachine You can also use UID (could barcode or mifare UID): https://demo.clubplanner.be/api/member/substractcredit?token=DEMOTOKEN&uid=A1B2C3D4&credit=1&from=mymilkshakemachine ===== Member.AddCredit===== Add credit of a member for a given id or uid or email, returns BadRequest when credit = 0. /// /// amount /// Member Id /// optional, Paymethod Id /// Email Address /// unique card ID /// optional, note /// Example: Icemachine Example: https://demo.clubplanner.be/api/member/AddCredit?token=DEMOTOKEN&id=5&credit=5&from=bankterminal1 You can also use UID (could barcode or mifare UID): https://demo.clubplanner.be/api/member/AddCredit?token=DEMOTOKEN&uid=A1B2C3D4&credit=5&from=bankterminal1 ===== Member.GetCountvisits===== Get the number of unique checkin's, can be used for realtime visit tracking on websites. /// /// /// /// Example: https://demo.clubplanner.be/api/member/getcountvisits?token=DEMOTOKEN&fromdate=13-01-2018%2013:42 ===== Member.GetCountvisits===== Get the number of unique checkin's, taken checkout's into account, can be used for realtime visit tracking on websites. /// /// Example: https://demo.clubplanner.be/api/member/getcountvisits?token=DEMOTOKEN&owner=1 ===== Member.GetOptions===== get the list of all options /// Example: https://demo.clubplanner.be/api/Member/GetOptions?token=DEMOTOKEN Result: [{"Id":1,"Description":"Douche-Shower"},{"Id":2,"Description":"Yanga Drinks"},{"Id":3,"Description":"App"},{"Id":4,"Description":"Courses"}] ===== Member.GetVisits===== Returns the checkin's /// /// /// leave empty for no to date /// leave empty for all clubs /// leave empty when no filter on memberid Examples: https://demo.clubplanner.be/api/member/getvisits?token=DEMOTOKEN&fromdate=1-01-2017&todate=10-01-2017 https://demo.clubplanner.be/api/member/getvisits?token=DEMOTOKEN&fromdate=1-01-2017 https://demo.clubplanner.be/api/member/getvisits?token=DEMOTOKEN&fromdate=1-01-2017&owner=1 Result: [{"Id":189381,"MemberId":2,"OwnerId":2,"CheckInStatus":"Abonnement nog 362 dagen geldig tot 31 december.","CheckInStatusId":0,"CheckInDate":"03/01/2017 09:14:04","CheckOutDate":null,"CheckInPointName":"Tourniquet","CheckInPointId":"1","Subscription":"Fitness 12M"},{"Id":189382,"MemberId":2,"OwnerId":2,"CheckInStatus":"Abonnement nog 362 dagen geldig tot 31 december.","CheckInStatusId":0,"CheckInDate":"03/01/2017 16:44:19","CheckOutDate":null,"CheckInPointName":"Tourniquet","CheckInPointId":"1","Subscription":"Fitness 12M"},{"Id":189383,"MemberId":2,"OwnerId":2,"CheckInStatus":"Abonnement nog 361 dagen geldig tot 31 december.","CheckInStatusId":0,"CheckInDate":"04/01/2017 13:37:11","CheckOutDate":null,"CheckInPointName":"Tourniquet","CheckInPointId":"1","Subscription":"Fitness 12M"}] ===== Member.GetMembers===== Return list of member /// /// Note: there is maximum of 1000 members that can be retrieved per call Examples: https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=member_id%3E0%20and%20member_id%3C10 https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=created_on>%272018/04/01%27 https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=created_on>%272018/04/01%27%20and%20newsletter=1 https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=created_on>%272018/04/01%27%20and%20newsletter=1 Filter on NAME (LIKE filter) https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=name%20like%20%27%verstr%%27 Filter on FIRSTNAME (LIKE filter) https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=firstname%20like%20%27%jan%%27 Filter on EMAIL (LIKE filter) https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=email_address%20like%20%27%gmail%%27 Filter op LAST MODIFIED (> Filter) https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=last_modified%3E%272022/12/10%27%20 Result: [{"Id":2,"UId":"CD360159","OwnerId":1,"OwnerName":null,"FirstName":"Bjorn","LastName":"Bjorn","CheckInStatus":null,"CheckInMultiMessage":null,"CheckInStatusId":null,"EmailAddress":"kristofcoolsaet@hotmail.com","MobileNumber":"0473943498","City":null,"Zip":null,"Address":null,"BirthDate":"14/01/1971","LastVisit":"05/03/2018 20:07","NumberOfVisits":98,"Password":null,"LanguageId":null,"StatusId":0,"Points":0,"CurrentSubscription":null,"Credit":0.0,"CreatedOn":null,"Guid":null}] ===== Member.GetSubscriptionGroups===== get the list of all subscription groups /// Example: https://demo.clubplanner.be/api/Member/GetSubscriptionGroups?token=DEMOTOKEN ===== Member.SendSMS===== Sends an SMS to a given member /// /// ID of member /// content of SMS /// optional mobile nbr to use /// Examples: https://demo.clubplanner.be/api/member/SendSMS?token=DEMOTOKEN&memberid=1&message=ABCDEF https://demo.clubplanner.be/api/member/SendSMS?token=DEMOTOKEN&memberid=1&mobilenbr=123&message=ABCDEF ===== Member.SendEmail===== Sends an Email to a given member, note: this is using HTTP post! When address is left empty it will use the email address of the given member. The cc and bcc fields are optional. Multiple recipients can be separated by a comma or semicolon. { "token": "DEMOTOKEN", "memberid": "0", "message": "body", "subject": "subject", "from": "website", "address": "[info@clubplanner.be](mailto:info@clubplanner.be)", "cc": "[copy@clubplanner.be](mailto:copy@clubplanner.be)", "bcc": "[hidden@clubplanner.be](mailto:hidden@clubplanner.be)" } Example: https://demo.clubplanner.be/api/member/SendEmail ===== Member.VerifyPassword===== Check's the password of the given member /// /// optional: memberid /// optional: e-Mail instead of memberid /// password to be checked /// Examples: https://demo.clubplanner.be/api/member/VerifyPassword?token=DEMOTOKEN&memberid=1&password=demo When password matches it will return HTTP OK, else Badrequest. ===== Member.GetContract (GET) ===== Get the HTML of the contract for a given member subscription. If no contract has been configured on the subscription type a badrequest is returned. /// /// id of membersubscription /// Examples: https://demo.clubplanner.be/api/member/GetContract?token=DEMOTOKEN&id=72580 Returns: { public int subscriptionid public int memberid public string contract } ===== Member.UploadContract (POST) ===== Uploads a signed contract (pdf) and stores in the given membersubscription. If no contract has been configured on the subscription type a badrequest is returned. An error is returned when the pdf is empty or the memberid is not the owner of the membersubscription. /// /// id of membersubscription /// id of the member /// byte array of the pdf /// Returns: { public int subscriptionid public int memberid public int contractid } ===== Member.ValidateEmailAddress ===== Set this email address as a validated email address, this action is logged. Calling updatemember with a new email address will remove the validated timestamp for this field. /// /// id of the member /// returns: { public string Message public bool Failed } ===== Member.ValidateMobileNumber===== Set the given mobile number as a validated mobile number, this action is logged Calling updatemember with a new email address will remove the validated timestamp for this field. /// /// id of the member /// returns: { public string Message public bool Failed } ===== Member.GetContractState===== Returns all the details of given contract /// /// id of the contract ===== Member.GetContractFile===== Returns the signed pdf contract of a given contract /// /// id of the contract