createCustomer
Create a Customer in the Cloud4Wi account
This method initializes the customer object in the Cloud4Wi account. This method must be invoked before installing the WiFi Profile.
The customer object is described here.
- (void) createCustomer: (Customer*) customer
deduplicate: (NSString *) deduplicateAttribute
onSuccess: (void (^)(CustomerCreateResponse *resp)) onSuccess
onError: (void (^)(NSError *error)) onErrorCalling this function It is equivalent to a make a login. The success of this function opens a session with the customer returned. To close the session use logout() method.
Customer deduplication
The deduplicateAttribute attribute is optional. If set, the system will check if an exisitng customer with a matching attribute already exists in the same Cloud4Wi account.
If a matching record exists, the createCustomer method will override the existing matching customer attributes with the one passed in the createCustomer (except for username, password, source )
Pssible values of deduplicateAttribute are:
"phoneNumber", "email", "extId", "extProp1", "extProp2"To create a customer without any deduplication check, set deduplicateAttribute to nil.
cloud4WiSDKWiFi.createCustomer(customer, deduplicate: nil)Customer username and password
Username and password are credentials for the user in the c4w environment and are used for Radius authN/Z.
If username and password are not set in the Customer object, they are generated randomly during the customer creation and returned to the app in the CustomerCreate Response object. This auto generation of the credentials is the best way to proceed.
Response
If the method executes with no errors, it returns the object CustomerCreateResponse
Examples
Create customer
let customer = Customer()
var approvedPolicies: Dictionary = [String: String]()
approvedPolicies["termsOfUse"] = "true"
approvedPolicies["privacy"] = "true"
customer?.policies = approvedPolicies
customer?.firstName = "Michele"
customer?.email = email
cloud4WiSDKWiFi.createCustomer(customer, deduplicate: "email") Customer* customer = [[Customer alloc] init];
NSMutableDictionary *approvedPolicies = [[NSMutableDictionary alloc] init];
for (NSString* policy in policies) {
[approvedPolicies setObject:@"true" forKey:policy];
}
[customer setPolicies:approvedPolicies];
[customer setFirstName:@"John"];
[customer setEmail:@"[email protected]"];
[cloud4WiSDKWiFi createCustomer:customer deduplicate:@"email" onSuccess:^(CustomerCreateResponse *customerCreateResp) {Create customer without deduplication
cloud4WiSDKWiFi.createCustomer(customer, deduplicate: nil)[cloud4WiSDKWiFi createCustomer:customer deduplicate:nil onSuccess:^(CustomerCreateResponse *customerCreateResp) {[cloud4WiSDKWiFi createCustomer:customer deduplicate:nil onSuccess:^(CustomerCreateResponse *customerCreateResp) {Last updated
Was this helpful?