
## Recommendations
---

### RecommendationResponse
**Declared In:**  
lib/classes/content/RecommendationResponse.js    
  
**Related To:**  
[Recommendation](/developers/mobile-sdk/class-reference/react-native/recommendations-and-documents#recommendation)   
  
**Inherits From:**  
[BaseModel](/developers/mobile-sdk/class-reference/react-native/miscellaneous#basemodel)  
  
**Declaration:**

<pre><code class="language-TypeScript">class RecommendationResponse extends BaseModel</code></pre>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **name** | string | no | Name of the recommendation campaign |
| **campaignHash** | string | no | Hash (UUID) of the recommendation campaign |
| **campaignID** | string | no | ID of the recommendation campaign |
| **items** | [Array<Recommendation>](/developers/mobile-sdk/class-reference/react-native/recommendations-and-documents#recommendation) | no | List of items in the recommendation |

---
---

### Recommendation
Model representating a recommendation item data.
  

<div class="admonition admonition-warning"><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="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This is a read-only class and it is not meant to be instantiated directly.

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

  
**Declared In:**  
lib/classes/Content/Recommendation.js  
  
**Related To:**  
[RecommendationResponse](/developers/mobile-sdk/class-reference/react-native/recommendations-and-documents#recommendationresponse)  
  
**Inherits From:**  
[BaseModel](/developers/mobile-sdk/class-reference/react-native/miscellaneous#basemodel)  

**Declaration:**

<pre><code class="language-TypeScript">class Recommendation extends BaseModel</code></pre>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **itemID** | string | no | Product's GTIN |
| **attributes** | Record<string, any> | no | Product's recommendation attributes |

---
---

### RecommendationOptions
**Declared In:**  
lib/classes/content/RecommendationOptions.js  
  
**Declaration:**

<pre><code class="language-TypeScript">class RecommendationOptions</code></pre>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **slug** | string | no | Unique identifier of a document which includes a recommendation insert |
| **productID** | string | no | Item identifier of the context item |

---
---

### RecommendationFiltersJoinerRule
**Declared In:**  
lib/classes/models/Content/RecommendationOptions.js  
  
**Declaration:**

<pre><code class="language-TypeScript">enum RecommendationFiltersJoinerRule {
  And = 'AND',
  Or = 'OR',
  Replace = 'REPLACE'
}</code></pre>


---
---

## Documents
---

### DocumentApiQuery
The object to set parameters easily for fetching screen views from API.
  
**Declared In:**  
lib/classes/api_queries/DocumentApiQuery.js  
  
**Declaration:**

<pre><code class="language-TypeScript">class DocumentApiQuery</code></pre>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **slug** | string | no | Unique identifier of a document |

**Properties used only if the document includes a recommendation insert:**  
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **productId** | string | yes | Item identifier of the context item |
| **itemsIds** | Array<string> | yes | List of item identifiers, used for multiple item context |
| **itemsExcluded** | Array<string> | yes | Items that will be excluded from the generated recommendations |
| **additionalFilters** | string | yes | Additional filters. These are merged with the campaign's own filters according to the logic in **filtersJoiner** |
| **filtersJoiner** | [RecommendationFiltersJoinerRule](/developers/mobile-sdk/class-reference/react-native/recommendations-and-documents#recommendationfiltersjoinerrule) | no | Defines the logic of merging additionalFilters with the campaign's existing filters |
| **additionalElasticFilters** | string | yes | Additional elastic filters. These are merged with the campaign's own elastic filters according to the logic in **elasticFiltersJoiner** |
| **elasticFiltersJoiner** | [RecommendationFiltersJoinerRule](/developers/mobile-sdk/class-reference/react-native/recommendations-and-documents#recommendationfiltersjoinerrule) | no | Defines the logic of merging **additionalElasticFilters** with the campaign's existing elastic filters |
| **displayAttribute** | Array<string> | yes | An array of item attributes which value will be returned in a recommendation response |
| **includeContextItems** | boolean | yes | When true, the recommendation response will include context item metadata |
  
**Initializers:**

<pre><code class="language-TypeScript">constructor()</code></pre>


---
---

### Document
Model representing a highest-priority customer screen view campaign.
  

<div class="admonition admonition-warning"><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="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This is a read-only class and it is not meant to be instantiated directly.

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

  
**Declared In:**  
lib/classes/content/Document.js

**Inherits From:**  
[BaseModel](/developers/mobile-sdk/class-reference/react-native/miscellaneous#basemodel)  
  
**Declaration:**

<pre><code class="language-TypeScript">class Document extends BaseModel</code></pre>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **uuid** | string | no | Document's identifier (UUID) |
| **slug** | string | no | Document's slug |
| **schema** | string | no | Document's schema type |
| **content** | object | no | Document's content |

---
---

## Removed symbols
---

### <del>DocumentsApiQuery</del>{#documentsapiquery}
The object to set parameters easily for fetching documents from API.
  
| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:green">Introduced in:</span> | 3.5.10 | 3.5.1 | 0.9.10 | 0.2.0 |
| <span style="color:orange">Deprecated in:</span> | 4.13.0 | 5.5.0 | 0.17.0 | n/a |
| <span style="color:red">Removed in:</span> | 5.0.0 | 6.0.0 | 1.0.0 | 2.0.0 |
The object to set parameters easily for fetching documents from API.
  
**Declared In:**  
lib/classes/api_queries/DocumentsApiQuery.js  
  
**Related To:**  
[DocumentsApiQueryType](/developers/mobile-sdk/class-reference/react-native/recommendations-and-documents#documentsapiquerytype)  
  
**Declaration:**

<pre><code class="language-TypeScript">class DocumentsApiQuery</code></pre>

  
**Properties:**
| Property | Type | Optional | Default | Description |
| --- | --- | --- | --- | --- |
| **type** | [DocumentsApiQueryType](/developers/mobile-sdk/class-reference/react-native/recommendations-and-documents#documentsapiquerytype) | no  | .bySchema | Query type |
| **typeValue** | string | no  | nil | Value for query type |
| **version** | string | yes | nil | Specifies the document version |
  
**Initializers:**

<pre><code class="language-TypeScript">constructor(type: DocumentsApiQueryType, typeValue: string, version: string)</code></pre>


---
---

### <del>DocumentsApiQueryType</del> {#documentsapiquerytype}
| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:green">Introduced in:</span> | 3.5.10 | 3.5.1 | 0.9.10 | 0.2.0 |
| <span style="color:orange">Deprecated in:</span> | 4.13.0 | 5.5.0 | 0.17.0 | n/a |
| <span style="color:red">Removed in:</span> | 5.0.0 | 6.0.0 | 1.0.0 | 2.0.0 |
**Declared In:**  
lib/classes/api_queries/DocumentsApiQueryType.js  

**Declaration:**  

<pre><code class="language-TypeScript">enum DocumentsApiQueryType {
    SCHEMA = 'by-schema',
}</code></pre>
