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)) onError

Calling 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.


If the method executes with no errors, it returns the object CustomerCreateResponse


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") 

Create customer without deduplication

cloud4WiSDKWiFi.createCustomer(customer, deduplicate: nil)[cloud4WiSDKWiFi createCustomer:customer deduplicate:nil onSuccess:^(CustomerCreateResponse *customerCreateResp) {

Last updated