
### BaseModule
**Declared In:**  
lib/modules/base/base_module.dart  
  
**Declaration:**

<pre><code class="language-Dart">class BaseModule</code></pre>


---
---

### Settings
**Declared In:**  
lib/modules/notifications/settings_impl.dart 
  
**Declaration:**  

<pre><code class="language-Dart">class SettingsImpl</code></pre>


**Properties:**
| Property | Type | Description |
| --- | --- | --- |
| **sdk** | GeneralSettings | [General settings](/developers/mobile-sdk/settings#general) - This group contains options related to the general functioning of mobile SDK |
| **notifications** | NotificationsSettings | [Notifications settings](/developers/mobile-sdk/settings#notifications) - This group contains options related to push notifications |
| **tracker** | TrackerSettings | [Tracker](/developers/mobile-sdk/settings#tracker) - This group contains options related to tracking the customer activities in a mobile application |
| **inAppMessaging** | InAppMessagingSettings | [In-app messaging](/developers/mobile-sdk/settings#in-app-messaging) - This group contains options related to the [in-app messages](/docs/campaign/in-app-messages) feature |
| **injector** | InjectorSettings | [Injector](/developers/mobile-sdk/settings#injector) - This group contains options related to displaying [campaigns](/docs/campaign/Mobile) |

**Note:**  
Learn more about settings [here](/developers/mobile-sdk/settings)

---
---

### Notifications
**Declared In:**  
lib/modules/notifications/notifications_impl.dart 
  
**Declaration:**  

<pre><code class="language-Dart">class NotificationsImpl</code></pre>

  
**Listeners:**  
[NotificationsListener](/developers/mobile-sdk/listeners-and-delegates/flutter-listeners#notifications-listener) 
  
**Methods:**

This method passes the Firebase Token to Synerise for notifications.

<pre><code class="language-Dart">Future&lt;void&gt; registerForNotifications(String registrationToken, {bool? mobileAgreement, required void Function() onSuccess, required void Function(SyneriseError error) onError})</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#register-for-push-notifications)

---

This method handles a notification payload and starts activity.

<pre><code class="language-Dart">Future&lt;bool&gt; handleNotification(Map notification) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#handle-synerise-push-notification)

---

This method handles a notification payload with a user interaction and starts activity.

<pre><code class="language-Dart">Future&lt;bool&gt; handleNotificationClick(Map notification) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#handle-synerise-push-notification-click)
    
---

This method verifies if a notification was sent by Synerise.

<pre><code class="language-Dart">Future&lt;bool&gt; isSyneriseNotification(Map notification) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#check-if-push-notification-is-from-synerise)

---

This method verifies if a notification’s sender is Synerise and if the notification is a Simple Push campaign

<pre><code class="language-Dart">Future&lt;bool&gt; isSyneriseSimplePush(Map notification) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#check-if-push-notification-is-a-simple-push-campaign)

---

This method verifies if a notification’s sender is Synerise and if the notification is a Banner campaign.

<pre><code class="language-Dart">Future&lt;bool&gt; isSyneriseBanner(Map notification) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#check-if-push-notification-is-a-banner-campaign) - **REMOVED in version 2.0.0**

---

This method verifies if a notification's sender is Synerise and if the notification is a Silent Command.

<pre><code class="language-Dart">Future&lt;bool&gt; isSilentCommand(Map notification) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#check-if-push-notification-is-a-silent-command)

---

This method verifies if a notification's sender is Synerise and if the notification is a Silent SDK Command.

<pre><code class="language-Dart">Future&lt;bool&gt; isSilentSDKCommand(Map notification) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#check-if-push-notification-is-a-silent-sdk-command)

---
---

### Client
**Declared In:**  
lib/modules/client/client_impl.dart  
  
**Related To:**  
[ClientAccountRegisterContext](/developers/mobile-sdk/class-reference/flutter/client#clientaccountregistercontext)  
[ClientIdentityProvider](/developers/mobile-sdk/class-reference/flutter/client#clientidentityprovider)  
[ClientAuthContext](/developers/mobile-sdk/class-reference/flutter/client#clientauthcontext)  
[ClientConditionalAuthContext](/developers/mobile-sdk/class-reference/flutter/client#clientconditionalauthcontext) 
[ClientAccountInformation](/developers/mobile-sdk/class-reference/flutter/client#clientaccountinformation)  
[ClientAccountUpdateContext](/developers/mobile-sdk/class-reference/flutter/client#clientaccountupdatecontext)    
[ClientConditionalAuthResult](/developers/mobile-sdk/class-reference/flutter/client#clientconditionalauthresult)   
[ClientPasswordResetRequestContext](/developers/mobile-sdk/method-reference/flutter/client-account#request-password-reset-for-customer-account)  
[ClientPasswordResetConfirmationContext](/developers/mobile-sdk/method-reference/flutter/client-account#confirm-password-reset-for-customer-account)
[Token](/developers/mobile-sdk/class-reference/flutter/client#token)  
  
**Inherits From:**  
[BaseModule](/developers/mobile-sdk/class-reference/flutter/modules#basemodule)  
  
**Declaration:**

<pre><code class="language-Dart">class ClientImpl extends BaseModule</code></pre>


**Methods:**

This method registers a new customer with an email, password, and optional data.

<pre><code class="language-Dart">Future&lt;void&gt; registerAccount(ClientAccountRegisterContext context, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#register-customer-account)

---

This method confirms a customer account with the confirmation token.

<pre><code class="language-Dart">Future&lt;void&gt; confirmAccountActivation(String token, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#confirm-customer-account-activation)

---

This method activates a customer with email.

<pre><code class="language-Dart">Future&lt;void&gt; requestAccountActivation(String email, {required void Function() onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#request-customer-account-activation)

---

This method requests a customer's account registration process with the PIN code.

<pre><code class="language-Dart">Future&lt;void&gt; requestAccountActivationByPin(String email, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#request-customer-account-activation-by-pin)

---

This method confirms a customer's account registration process with the PIN code.

<pre><code class="language-Dart">Future&lt;void&gt; confirmAccountActivationByPin(String email, String pinCode, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#confirm-customer-account-activation-by-pin)

---

This method signs a customer in to obtain a JSON Web Token (JWT) which can be used in subsequent requests.

<pre><code class="language-Dart">Future&lt;void&gt; signIn(String email, String password, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#sign-in-a-customer)

---

This method signs a customer in to obtain a JSON Web Token (JWT) which can be used in subsequent requests.

<pre><code class="language-Dart">Future&lt;void&gt; signInConditionally(String email, String password, {required void Function(ClientConditionalAuthResult) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#sign-in-a-customer-conditionally)

---

This method authenticates a customer with OAuth, Facebook, Google, Apple, or Synerise.

<pre><code class="language-Dart">Future&lt;void&gt; authenticate(ClientAuthContext clientAuthContext, IdentityProvider identityProvider, String tokenString, {required void Function(bool) onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#authenticate-customer-by-identityprovider)

---

This method authenticates a customer with OAuth, Facebook, Google, Apple, or Synerise.

<pre><code class="language-Dart">Future&lt;void&gt; authenticateConditionally(ClientConditionalAuthContext clientAuthContext, IdentityProvider identityProvider, String tokenString, {String? authID, required void Function(ClientConditionalAuthResult) onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#authenticate-customer-conditionally-by-identityprovider)

---

This method authenticates a customer with Simple Profile Authentication.

<pre><code class="language-Dart">Future&lt;void&gt; simpleAuthentication(ClientSimpleAuthenticationData data, String authID, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#authenticate-customer-via-simple-profile-authentication)

---

This method checks if a customer is signed in (via Synerise Authentication - RaaS, OAuth, Facebook, Apple).

<pre><code class="language-Dart">Future&lt;bool&gt; isSignedIn() async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#check-if-a-customer-is-signed-in-via-raas-oauth-facebook-apple)

---

This method checks if a customer is signed in (via Simple Profile Authentication).

<pre><code class="language-Dart">Future&lt;bool&gt; isSignedInViaSimpleAuthentication() async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#check-if-a-customer-is-signed-in-via-simple-profile-authentication)

---

This method signs out a customer out.

<pre><code class="language-Dart">Future&lt;void&gt; signOut() async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#sign-out-a-customer)

---

This method signs out a customer out with a chosen mode and Determines if the method should sign out all devices

<pre><code class="language-Dart">Future&lt;void&gt; signOutWithMode(ClientSignOutMode mode, bool fromAllDevices, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-authentication#sign-out-customer-with-mode-or-from-all-devices)

---

This method refreshes the customer’s current token.

<pre><code class="language-Dart">Future&lt;void&gt; refreshToken({required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-session#refresh-customer-token)

---

This method retrieves the customer’s current, active token.

<pre><code class="language-Dart">Future&lt;void&gt; retrieveToken({required void Function(Token) onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-session#retrieve-customer-token)

---

This method retrieves the customer’s current UUID.

<pre><code class="language-Dart">Future&lt;String&gt; getUUID() async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-session#get-current-customer-uuid)

---

This method regenerates the UUID and clears the authentication token, login session, custom email, and custom identifier.

<pre><code class="language-Dart">Future&lt;void&gt; regenerateUUID() async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-session#regenerate-customer)

---

This method regenerates the UUID and clears the authentication token, login session, custom email, and custom identifier.

<pre><code class="language-Dart">Future&lt;void&gt; regenerateUUIDWithClientIdentifier(String clientIdentifier) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-session#regenerate-customer-with-identifier)

---

This method destroys the session completely.

<pre><code class="language-Dart">Future&lt;void&gt; destroySession({required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-session#destroy-current-session)

---

This method gets a customer’s account information.

<pre><code class="language-Dart">Future&lt;void&gt; getAccount({required void Function(ClientAccountInformation) onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-account#get-customer-account-information)

---

This method updates a customer’s account’s basic information (without identification data: uuid, customId, email).

<pre><code class="language-Dart">Future&lt;void&gt; updateAccountBasicInformation(ClientAccountUpdateBasicInformationContext context, {required void Function() onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-account#update-customer-account-basic-information)

---

This method updates a customer’s account information.

<pre><code class="language-Dart">Future&lt;void&gt; updateAccount(ClientAccountUpdateContext context, {required void Function() onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-account#update-customer-account-information)

---

This method requests a customer’s password reset with email.

<pre><code class="language-Dart">Future&lt;void&gt; requestPasswordReset(String email, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-account#request-password-reset-for-customer-account)

---

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

<pre><code class="language-Dart">Future&lt;void&gt; confirmPasswordReset(String password, String token, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-account#confirm-password-reset-for-customer-account)

---

This method changes a customer’s password.

<pre><code class="language-Dart">Future&lt;void&gt; changePassword(String oldPassword, String newPassword, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-account#change-customers-account-password)

---

This method requests a customer's email change.

<pre><code class="language-Dart">Future&lt;void&gt; requestEmailChange(String email, String password, {String? externalToken, String? authID, required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-account#request-email-change-for-customer-account)

---

This method confirms an email change.

<pre><code class="language-Dart">Future&lt;void&gt; confirmEmailChange(String token, bool newsletterAgreement, {required void Function() onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-account#confirm-email-change-for-customer-account)

---

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

<pre><code class="language-Dart">Future&lt;void&gt; requestPhoneUpdate(String phone, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-account#request-phone-update-on-customer-account)

---

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

<pre><code class="language-Dart">Future&lt;void&gt; confirmPhoneUpdate(String phone, String confirmationCode, bool smsAgreement, {required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-account#confirm-phone-update-on-customer-account)

---

This method deletes a customer's account.

<pre><code class="language-Dart">Future&lt;void&gt; deleteAccount(String clientAuthFactor, IdentityProvider identityProvider, {String? authId, required void Function() onSuccess, required void Function(SyneriseError) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/client-account#delete-customer-account)

---

---
---

### Tracker
**Declared In:**  
lib/modules/tracker/tracker_impl.dart  
  
**Related To:**  
[Event](/developers/mobile-sdk/class-reference/flutter/events#event)  
[CustomEvent](/developers/mobile-sdk/class-reference/flutter/events#customevent)  

**Inherits From:**  
[BaseModule](/developers/mobile-sdk/class-reference/flutter/modules#basemodule)  
  
**Declaration:**

<pre><code class="language-Dart">class TrackerImpl extends BaseModule</code></pre>


**Methods:**

This method sets a custom identifier in the parameters of every event.

<pre><code class="language-Dart">Future&lt;void&gt; setCustomIdentifier(String customIdentifier) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/tracking#set-custom-identifier-for-events)

---

This method sets a custom email in the parameters of every event.

<pre><code class="language-Dart">Future&lt;void&gt; setCustomEmail(String customEmail) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/tracking#set-custom-email-for-events)

---

This method sends an event.

<pre><code class="language-Dart">Future&lt;void&gt; send(Event event) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/tracking#send-event)

---

This method forces sending the events from the queue to the server.

<pre><code class="language-Dart">Future&lt;void&gt; flush() async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/tracking#flush-events-from-tracker)

---
---

### Injector
**Declared In:**   
lib/modules/injector/injector_impl.dart  
  
**Inherits From:**  
[BaseModule](/developers/mobile-sdk/class-reference/flutter/modules#basemodule)  
  
**Declaration:**

<pre><code class="language-Dart">class InjectorImpl extends BaseModule</code></pre>

  
**Listeners:**  
[InjectorListener](/developers/mobile-sdk/listeners-and-delegates/flutter-listeners#injector-listener)  
[InjectorInAppMessageListener](/developers/mobile-sdk/listeners-and-delegates/flutter-listeners#injector-in-app-message-listener)   
  
**Methods:**

Closes an in-app message and sends an `inApp.discard` event.  

Usage examples:
- Closing a top bar or bottom bar when the user taps outside the in-app area.
- Automatically dismissing messages when navigating away from a screen.
- Controlling in-app visibility based on app logic for a smoother user experience.

  <pre><code class="language-dart">void closeInAppMessage(String campaignHash)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#close-in-app-message)

---

This method fetches a walkthrough.

<pre><code class="language-Dart">void getWalkthrough() async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#get-walkthrough) - **REMOVED in version 2.0.0**

---

This method shows a walkthrough when it is loaded.

<pre><code class="language-Dart">void showWalkthrough() async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#show-walkthrough)- **REMOVED in version 2.0.0**

---

This method checks if a walkthrough is loaded.

<pre><code class="language-Dart">Future&lt;bool&gt; isWalkthroughLoaded() async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#check-if-walkthrough-is-loaded)- **REMOVED in version 2.0.0**

---

This method checks if the walkthrough is unique compared to the previous one.

<pre><code class="language-Dart">Future&lt;bool&gt; isLoadedWalkthroughUnique() async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/campaigns#check-if-is-loaded-walkthrough-unique)- **REMOVED in version 2.0.0**

---
---

### Promotions
The module for handling promotions and vouchers from Synerise SDK.
  
**Declared In:**  
lib/modules/promotions/promotions_impl.dart

**Related To:**  
[PromotionResponse](/developers/mobile-sdk/class-reference/flutter/promotions-and-vouchers#promotionresponse)  
[Promotion](/developers/mobile-sdk/class-reference/flutter/promotions-and-vouchers#promotion)  
[AssignVoucherResponse](/developers/mobile-sdk/class-reference/flutter/promotions-and-vouchers#assignvoucherresponse)  
[VoucherCodesResponse](/developers/mobile-sdk/class-reference/flutter/promotions-and-vouchers#vouchercodesresponse)  
  
**Inherits From:**  
[Module](/developers/mobile-sdk/class-reference/flutter/modules#basemodule)  
  
**Declaration:**

<pre><code class="language-Dart">class PromotionsImpl extends BaseModule</code></pre>

  
**Methods:**

This method retrieves all available promotions that are defined for a customer.

<pre><code class="language-Dart">Future&lt;void&gt; getAllPromotions({required void Function(PromotionResponse promotionResponse) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#get-all-promotions-of-a-customer)

---

This method retrieves promotions that match the parameters defined in an API query.

<pre><code class="language-Dart">Future&lt;void&gt; getPromotions(PromotionsApiQuery apiQuery, {required void Function(PromotionResponse promotionResponse) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#get-promotions-with-query-parameters)

---

This method retrieves the promotion with the specified UUID.

<pre><code class="language-Dart">Future&lt;void&gt; getPromotionByUUID(String uuid, {required void Function(Promotion promotion) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#get-promotion-by-uuid)

---

This method retrieves the promotion with the specified code.

<pre><code class="language-Dart">Future&lt;void&gt; getPromotionByCode(String code, {required void Function(Promotion promotion) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#get-promotion-by-code)

---

This method activates the promotion with the specified UUID.

<pre><code class="language-Dart">Future&lt;void&gt; activatePromotionByUUID(String uuid, {required void Function() onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#activate-promotion-by-uuid)

---

This method activates the promotion with the specified code.

<pre><code class="language-Dart">Future&lt;void&gt; activatePromotionByCode(String code, {required void Function() onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#activate-promotion-by-code)

---

This method activates promotions with a code or with UUID in a batch.

<pre><code class="language-Dart">Future&lt;void&gt; activatePromotionsBatch(List&lt;PromotionIdentifier&gt; promotionsToActivate, {required void Function() onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#activate-promotions-in-a-batch)

---

This method deactivates the promotion with the specified UUID.

<pre><code class="language-Dart">Future&lt;void&gt; deactivatePromotionByUUID(String uuid, {required void Function() onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#deactivate-promotion-by-uuid)

---

This method deactivates the promotion with the specified code.

<pre><code class="language-Dart">Future&lt;void&gt; deactivatePromotionByCode(String code, {required void Function() onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#deactivate-promotion-by-code)

---

This method deactivates promotions with a code or with UUID in a batch.

<pre><code class="language-Dart">Future&lt;void&gt; deactivatePromotionsBatch(List&lt;PromotionIdentifier&gt; promotionsToDeactivate, {required void Function() onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#deactivate-promotions-in-a-batch)

---

This method retrieves an assigned voucher code or assigns a voucher from a pool identified by UUID to the profile.

When the voucher is assigned for the first time, a [voucherCode.assigned](/docs/assets/events/event-reference/loyalty#vouchercodeassigned) event is produced.

<pre><code class="language-Dart">Future&lt;void&gt; getOrAssignVoucher(String poolUuid, {required void Function(AssignVoucherResponse assignVoucherResponse) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#get-or-assign-voucher-from-pool)

---

This method assigns a voucher from a pool identified by UUID to the profile.

A [voucherCode.assigned](/docs/assets/events/event-reference/loyalty#vouchercodeassigned) event is produced.

<pre><code class="language-Dart">Future&lt;void&gt; assignVoucherCode(String poolUuid, {required void Function(AssignVoucherResponse response) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#assign-voucher-code-from-pool)

---

This method retrieves voucher codes for a customer.

<pre><code class="language-Dart">Future&lt;void&gt; getAssignedVoucherCodes({required void Function(VoucherCodesResponse voucherCodesResponse) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/promotions#get-voucher-codes-assigned-to-customer)

---
---

### Content
The module for handling content from Synerise backend such as documents, recommendations, and so on.

**Declared In:**  
lib/modules/content/content_impl.dart  
  
**Related To:**  
[DocumentsApiQuery](/developers/mobile-sdk/class-reference/flutter/recommendations-and-documents#documentsapiquery)  
[Document](/developers/mobile-sdk/class-reference/flutter/recommendations-and-documents#document)  
[RecommendationResponse](/developers/mobile-sdk/class-reference/flutter/recommendations-and-documents#recommendationresponse)   
[RecommendationOptions](/developers/mobile-sdk/class-reference/flutter/recommendations-and-documents#recommendationoptions)  
[Recommendation](/developers/mobile-sdk/class-reference/flutter/recommendations-and-documents#recommendation)  
[ScreenView](/developers/mobile-sdk/class-reference/flutter/miscellaneous#screenview)  
[ScreenViewAudienceInfo](/developers/mobile-sdk/class-reference/flutter/miscellaneous#screenviewaudienceinfo)   
[ScreenViewApiQuery](/developers/mobile-sdk/class-reference/flutter/miscellaneous#screenviewapiquery)  
[BrickworksApiQuery](/developers/mobile-sdk/class-reference/flutter/miscellaneous#brickworksapiquery)
  
**Inherits From:**  
[BaseModule](/developers/mobile-sdk/class-reference/flutter/modules#basemodule)  
  
**Declaration:**

<pre><code class="language-Dart">class ContentImpl extends BaseModule</code></pre>

  
**Methods:**

This method generates the document assigned to a slug.

<pre><code class="language-Dart">Future&lt;void&gt; getDocuments(DocumentsApiQuery documentsApiQuery, {required void Function(List&lt;Map&lt;String, Object&gt;&gt; documentsList) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/content#get-document) - **REMOVED in version 2.0.0 **


---

This method generates the document that is defined for the provided slug.

<pre><code class="language-Dart">Future&lt;void&gt; generateDocument(String slug, {required void Function(Document document) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/content#generate-document)

---

This method generates the document that is defined for parameters provided in the query object.

<pre><code class="language-Dart">Future&lt;void&gt; generateDocumentWithApiQuery(DocumentApiQuery apiQuery, {required void Function(Document document) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/content#generate-document-with-query-parameters)

---

This method generates documents that are defined for parameters provided in the query object.

<pre><code class="language-Dart">Future&lt;List&lt;Map&lt;String, Object&gt;&gt;&gt; getDocuments(DocumentsApiQuery documentsApiQueryModel) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/content#get-documents) - **REMOVED in version 2.0.0 **


---

This method generates recommendations that are defined for the options provided. The recommendations are generated by using a document with an insert.  

For instructions, see ["Displaying AI recommendations > With documents and screen views"](/developers/mobile-sdk/displaying-recommendations/documents).

<pre><code class="language-Dart">Future&lt;void&gt; getRecommendations(RecommendationOptions recommendationOptions, {required void Function(RecommendationResponse recommendationResponse) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/content#get-recommendations) - **REMOVED in version 2.0.0 **


---

This method generates recommendations that are defined for the options provided. The recommendations are generated by using a document with an insert.  

For instructions, see ["Displaying AI recommendations > With documents and screen views"](/developers/mobile-sdk/displaying-recommendations/documents).

<pre><code class="language-Dart">Future&lt;void&gt; getRecommendationsV2(RecommendationOptions recommendationOptions, {required void Function(RecommendationResponse recommendationResponse) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/content#get-recommendations-v2)

---

This method generates the customer's highest-priority screen view campaign.

<pre><code class="language-Dart">Future&lt;void&gt; getScreenView({required void Function(ScreenViewResponse screenViewResponse) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/content#get-screen-view) - **REMOVED in version 2.0.0 **


---

This method generates a customer's highest-priority screen view campaign from the feed with the provided feed slug.

<pre><code class="language-Dart">Future&lt;void&gt; generateScreenView(String feedSlug, {required void Function(ScreenView screenView) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/content#generate-screen-view)

---

This method generates customer's highest-priority screen view campaign that is defined for parameters provided in the query object.

<pre><code class="language-Dart">Future&lt;void&gt; generateScreenViewWithApiQuery(ScreenViewApiQuery apiQuery, {required void Function(ScreenView screenView) onSuccess, required void Function(SyneriseError error) onError}) async</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/content#generate-screen-view-with-query-parameters)

---
