> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/integration/pt-br/feature-integrations/pagination.md).

# Paginação

<figure><img src="/files/k7kjtVQEHxHbwh5FjkwX" alt="" width="100%"><figcaption></figcaption></figure>

Melhore a experiência do seu cliente ao navegar por várias páginas. Ao gerar anúncios de produtos, você receberá um `memoryToken` que pode ser enviado em solicitações subsequentes para excluir anúncios veiculados anteriormente.

{% hint style="warning" %}
Apenas Anúncios de Produtos!

Este recurso é atualmente suportado apenas para Epsilon Retail Mediaanúncios de produtos do.
{% endhint %}

## Como implementar a paginação no seu site?

Ao gerar anúncios de produtos, na resposta você receberá um `memoryToken`.

```http
{
    "ads": [
        {
            "id": "display_3rGiryPskhQusmsf43nghbQwnqo3NzMzNjU3",
            "gtin": "7733657",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400917769Z",
            "position": 1
        }
    ],
    "banners": [],
    "products": [],
    "memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0="
}
```

Quando um cliente estiver navegando para a próxima página, você deve enviar este token na sua próxima solicitação de anúncio.

```http
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9",
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0=",
    "options": {
                         "filterMode": "AndOr"
                             },
    "maxNumberOfAds": 3
}

```

Usando este token, Epsilon Retail Media excluirá quaisquer anúncios veiculados anteriormente ao cliente se o **sessionId** forem idênticos aos da solicitação do token.

{% hint style="warning" %}
Integração Padrão!

Este recurso é atualmente suportado apenas para Epsilon Retail Mediaanúncios de produtos do.
{% endhint %}

## Como funciona?

Quando Epsilon Retail Media recebe um `memoryToken` na solicitação de anúncio, quaisquer anúncios veiculados anteriormente para o **sessionId** serão excluídos da resposta de anúncio. Isso garante uma variedade maior de anúncios veiculados de volta ao seu cliente em uma jornada de várias páginas.

Quando esse token não existir na solicitação, a geração de anúncios será feita de acordo com o processo atual, sem exclusões aplicadas. Um token sempre será fornecido após a geração do anúncio para que o varejista opte por utilizar.

O token de memória contém informações codificadas que permitem Epsilon Retail Media determinar os anúncios que foram veiculados anteriormente (seja em uma única solicitação ou ao longo de um período de várias solicitações encadeadas).

No caso de um token irrelevante ser enviado para Epsilon Retail Media (como um contexto diferente), os anúncios serão retornados como se nenhum token tivesse sido fornecido na solicitação de anúncio.

{% hint style="warning" %}
️ Você solicita mais anúncios do que os veiculados no seu site?

Se você for um varejista que solicita mais anúncios de Epsilon Retail Media do que o veiculado para o seu cliente, você pode não receber muitos anúncios nas páginas subsequentes. Se você solicitar 15 anúncios e veicular apenas 4 para seu cliente, ao receber o `memoryToken`, Epsilon Retail Media excluirá todos os 15 a 20 anúncios veiculados anteriormente para você na resposta de anúncio subsequente.
{% endhint %}

### Exemplo de fluxo de solicitação

<figure><img src="/files/tomy2cMcv4ltqn57DTJX" alt="" width="100%"><figcaption></figcaption></figure>

## Perguntas frequentes

**Posso usar este token em várias pesquisas de clientes para excluir produtos na jornada maior do cliente?**

Não, se Epsilon Retail Media receber uma solicitação de anúncio que não corresponda à solicitação de anúncio do token, ela será ignorada e os anúncios serão gerados como se não houvesse nenhum token fornecido.

**E se eu enviar um memoryToken e ele estiver malformatado?**

Epsilon Retail Media ignorará o token e processará a solicitação como se fosse uma solicitação normal.

**Para quantas páginas posso paginar?**

Por padrão, são 5 páginas; este é o melhor equilíbrio entre desempenho e saturação que o Epsilon Retail Media viu em vários clientes.

A partir do Epsilon Retail Medialançamento 39.0 do, isso pode ser configurado por meio do seu Gerente de Contas Técnico.

**O que acontece quando você fica sem anúncios para veicular, como nas páginas 5 a 10 na configuração padrão?**

O memoryToken está configurado no lado do Epsilon Retail Mediapara armazenar anúncios a partir do número de páginas na configuração. Por exemplo, se a configuração for o padrão de 5 páginas, Epsilon Retail Media começará a veicular anúncios novamente a partir da página 7.

Solicitação de paginação 6 (página 6): o memoryToken contém informações sobre os anúncios das 5 páginas anteriores; portanto, nenhum anúncio das 5 páginas anteriores será veiculado.

Solicitação de paginação 7 (página 7): os anúncios da página 1 estão qualificados para serem veiculados.

**O que acontece se eu ficar sem anúncios antes da página 5 na configuração padrão?**

Se, por exemplo, na página 3 você ficar sem anúncios, começaremos a veicular anúncios na página 7, pois armazenamos o número total de páginas na configuração como os anúncios veiculados anteriormente que não devem ser veiculados novamente.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.citrusad.com/retail-media-interface/integration/pt-br/feature-integrations/pagination.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
