
## Promotions
---
### Get all promotions of a customer
---
This method retrieves all available promotions that are defined for a customer.


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `PROMOTIONS_DETAILS_FOR_CLIENT_READ` permission from the **Client** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Related To:**  
[PromotionResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotionresponse)
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1092">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1092-0" data-tab-group="tabgrp-1092" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1092-1" data-tab-group="tabgrp-1092">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1092-0" data-tab-group="tabgrp-1092" data-tab-active="true">

```Swift
static func getPromotions(success: ((PromotionResponse) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1092-1" data-tab-group="tabgrp-1092">

```Objective-C
+ (void)getPromotionsWithSuccess:(nonnull void (^)(SNRPromotionResponse *promotionResponse))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **success** | (([PromotionResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotionresponse)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1093">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1093-0" data-tab-group="tabgrp-1093" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1093-1" data-tab-group="tabgrp-1093">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1093-0" data-tab-group="tabgrp-1093" data-tab-active="true">

```Swift
Promotions.getPromotions(success: { (promotionResponse) in
  // success
    print(promotionResponse.items)
}, failure: { (error) in
  // failure
})
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1093-1" data-tab-group="tabgrp-1093">

```Objective-C
[SNRPromotions getPromotionsWithSuccess:^(SNRPromotionResponse *promotionResponse) {
    / success
} failure:^(SNRApiError *error) {
  // failure
}];
```

</div>
</div>
 

### Get promotions with query parameters
---
This method retrieves promotions that match the parameters defined in an API query.


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `PROMOTIONS_DETAILS_FOR_CLIENT_READ` permission from the **Client** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Related To:**  
[PromotionsApiQuery](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotionsapiquery)  
[PromotionResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotionresponse)  
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1094">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1094-0" data-tab-group="tabgrp-1094" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1094-1" data-tab-group="tabgrp-1094">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1094-0" data-tab-group="tabgrp-1094" data-tab-active="true">

```Swift
static func getPromotions(apiQuery: PromotionsApiQuery, success: ((PromotionResponse) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1094-1" data-tab-group="tabgrp-1094">

```Objective-C
+ (void)getPromotionsWithApiQuery:(nonnull SNRPromotionsApiQuery *)apiQuery success:(nonnull void (^)(SNRPromotionResponse *promotionResponse))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **apiQuery** | [PromotionsApiQuery](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotionsapiquery) | no | - | Object that stores all query parameters |
| **success** | (([PromotionResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotionresponse)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |

**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1095">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1095-0" data-tab-group="tabgrp-1095" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1095-1" data-tab-group="tabgrp-1095">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1095-0" data-tab-group="tabgrp-1095" data-tab-active="true">

```Swift
let apiQuery = PromotionsApiQuery()
apiQuery.types = [SNR_PROMOTION_TYPE_GENERAL]
apiQuery.statuses = [SNR_PROMOTION_STATUS_ACTIVE, SNR_PROMOTION_STATUS_ASSIGNED]
apiQuery.types = [SNR_PROMOTION_TYPE_GENERAL]
apiQuery.sorting = [
    [SNR_PROMOTION_SORTING_KEY_EXPIRE_AT: SNR_API_QUERY_SORTING_ASC],
    [SNR_PROMOTION_SORTING_KEY_TYPE: SNR_API_QUERY_SORTING_DESC]
]
apiQuery.limit = 50
apiQuery.page = 1
apiQuery.includeMeta = true
Promotions.getPromotions(apiQuery: apiQuery, success: { (promotionResponse) in
  // success
}, failure: { (error) in
  // failure
})
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1095-1" data-tab-group="tabgrp-1095">

```Objective-C
SNRPromotionsApiQuery *apiQuery = [SNRPromotionsApiQuery new];
apiQuery.types = @[SNR_PROMOTION_TYPE_GENERAL];
apiQuery.statuses = @[SNR_PROMOTION_STATUS_ACTIVE, SNR_PROMOTION_STATUS_ASSIGNED];
apiQuery.types = @[SNR_PROMOTION_TYPE_GENERAL];
apiQuery.sorting = @[
    @{SNR_PROMOTION_SORTING_KEY_EXPIRE_AT: SNR_API_QUERY_SORTING_ASC},
    @{SNR_PROMOTION_SORTING_KEY_TYPE: SNR_API_QUERY_SORTING_DESC}
];
apiQuery.limit = 50;
apiQuery.page = 1;
apiQuery.includeMeta = YES;
[SNRPromotions getPromotionsWithApiQuery:apiQuery success:^(SNRPromotionResponse *promotionResponse) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}];
```

</div>
</div>
 

### Get promotion by UUID
---
This method retrieves the promotion with the specified UUID.


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `PROMOTIONS_DETAILS_FOR_CLIENT_READ` permission from the **Client** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Related To:**  
[Promotion](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotion)
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1096">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1096-0" data-tab-group="tabgrp-1096" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1096-1" data-tab-group="tabgrp-1096">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1096-0" data-tab-group="tabgrp-1096" data-tab-active="true">

```Swift
static func getPromotion(uuid: String, success: ((Promotion) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1096-1" data-tab-group="tabgrp-1096">

```Objective-C
+ (void)getPromotionByUuid:(nonnull NSString *)uuid success:(nonnull void (^)(SNRPromotion *promotion))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **uuid** | String | yes | - | UUID of the promotion |
| **success** | (([Promotion](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotion)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |

**Return Value:**  

No value is returned.

  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1097">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1097-0" data-tab-group="tabgrp-1097" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1097-1" data-tab-group="tabgrp-1097">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1097-0" data-tab-group="tabgrp-1097" data-tab-active="true">

```Swift
let UUID: String = "UUID"
Promotions.getPromotion(uuid: UUID, success: { (promotion) in
  // success
    print(promotion.code)
    print(promotion.discountValue)
}, failure: { (error) in
  // failure
})
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1097-1" data-tab-group="tabgrp-1097">

```Objective-C
NSString *UUID = @"UUID";
[SNRPromotions getPromotionByUuid:UUID success:^(SNRPromotion *promotion) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}]
```

</div>
</div>
 

### Get promotion by code
---
This method retrieves the promotion with the specified code.


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `PROMOTIONS_DETAILS_FOR_CLIENT_READ` permission from the **Client** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Related To:**  
[Promotion](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotion)  
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1098">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1098-0" data-tab-group="tabgrp-1098" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1098-1" data-tab-group="tabgrp-1098">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1098-0" data-tab-group="tabgrp-1098" data-tab-active="true">

```Swift
static func getPromotion(code: String, success: ((PromotionResponse) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1098-1" data-tab-group="tabgrp-1098">

```Objective-C
+ (void)getPromotionByCode:(nonnull NSString *)code success:(nonnull void (^)(SNRPromotion *promotion))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **code** | String | true | - | Code of the promotion |
| **success** | (([Promotion](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotion)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1099">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1099-0" data-tab-group="tabgrp-1099" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1099-1" data-tab-group="tabgrp-1099">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1099-0" data-tab-group="tabgrp-1099" data-tab-active="true">

```Swift
let code: String = "CODE"
Promotions.getPromotion(code: code, success: { (promotion) in
  // success
    print(promotion.code)
    print(promotion.discountValue)
}, failure: { (error) in
  // failure
})
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1099-1" data-tab-group="tabgrp-1099">

```Objective-C
NSString *code = @"CODE";
[SNRPromotions getPromotionByCode:code success:^(SNRPromotion *promotion) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}]
```

</div>
</div>
 

### Activate promotion by UUID
---
This method activates the promotion with the specified UUID.


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `PROMOTIONS_ACTIVATE_PROMOTIONS_UPDATE` permission from the **Promotions** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1100">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1100-0" data-tab-group="tabgrp-1100" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1100-1" data-tab-group="tabgrp-1100">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1100-0" data-tab-group="tabgrp-1100" data-tab-active="true">

```Swift
static func activatePromotion(uuid: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1100-1" data-tab-group="tabgrp-1100">

```Objective-C
+ (void)activatePromotionByUuid:(NSString *)uuid success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **uuid** | String | yes | - | UUID of the promotion |
| **success** | ((Bool) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1101">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1101-0" data-tab-group="tabgrp-1101" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1101-1" data-tab-group="tabgrp-1101">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1101-0" data-tab-group="tabgrp-1101" data-tab-active="true">

```Swift
let UUID: String = "UUID"
Promotions.activatePromotion(uuid: UUID, success: { (isSuccess) in
  // success
}, failure: { (error) in
  // failure
})
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1101-1" data-tab-group="tabgrp-1101">

```Objective-C
NSString *UUID = @"UUID";
[SNRPromotions activatePromotionByUuid:UUID success:^(BOOL isSuccess) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}]
```

</div>
</div>
 

### Activate promotion by code
---
This method activates the promotion with the specified code.


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `PROMOTIONS_ACTIVATE_PROMOTIONS_UPDATE` permission from the **Promotions** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1102">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1102-0" data-tab-group="tabgrp-1102" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1102-1" data-tab-group="tabgrp-1102">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1102-0" data-tab-group="tabgrp-1102" data-tab-active="true">

```Swift
static func activatePromotion(code: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1102-1" data-tab-group="tabgrp-1102">

```Objective-C
+ (void)activatePromotionByCode:(NSString *)code success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **code** | String | yes | - | Code of the promotion |
| **success** | ((Bool) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |

**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1103">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1103-0" data-tab-group="tabgrp-1103" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1103-1" data-tab-group="tabgrp-1103">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1103-0" data-tab-group="tabgrp-1103" data-tab-active="true">

```Swift
let code: String = "CODE"
Promotions.activatePromotion(code: code, success: { (isSuccess) in
  // success
}, failure: { (error) in
  // failure
})
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1103-1" data-tab-group="tabgrp-1103">

```Objective-C
NSString *code = @"CODE";
[SNRPromotions activatePromotionByCode:code success:^(BOOL isSuccess) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}]
```

</div>
</div>
 

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


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `PROMOTIONS_ACTIVATE_PROMOTIONS_UPDATE` permission from the **Promotions** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Related To:**  
[PromotionIdentifier](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotionidentifier)
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1104">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1104-0" data-tab-group="tabgrp-1104" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1104-1" data-tab-group="tabgrp-1104">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1104-0" data-tab-group="tabgrp-1104" data-tab-active="true">

```Swift
static func activatePromotions(identifiers: [PromotionIdentifier], success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1104-1" data-tab-group="tabgrp-1104">

```Objective-C
+ (void)activatePromotionsWithIdentifiers:(nonnull NSArray<SNRPromotionIdentifier *> *)identifiers success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **identifiers** | [[PromotionIdentifier]](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers/#promotionidentifier) | yes | - | List of identifiers of the promotions that you want to activate |
| **success** | ((Bool) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1105">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1105-0" data-tab-group="tabgrp-1105" data-tab-active="true">Swift</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1105-0" data-tab-group="tabgrp-1105" data-tab-active="true">

```Swift
let UUIDs = "UUID_1, UUID2, UUID_3"
let UUIDsArray = UUIDs.components(separatedBy: ",").filter { !$0.isEmpty }

var promotionIdentifiers: [PromotionIdentifier] = [PromotionIdentifier]()

UUIDsArray.forEach { uuid in
    let promotionIdentifier = PromotionIdentifier(uuid: uuid)
    promotionIdentifiers.append(promotionIdentifier)
}

Promotions.activatePromotions(identifiers: promotionIdentifiers, success: { (success) in
  // success
}, failure: { (error) in
  // failure
})
```

</div>
</div>
 

### Deactivate promotion by UUID
---
This method deactivates the promotion with the specified UUID.


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `PROMOTIONS_DEACTIVATE_PROMOTIONS_UPDATE` permission from the **Promotions** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1106">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1106-0" data-tab-group="tabgrp-1106" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1106-1" data-tab-group="tabgrp-1106">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1106-0" data-tab-group="tabgrp-1106" data-tab-active="true">

```Swift
static func deactivatePromotion(uuid: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1106-1" data-tab-group="tabgrp-1106">

```Objective-C
+ (void)deactivatePromotionByUuid:(nonnull NSString *)uuid success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **uuid** | String | yes | - | UUID of the promotion |
| **success** | ((Bool) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1107">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1107-0" data-tab-group="tabgrp-1107" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1107-1" data-tab-group="tabgrp-1107">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1107-0" data-tab-group="tabgrp-1107" data-tab-active="true">

```Swift
let UUID: String = "UUID"
Promotions.deactivatePromotion(uuid: UUID, success: { (isSuccess) in
  // success
}, failure: { (error) in
  // failure
})
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1107-1" data-tab-group="tabgrp-1107">

```Objective-C
NSString *UUID = @"UUID";
[SNRPromotions deactivatePromotionByUuid:UUID success:^(BOOL isSuccess) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}]
```

</div>
</div>
 

### Deactivate promotion by code
---
This method deactivates the promotion with the specified code.


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `PROMOTIONS_DEACTIVATE_PROMOTIONS_UPDATE` permission from the **Promotions** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1108">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1108-0" data-tab-group="tabgrp-1108" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1108-1" data-tab-group="tabgrp-1108">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1108-0" data-tab-group="tabgrp-1108" data-tab-active="true">

```Swift
static func deactivatePromotion(code: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1108-1" data-tab-group="tabgrp-1108">

```Objective-C
+ (void)deactivatePromotionByCode:(nonnull NSString *)code success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **code** | String | yes | - | Code of the promotion |
| **success** | ((Bool) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1109">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1109-0" data-tab-group="tabgrp-1109" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1109-1" data-tab-group="tabgrp-1109">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1109-0" data-tab-group="tabgrp-1109" data-tab-active="true">

```Swift
let code: String = "CODE"
Promotions.deactivatePromotion(code: code, success: { (isSuccess) in
  // success
}, failure: { (error) in
  // failure
})
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1109-1" data-tab-group="tabgrp-1109">

```Objective-C
NSString *code = @"CODE";
[SNRPromotions deactivatePromotionByCode:code success:^(BOOL isSuccess) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}]
```

</div>
</div>
 

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


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `PROMOTIONS_DEACTIVATE_PROMOTIONS_UPDATE` permission from the **Promotions** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Related To:**  
[PromotionIdentifier](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotionidentifier)
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1110">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1110-0" data-tab-group="tabgrp-1110" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1110-1" data-tab-group="tabgrp-1110">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1110-0" data-tab-group="tabgrp-1110" data-tab-active="true">

```Swift
static func deactivatePromotions(identifiers: [PromotionIdentifier], success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1110-1" data-tab-group="tabgrp-1110">

```Objective-C
+ (void)deactivatePromotionsWithIdentifiers:(nonnull NSArray<SNRPromotionIdentifier *> *)identifiers success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **identifiers** | [[PromotionIdentifier]](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers/#promotionidentifier) | yes | - | List of identifiers of the promotions that you want to de-activate |
| **success** | ((Bool) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1111">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1111-0" data-tab-group="tabgrp-1111" data-tab-active="true">Swift</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1111-0" data-tab-group="tabgrp-1111" data-tab-active="true">

```Swift
let UUIDs = "UUID_1, UUID2, UUID_3"
let UUIDsArray = UUIDs.components(separatedBy: ",").filter { !$0.isEmpty }

var promotionIdentifiers: [PromotionIdentifier] = [PromotionIdentifier]()

UUIDsArray.forEach { uuid in
    let promotionIdentifier = PromotionIdentifier(uuid: uuid)
    promotionIdentifiers.append(promotionIdentifier)
}

Promotions.deactivatePromotions(identifiers: promotionIdentifiers, success: { (success) in
  // success
}, failure: { (error) in
  // failure
})
```

</div>
</div>
 

## Vouchers
---
### Get or assign voucher from pool
---
This method retrieves an assigned voucher code or assigns a voucher from a pool identified by UUID to the customer.
  
Once a voucher is assigned using this method, **the same** voucher is returned for the profile every time the method is called.

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


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `VOUCHERS_ITEM_ASSIGN_CREATE` and `VOUCHERS_ITEM_ASSIGN_READ` permission from the **Assign** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Related To:**  
[AssignVoucherResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#assignvoucherresponse)
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1112">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1112-0" data-tab-group="tabgrp-1112" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1112-1" data-tab-group="tabgrp-1112">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1112-0" data-tab-group="tabgrp-1112" data-tab-active="true">

```Swift
static func getOrAssignVoucher(poolUUID: String, success: ((AssignVoucherResponse) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1112-1" data-tab-group="tabgrp-1112">

```Objective-C
+ (void)getOrAssignVoucherWithPoolUUID:(nonnull NSString *)poolUUID success:(nonnull void (^)(SNRAssignVoucherResponse *assignVoucherResponse))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **poolUUID** | String | no | - | Unique identifier of a code pool |
| **success** | (([AssignVoucherResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#assignvoucherresponse)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1113">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1113-0" data-tab-group="tabgrp-1113" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1113-1" data-tab-group="tabgrp-1113">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1113-0" data-tab-group="tabgrp-1113" data-tab-active="true">

```Swift
let poolUUID: String = "POOL_UUID"
Promotions.getOrAssignVoucher(poolUUID: poolUUID, success: { (assignVoucherResponse) in
  // success
failure: { (error) in
  // failure
})
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1113-1" data-tab-group="tabgrp-1113">

```Objective-C
NSString *poolUUID = @"POOL_UUID";
[SNRPromotions getOrAssignVoucherWithPoolUUID:poolUUID success:^(SNRAssignVoucherResponse *assignVoucherResponse) {
  // success
} failure:^(NSError * _Nonnull error) {
  // failure
}];
```

</div>
</div>
 

### Assign voucher code from pool
---
This method assigns a voucher from a pool identified by UUID to the profile.
  
Every request returns a **different code** until the pool is empty.

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

<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

Returns the HTTP 416 status code when the pool is empty.

</div></div></div>



<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `VOUCHERS_ITEM_ASSIGN_CREATE` and `VOUCHERS_ITEM_ASSIGN_READ` permission from the **Assign** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Related To:**  
[AssignVoucherResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#assignvoucherresponse)
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1114">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1114-0" data-tab-group="tabgrp-1114" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1114-1" data-tab-group="tabgrp-1114">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1114-0" data-tab-group="tabgrp-1114" data-tab-active="true">

```Swift
static func assignVoucherCode(poolUUID: String, success: ((AssignVoucherResponse) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1114-1" data-tab-group="tabgrp-1114">

```Objective-C
+ (void)assignVoucherCodeWithPoolUUID:(nonnull NSString *)poolUUID success:(nonnull void (^)(SNRAssignVoucherResponse *assignVoucherResponse))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **poolUUID** | String | yes | - | Unique identifier of a code pool |
| **success** | (([AssignVoucherResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#assignvoucherresponse)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1115">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1115-0" data-tab-group="tabgrp-1115" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1115-1" data-tab-group="tabgrp-1115">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1115-0" data-tab-group="tabgrp-1115" data-tab-active="true">

```Swift
let poolUUID: String = "POOL_UUID"
Promotions.assignVoucherCode(poolUUID: poolUUID, success: { (assignVoucherResponse) in
  // success
}, failure: { (error) in
  // failure
})
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1115-1" data-tab-group="tabgrp-1115">

```Objective-C
NSString *poolUUID = @"POOL_UUID";
[SNRPromotions assignVoucherCodeWithPoolUUID:poolUUID success:^(SNRAssignVoucherResponse *assignVoucherResponse) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}];
```

</div>
</div>
 

### Get voucher codes assigned to customer
---
This method retrieves voucher codes for a customer.


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `VOUCHERS_ITEM_ASSIGN_READ` permission from the **Assign** group.

</div></div></div>

**Declared In:**  
Headers/SNRPromotions.h
  
**Related To:**  
[VoucherCodesResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#vouchercodesresponse)
  
**Class:**  
[Promotions](/developers/mobile-sdk/class-reference/ios/modules#promotions)
   
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1116">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1116-0" data-tab-group="tabgrp-1116" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1116-1" data-tab-group="tabgrp-1116">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1116-0" data-tab-group="tabgrp-1116" data-tab-active="true">

```Swift
static func getAssignedVoucherCodes(success: ((VoucherCodesResponse) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1116-1" data-tab-group="tabgrp-1116">

```Objective-C
+ (void)getAssignedVoucherCodesWithSuccess:(nonnull void (^)(SNRVoucherCodesResponse *voucherCodesResponse))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **success** | ((VoucherCodesResponse) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([ApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1117">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1117-0" data-tab-group="tabgrp-1117" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1117-1" data-tab-group="tabgrp-1117">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1117-0" data-tab-group="tabgrp-1117" data-tab-active="true">

```Swift
Promotions.getAssignedVoucherCodes(success: { (voucherCodesResponse) in
  // success
}, failure: { (error) in
  // failure
})
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1117-1" data-tab-group="tabgrp-1117">

```Objective-C
[SNRPromotions getAssignedVoucherCodesWithSuccess:^(SNRVoucherCodesResponse *voucherCodesResponse) {
  // success
} failure:^(NSError * _Nonnull error) {
  // failure
}];
```

</div>
</div>
 