Pagination avec le Client SDK de Vonage

Product deprecation notice

Effective April 30th, 2026, Vonage In-App Messaging will no longer be available. Access for new users will be closed, and the service will be discontinued for all existing users.

If you have any questions regarding this product’s discontinuation, please contact your account manager or our support team.

Lorsque vous obtenez une liste d'objets avec le Client SDK de Vonage, la réponse sera paginée. Cela signifie qu'au lieu de renvoyer tous les objets en même temps, ce qui augmenterait la latence et la taille de la réponse, vous obtiendrez une partie de la réponse ou un page. Par exemple, en appelant getConversations renverra un ConversationsPage.

Les fonctions qui renvoient une page ont pour paramètres la taille de la page et un curseur. En fournissant un curseur, vous pouvez parcourir les pages jusqu'à ce que vous obteniez tous les résultats. Voici un exemple d'obtention de conversations.

let conversations, nextCursor, previousCursor
const params = {
    order: "asc", // "desc"
    pageSize: 5,
    cursor: null,
    includeCustomData: true,
    orderBy: null // "CUSTOM_SORT_KEY"     
};

client.getConversations(params)
    .then(conversationsPage => {
        ({conversations, nextCursor, previousCursor} = conversationsPage);
        console.log("Array of Conversations: ", conversations);
        console.log("Cursor for next set of results, if any. Could be null: ", nextCursor);
        console.log("Cursor for previous set of results, if any. Could be null: ", previousCursor);
    }).catch(error => {
        console.error("Error getting Conversations: ", error);
    });

Sur le site ConversationsPage il existe un nextCursor et previousCursor paramètre. Pour obtenir la page suivante de Conversations, appelez getConversations à nouveau, mais cette fois-ci en fournissant la valeur de l'élément ConversationsPage.nextCursor pour le curseur :

const params = {
    order: "asc", // "desc"
    pageSize: 5,
    cursor: nextCursor, // previousCursor
    includeCustomData: true,
    orderBy: null // "CUSTOM_SORT_KEY"     
};

client.getConversations(params)
    ...

Lorsque vous atteignez la fin des résultats, nextCursor sera nil/null. Inversement, lorsque vous atteignez le début des résultats previousCursor sera nil/null.