Customer account management

Get customer account information


This method gets a customer’s account information.

This method requires customer authentication.

Note: The API key must have the API_PERSONAL_INFORMATION_CLIENT_READ permission from the Client group.

Declared In:
Headers/SNRClient.h

Related To:
ClientAccountInformation

Class:
Client

Declaration:

static func getAccount(success: ((ClientAccountInformation) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
success ((ClientAccountInformation) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

Client.getAccount(success: { (clientAccountInformation) in
  // success
}) { (error) in
  // failure
}

Get customer’s events


This method retrieves events for an authenticated customer.

This method requires customer authentication.

Declared In:
Headers/SNRClient.h

Related To:
ClientEventsApiQuery

Class:
Client

Declaration:

static func getEvents(apiQuery: ClientEventsApiQuery, success: (([ClientEventData]) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
apiQuery ClientEventsApiQuery yes - Object responsible for storing all query parameters
success (([ClientEventData]) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Update customer account information


This method updates a customer’s account information.

This method requires the context object with the customer’s account information. Omitted fields are not modified.

This method requires customer authentication.

Note: The API key must have the API_PERSONAL_INFORMATION_CLIENT_UPDATE permission from the Client group.

Declared In:
Headers/SNRClient.h

Related To:
ClientUpdateAccountContext

Class:
Client

Declaration:

static func updateAccount(context: ClientUpdateAccountContext, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
context ClientUpdateAccountContext yes - Object with customer’s email, password, and other optional data
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

let agreements: ClientAgreements = ClientAgreements()
agreements.email = true
agreements.sms = true
agreements.push = true
agreements.bluetooth = true
agreements.rfid = true
agreements.wifi = true
let context: ClientUpdateAccountContext = ClientUpdateAccountContext()
context.email = "hello@synerise.com"
context.phone = "123-456-789"
context.customId = "CUSTOM_ID"
context.uuid = "UUID"
context.firstName = "FIRST_NAME"
context.lastName = "LAST_NAME"
context.displayName = "DISPLAY_NAME"
context.sex = .male
context.company = "Synerise"
context.address = "Lubostroń 1"
context.city = "Kraków"
context.province = "Małopolskie"
context.zipCode = "30-383"
context.countryCode = "+48"
context.birthDate = "01-01-2019"
context.avatarUrl = "http://www.synerise.com"
context.agreements = agreements
context.attributes = ["attribute1": "value1", "attribute2": "value2"]
context.tags = ["tag1", "tag2" "tag3"]
Client.updateAccount(context: context, success: { (success) in
  // success
}) { (error) in
  // failure
}

Change customer’s account password


This method changes a customer’s password.

This method requires customer authentication.

Note: Returns the HTTP 403 status code if the provided old password is invalid.
Note: The API key must have the SAUTH_CHANGE_PASSWORD_CLIENT_UPDATE permission from the Client group.

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func changePassword(password: String, oldPassword: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
password String yes - Customer’s new password
oldPassword String yes - Customer’s old password
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

let newPassword: String = "NEW_PASSWORD"
let oldPassword: String = "OLD_PASSWORD"
Client.changePassword(password: newPassword, oldPassword: oldPassword, success: { (success) in
  // success
}, failure: { (error) in
  // failure
})

Request password reset for customer account


This method requests a customer’s password reset with email. The customer will receive a token to the provided email address. That token is then used for the confirmation of password reset.

This method requires the customer’s email.

This method is a global operation and doesn’t require customer authentication.

Note: The API key must have the SAUTH_PASSWORD_RESET_CLIENT_CREATE permission from the Client group.

Declared In:
Headers/SNRClient.h

Related To:
ClientPasswordResetRequestContext

Class:
Client

Declaration:

static func requestPasswordReset(context: ClientPasswordResetRequestContext, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
context ClientPasswordResetRequestContext yes - Object with the customer’s email
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

let email: String = "EMAIL"
let context: ClientPasswordResetRequestContext = ClientPasswordResetRequestContext(email: email)
Client.requestPasswordReset(context: context, success: { (success) in
  // success
}, failure: { (error) in
  // failure
}) 

Confirm password reset for customer account


This method confirm a customer’s password reset with the new password and token provided by password reset request.

This method requires the customer’s new password and the confirmation token received by e-mail.

This method is a global operation and doesn’t require customer authentication.

Note: The API key must have the SAUTH_PASSWORD_RESET_CLIENT_CREATE permission from the Client group.

Declared In:
Headers/SNRClient.h

Related To:
ClientPasswordResetConfirmationContext

Class:
Client

Declaration:

static func confirmResetPassword(context: ClientPasswordResetConfirmationContext, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
context ClientPasswordResetConfirmationContext yes - Object with customer’s password and token
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

let password: String = "PASSWORD"
let token: String = "TOKEN"
let context: ClientPasswordResetConfirmationContext = ClientPasswordResetConfirmationContext(password: password, token: token)
Client.confirmResetPassword(context: context, success: { (success) in
  // success
}, failure: { (error) in
  // failure
})

Request email change for customer account


This method requests a customer’s email change.

This method is a global operation and doesn’t require customer authentication.

Note: Returns the HTTP 403 status code if the provided token or the password is invalid.
Note: The API key must have the SAUTH_CHANGE_EMAIL_CLIENT_UPDATE permission from the Client group.

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func requestEmailChange(email: String, password: String, externalToken: AnyObject?, authID: String?, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
email String yes - Customer’s new email
password String yes - Customer’s password
externalToken AnyObject no - Customer’s token (if OAuth, Facebook, and so on)
authID String no - Optional identifier of authorization
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Confirm email change for customer account


This method confirms an email change.

This method is a global operation and doesn’t require customer authentication.

Note: Returns the HTTP 403 status code if the provided token is invalid.
Note: The API key must have the SAUTH_CHANGE_EMAIL_CLIENT_UPDATE permission from the Client group.

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func confirmEmailChange(token: String, newsletterAgreement: Bool, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
token String yes - Customer’s token provided in an email
newsletterAgreement Bool yes - Agreement for sending newsletters to the provided email
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

let token: String = "TOKEN"
Client.confirmEmailChange(token: token, success: { _ in
  // success
}) { (error) in
  // failure
}

Request phone update on customer account


Requests a customer’s phone update. A confirmation code is sent to the phone number.

This method is a global operation and doesn’t require customer authentication.

Note: The API key must have the API_PERSONAL_PHONE_CLIENT_CREATE permission from the Client group.

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func requestPhoneUpdate(phone: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
phone String yes - Customer’s new phone number
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

let phone: String = "123-456-789"
Client.requestPhoneUpdate(phone: phone, success: { (success) in
  // success
}, failure: { (error) in
  // failure
})

Confirm phone update on customer account


This method confirms a phone number update. This action requires the new phone number and confirmation code as parameters.

This method is a global operation and doesn’t require customer authentication.

Note: Returns the HTTP 403 status code if the provided UUID does not exist or the password is invalid.
Note: The API key must have the API_PERSONAL_PHONE_CLIENT_CREATE permission from the Client group.

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func confirmPhoneUpdate(phone: String, confirmationCode: String, smsAgreement: Bool, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
phone String yes - New phone number
confirmationCode String yes - A confirmation code received by a text message
smsAgreement Bool yes - Agreement for sending SMS to the provided number
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

let phone: String = "123-456-789"
let confirmationCode: String = "CONFIRMATION_CODE"
Client.confirmPhoneUpdate(phone: phone, confirmationCode: confirmationCode, smsAgreement: true, success: { (success) in
  // success
}) { (error) in
  // failure
}

Delete customer account by Identity Provider


This method deletes a customer’s account.

This method requires customer authentication.

Note: HTTP 403 status code is returned if the provided password or token is invalid.
Note: The API key must have the SAUTH_CLIENT_DELETE, SAUTH_OAUTH_CLIENT_DELETE, SAUTH_FACEBOOK_CLIENT_DELETE, SAUTH_APPLE_CLIENT_DELETE permissions from the Client group.

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func deleteAccount(clientAuthFactor: String, clientIdentityProvider: ClientIdentityProvider, authID: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void))

Parameters:

Parameter Type Mandatory Default Description
clientAuthFactor String yes - Customer’s token from the identity provider
clientIdentityProvider ClientIdentityProvider yes - Customer’s identity provider
authID String no - Optional identifier of authorization
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Deprecated methods

Delete customer account


This method deletes a customer’s account.

This method requires customer authentication.

Note: Returns the HTTP 403 status code is returned if the provided password is invalid.
Note: The API key must have the SAUTH_CLIENT_DELETE permission from the Client group.
Note: This method was deprecated in SDK version 3.6.19

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func deleteAccount(password: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void))

Parameters:

Parameter Type Mandatory Default Description
password String yes - Customer’s password
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

let password: String = "PASSWORD"
Client.deleteAccount(password: password, success: { (success) in
  // success
}) { (error) in
  // failure
}

Delete customer account by OAuth


This method deletes a customer’s account by OAuth.

This method requires customer authentication.

Note: The API key must have the SAUTH_CLIENT_DELETE and SAUTH_OAUTH_CLIENT_DELETE permissions from the Client group.
Note: This method was deprecated in SDK version 3.6.19

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func deleteAccountByOAuth(accessToken: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
accessToken String yes - OAuth Access Token
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Delete customer account by Facebook


This method deletes a customer’s account by Facebook.

This method requires customer authentication.

Note: The API key must have the SAUTH_CLIENT_DELETE and SAUTH_FACEBOOK_CLIENT_DELETE permissions from the Client group.
Note: This method was deprecated in SDK version 3.6.19

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func deleteAccountByFacebook(facebookToken: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
facebookToken String yes - Token from an active Facebook session
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

guard let facebookToken = FBSDKAccessToken.current()?.tokenString else {
	return
}
Client.deleteAccountByFacebookToken(facebookToken: facebookToken, success: { (success) in
  // success
}, failure: { (error) in
  // failure
})

Delete customer account by Apple Sign In


This method deletes a customer’s account information by Sign In With Apple.

This method requires customer authentication.

Note: The API key must have the SAUTH_CLIENT_DELETE and SAUTH_APPLE_CLIENT_DELETE permissions from the Client group.
Note: This method was deprecated in SDK version 3.6.19

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func deleteAccountByAppleSignIn(identityToken: Data, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
identityToken Data yes - Token from Sign In With Apple session
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

😕

We are sorry to hear that

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

😉

Awesome!

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

Close modal icon Placeholder alt for modal to satisfy link checker