Data dell’annuncio | Implementazione (scaglionata) |
22 maggio 2023 |
20 maggio 2024 - Regioni non UE - COMPLETATO 9 settembre 2024 - Regione UE - COMPLETATO |
Attualmente Zendesk offre sia l’impaginazione basata su offset (OBP) che l’impaginazione basata su cursore (CBP) per la maggior parte degli endpoint API. L’impaginazione basata su cursore offre molti vantaggi rispetto all’impaginazione basata su offset e nel prossimo futuro sarà il metodo di impaginazione principale offerto da Zendesk. Nel tentativo di fornire un’esperienza migliore e più rapida per i nostri clienti, stiamo adottando misure per incoraggiare il passaggio all’impaginazione basata su cursore, a partire dall’introduzione di limiti più rigorosi per le richieste di impaginazione basata su offset con un offset elevato.
Questo annuncio risponde alle seguenti domande:
Cosa cambia?
A partire dal 20 maggio 2024, le richieste di impaginazione basata su offset superiori ai primi 10.000 record (100 pagine) genereranno un messaggio di errore: “400 Richiesta non valida”. Per richiedere dataset superiori a 10.000 record, i clienti dovranno passare all’impaginazione basata su cursore.
Le richieste di impaginazione basata su offset per meno di 10.000 record rimarranno inalterate, così come le richieste effettuate usando il modello di impaginazione basata su cursore.
Perché Zendesk sta apportando questa modifica?
Stiamo apportando questa modifica in linea con il nostro precedente annuncio che raccomandava l’adozione dell’impaginazione basata su cursore e incoraggiava i clienti a effettuare il passaggio appena possibile.
L’impaginazione basata su cursore è più rapida ed efficiente per i nostri clienti. Inoltre, riduce il carico dell’infrastruttura Zendesk e aumenta la stabilità e l’affidabilità. Come primo passaggio, stiamo limitando le funzionalità di impaginazione basate su offset a un livello relativamente elevato, in modo che la transizione possa avvenire con un’interruzione minima dell’utilizzo attuale dell’API.
Che cosa devo fare?
Zendesk incoraggia vivamente i clienti a passare all’impaginazione basata su cursore prima del 20 maggio 2024. Se non sai quali integrazioni o applicazioni potrebbero superare il limite, ti suggeriamo di collaborare con il team responsabile della gestione delle integrazioni e delle app Zendesk per analizzare e determinare l’impatto di questa modifica per il tuo ambiente.
Zendesk continuerà a offrire l’impaginazione offset, ma nel prossimo futuro limiterà in modo significativo la profondità delle pagine per incoraggiare l’adozione dell’impaginazione con cursore ad alte prestazioni e migliorare i tempi di risposta alle tue richieste.
In caso di domande o se hai bisogno di ulteriore assistenza, non esitare a contattarci e saremo lieti di aiutarti. Puoi contattarci tramite il Web Widget.
Stiamo garantendo una transizione senza soluzione di continuità per tutti gli utenti scaglionando l’implementazione, con il rilascio delle modifiche agli account nelle aree geografiche dell’UE tra tre mesi, il 9 settembre 2024.
Aggiornamenti disponibili per le librerie client/SDK
Zendesk ha aggiornato il client Ruby ufficiale e ha collaborato con gli sviluppatori di SDK della community per fornire assistenza CBP. Se stai usando una di queste librerie, controlla, prova e aggiorna alla versione più recente.
Libreria | Istruzioni utili |
Ruby |
>=3.0.4 supporta l’impaginazione del cursore Fai riferimento a Uso generale nel wiki. |
Python |
>=v2.0.34 supporta l’impaginazione del cursore pip install zenpy --upgrade |
NodeJS |
>=v3.0.2 supporta l’impaginazione del cursore. Fai riferimento al tag di rilascio qui. npm update node-zendesk |
Java |
>=v0.24.1 supporta l’impaginazione del cursore. Fai riferimento al tag di rilascio qui. Uso di Maven |
PHP |
>=3.0.01 supporta l’impaginazione del cursore composer require zendesk/zendesk_api_client_php:^3.0.1 Consulta la guida all’aumento di livello. |
Connettore MS BI |
Zendesk Data Connector, nuovo e migliorato, offre la capacità di recuperare record con più di 1000 righe e impiega il modello cursore per un recupero più rapido dei dati. Per informazioni su come usare il connettore più recente, consulta la guida alla migrazione . |
Go Lang |
>=v0.18.0 Consulta la guida all’aumento di livello |
C# |
>=7.0.7 supporta l’impaginazione del cursore Consulta la sezione LEGGIMI su come usare l’impaginazione basata sul cursore |
Endpoint con funzionalità CBP
Prodotto | Endpoint |
Ticketing | /api/v2/activities |
Ticketing | /api/v2/audit_logs |
Ticketing | /api/v2/automations |
Ticketing | /api/v2/automations/active |
Ticketing | /api/v2/brands |
Ticketing | /api/v2/custom_objects/:custom_object_key/fields |
Ticketing | /api/v2/custom_objects/:custom_object_key/records |
Ticketing | /api/v2/custom_objects/:custom_object_key/records/autocomplete |
Ticketing | /api/v2/custom_objects/:custom_object_key/records/search |
Ticketing | /api/v2/custom_objects/:custom_object_key/triggers |
Ticketing | /api/v2/custom_objects/:custom_object_key/triggers/active |
Ticketing | /api/v2/deleted_tickets |
Ticketing | /api/v2/deleted_users |
Ticketing | /api/v2/deletion_schedules |
Ticketing | /api/v2/dynamic_content/items |
Ticketing | /api/v2/dynamic_content/items/:item_id/variants |
Ticketing | /api/v2/end_users/:end_user_id/identities |
Ticketing | /api/v2/group_memberships |
Ticketing | /api/v2/group_memberships/assignable |
Ticketing | /api/v2/groups |
Ticketing | /api/v2/groups/:group_id/memberships |
Ticketing | /api/v2/groups/:group_id/memberships/assignable |
Ticketing | /api/v2/groups/:group_id/users |
Ticketing | /api/v2/groups/assignable |
Ticketing | /api/v2/groups/available_agents |
Ticketing | /api/v2/incremental/ticket_metric_events |
Ticketing | /api/v2/job_statuses |
Ticketing | /api/v2/macros |
Ticketing | /api/v2/macros/active |
Ticketing | /api/v2/macros/groups |
Ticketing | /api/v2/organization_fields |
Ticketing | /api/v2/organization_memberships |
Ticketing | /api/v2/organization_subscriptions |
Ticketing | /api/v2/organizations |
Ticketing | /api/v2/organizations/:organization_id/organization_memberships |
Ticketing | /api/v2/organizations/:organization_id/requests |
Ticketing | /api/v2/organizations/:organization_id/subscriptions |
Ticketing | /api/v2/organizations/:organization_id/tickets |
Ticketing | /api/v2/organizations/:organization_id/users |
Ticketing | /api/v2/problems |
Ticketing | /api/v2/recipient_addresses |
Ticketing | /api/v2/requests |
Ticketing | /api/v2/requests/:request_id/comments |
Ticketing | /api/v2/requests/ccd |
Ticketing | /api/v2/requests/open |
Ticketing | /api/v2/requests/solved |
Ticketing | /api/v2/satisfaction_ratings |
Ticketing | /api/v2/search/export |
Ticketing | /api/v2/sessions |
Ticketing | /api/v2/skips |
Ticketing | /api/v2/suspended_tickets |
Ticketing | /api/v2/tags |
Ticketing | /api/v2/:target_type/:target_id/relationship_fields/:field_id/:source_type |
Ticketing | /api/v2/ticket_audits |
Ticketing | /api/v2/ticket_content_pins |
Ticketing | /api/v2/ticket_fields |
Ticketing | /api/v2/ticket_fields/:ticket_field_id/options |
Ticketing | /api/v2/ticket_metrics |
Ticketing | /api/v2/tickets |
Ticketing | /api/v2/tickets/:ticket_id/audits |
Ticketing | /api/v2/tickets/:ticket_id/comments |
Ticketing | /api/v2/tickets/:ticket_id/incidents |
Ticketing | /api/v2/tickets/:ticket_id/skips |
Ticketing | /api/v2/trigger_categories |
Ticketing | /api/v2/triggers |
Ticketing | /api/v2/triggers/active |
Ticketing | /api/v2/user_fields |
Ticketing | /api/v2/user_fields/:user_field_id/options |
Ticketing | /api/v2/users |
Ticketing | /api/v2/users/:user_id/group_memberships |
Ticketing | /api/v2/users/:user_id/groups |
Ticketing | /api/v2/users/:user_id/identities |
Ticketing | /api/v2/users/:user_id/organization_memberships |
Ticketing | /api/v2/users/:user_id/organization_subscriptions |
Ticketing | /api/v2/users/:user_id/organizations |
Ticketing | /api/v2/users/:user_id/requests |
Ticketing | /api/v2/users/:user_id/sessions |
Ticketing | /api/v2/users/:user_id/skips |
Ticketing | /api/v2/users/:user_id/tickets/assigned |
Ticketing | /api/v2/users/:user_id/tickets/ccd |
Ticketing | /api/v2/users/:user_id/tickets/requested |
Ticketing | /api/v2/views |
Ticketing | /api/v2/views/:id/execute |
Ticketing | /api/v2/views/:id/tickets |
Prodotto | Endpoint |
Centro assistenza | /hc/api/v2/incremental/articles |
Centro assistenza | /hc/api/v2/articles/attachments/:id |
Centro assistenza | /hc/api/v2/articles/labels |
Centro assistenza | /hc/api/v2/articles/labels/:id |
Centro assistenza | /hc/api/v2/articles/:article_id/translations/missing |
Centro assistenza | /hc/api/v2/articles/:article_id/translations |
Centro assistenza | /hc/api/v2/articles/:article_id/translations/:id |
Centro assistenza | /hc/api/v2/categories/:category_id/translations/missing |
Centro assistenza | /hc/api/v2/categories/:category_id/translations |
Centro assistenza | /hc/api/v2/categories/:category_id/translations/:id |
Centro assistenza | /hc/api/v2/user_segments/applicable |
Centro assistenza | /hc/api/v2/user_segments/:user_segment_id/sections |
Centro assistenza | /hc/api/v2/user_segments/:user_segment_id/topics |
Centro assistenza | /hc/api/v2/user_segments |
Centro assistenza | /hc/api/v2/user_segments/:id |
Centro assistenza | /hc/api/v2/sections/:section_id/translations/missing |
Centro assistenza | /hc/api/v2/sections/:section_id/translations |
Centro assistenza | /hc/api/v2/sections/:section_id/translations/:id |
Centro assistenza | /hc/api/v2(/:locale)/articles/:article_id/attachments/:scope |
Centro assistenza | /hc/api/v2(/:locale)/articles/:article_id/attachments |
Centro assistenza | /hc/api/v2(/:locale)/articles/:article_id/attachments/:id |
Centro assistenza | /hc/api/v2(/:locale)/articles/:article_id/labels |
Centro assistenza | /hc/api/v2(/:locale)/articles/:article_id/comments/:comment_id/votes |
Centro assistenza | /hc/api/v2(/:locale)/articles/:article_id/comments |
Centro assistenza | /hc/api/v2(/:locale)/articles/:article_id/comments/:id |
Centro assistenza | /hc/api/v2(/:locale)/articles/:article_id/votes |
Centro assistenza | /hc/api/v2(/:locale)/articles/:article_id/subscriptions |
Centro assistenza | /hc/api/v2(/:locale)/articles/:article_id/subscriptions/:id |
Centro assistenza | /hc/api/v2(/:locale)/articles |
Centro assistenza | /hc/api/v2(/:locale)/articles/:id |
Centro assistenza | /hc/api/v2(/:locale)/categories/:category_id/articles |
Centro assistenza | /hc/api/v2(/:locale)/categories/:category_id/sections |
Centro assistenza | /hc/api/v2(/:locale)/categories |
Centro assistenza | /hc/api/v2(/:locale)/categories/:id |
Centro assistenza | /hc/api/v2(/:locale)/sections/:section_id/articles |
Centro assistenza | /hc/api/v2(/:locale)/sections/:section_id/subscriptions |
Centro assistenza | /hc/api/v2(/:locale)/sections/:section_id/subscriptions/:id |
Centro assistenza | /hc/api/v2(/:locale)/sections |
Centro assistenza | /hc/api/v2(/:locale)/sections/:id |
Centro assistenza | /hc/api/v2/community/posts/:post_id/comments/:comment_id/votes |
Centro assistenza | /hc/api/v2/community/posts/:post_id/comments |
Centro assistenza | /hc/api/v2/community/posts/:post_id/comments/:id |
Centro assistenza | /hc/api/v2/community/posts/:post_id/subscriptions |
Centro assistenza | /hc/api/v2/community/posts/:post_id/subscriptions/:id |
Centro assistenza | /hc/api/v2/community/posts/:post_id/votes |
Centro assistenza | /hc/api/v2/community/posts |
Centro assistenza | /hc/api/v2/community/posts/:id |
Centro assistenza | /hc/api/v2/community/topics/:topic_id/subscriptions |
Centro assistenza | /hc/api/v2/community/topics/:topic_id/subscriptions/:id |
Centro assistenza | /hc/api/v2/community/topics/:topic_id/posts |
Centro assistenza | /hc/api/v2/community/topics |
Centro assistenza | /hc/api/v2/community/topics/:id |
Centro assistenza | /hc/api/v2/community/users/:user_id/posts |
Centro assistenza | /hc/api/v2/community/users/:user_id/comments |
Centro assistenza | /hc/api/v2/users/:user_id/articles |
Centro assistenza | /hc/api/v2/users/:user_id/subscriptions |
Centro assistenza | /hc/api/v2/users/:user_id/user_subscriptions |
Centro assistenza | /hc/api/v2/users/:user_id/comments |
Centro assistenza | /hc/api/v2/users/:user_id/votes |
Centro assistenza | /hc/api/v2/users/:user_id/user_segments |
Centro assistenza | /hc/api/v2/votes |
Centro assistenza | /hc/api/v2/votes/:id |
39 commenti
Justina
Our Zendesk instance has experienced severe performance issues since May 23rd. From what we see in the browser console, in the tab Network, your Ticketing API results in constant errors for /api/v2/recipient_addresses.
Despite announcing it here, it looks like Zendesk does not offer the cursor-based pagination (CBP) for the /api/v2/recipient_addresses and still uses the deprecated Offset Pagination method, which constantly leads to ticket errors.
When we submit the ticket response, the deprecated Offset Pagination method used by Zendesk blocks ticket solving and results in the agent responses not going through. Even small get requests for a single comment last for 10s+.
When will you start using the cursor-based pagination (CBP) for the /api/v2/recipient_addresses?
0
Sanjeev Mandalapu
Hi Radha,
There should be no added latency when using Cursor pagination compared to Offset model. It is engineered to be better performant and responsive if not equal.
I request you to raise a ticket with Zendesk detailing your integration, subdomain, time of calls, the debugging logs and any other relevant information. We will be able to thoroughly investigate it from there.
0
Sanjeev Mandalapu
Hi James,
Users does support Cursor Pagination. Cursor Pagination is invoked by passing the
page[size]
parameter. Have you changed your code to call the users endpoint with it?Cursor Pagination -
/api/v2/users.json?page[size]=100
0
Radha
Hey,
I am using the endpoint api/v2/ticket_metrics.json to fetch ticket metrics. My goal is to retrieve metrics until the tickets are 7 days old, utilizing pagination. Initially, I used offset pagination, but due to its limitations, I switched to cursor pagination.
However, I am encountering issues with cursor pagination, as each API call takes between 17 to 30 seconds. Upon debugging, I discovered that the API response time is significantly higher with cursor pagination.
Could you please help me understand why this is happening? Is the increased response time due to the use of cursor pagination? How can I resolve this issue? It is crucial for me to reduce the API response time.
1
James
1900815493044 Can you email me? The documentation does not match the API response. There are no cursors in the v2/users.json response, only next_page param that uses offset-based pagination.
0
Tony
check this article in our documentation. I believe it will be helpful for you.
Best,
0
James
1263082323169 I'm still seeing offset-based pagination only for the users.json: GET endpoint – I have no way of listing all records. Can you confirm this endpoint has cursor-based pagination?
0
Sanjeev Mandalapu
Hi Bill,
Using OBP for results under 10k is allowed and would not be impacted by the rollout. However, we strongly recommend to switch to CBP. It is possible in the future that the limits will be further reduced from 10k to 1k. Cursor Model is very performant and recommended for most of the use cases, so please consider it if appropriate in your use case.
Also, Zopim is not impacted by this change.
1
Bill Mattern
Hi Team,
I am checking our zendesk integration code and we are using time-based bookmarks combined with offset-based pagination under 10000 results (usually). From what I am reading this should be supported after the new limits are deployed. Is there a way to tell ahead of time in the response if the method we are using will no longer be supported?
Also, can someone confirm if the Zopim endpoints are also in scope for this upcoming change on May 20?
0
Sanjeev Mandalapu
Hi Adam,
Search endpoint results are limited to 1000 records or page 100 (with page size 10). So, they wont be impacted by this change.
1
Accedi per aggiungere un commento.