Date de l’annonce | Déploiement (étalé) |
22 mai 2023 |
20 mai 2024 - Régions autres que l’UE - TERMINÉ 9 septembre 2024 - Région de l’UE - TERMINÉ |
Zendesk propose actuellement une pagination basée sur l’offset (OBP) et une pagination basée sur le curseur (CBP) pour la plupart des points de terminaison API. La pagination CBP offre de nombreux avantages par rapport à l'option OBP et sera bientôt la principale méthode de pagination chez Zendesk. Afin de fournir une meilleure expérience et plus rapide à nos clients, nous prenons des mesures pour encourager une transition vers la pagination CBP, en commençant par l'introduction de limites plus strictes pour les demandes OBP avec des offsets élevés.
Cette annonce répond aux questions suivantes :
Qu’est-ce qui va changer ?
À partir du 20 mai 2024, les demandes OBP portant sur les 10 000 premiers enregistrements (100 pages) généreront un message d’erreur : Mauvaise requête Pour les ensembles de données supérieurs à 10 000 enregistrements, les clients devront effectuer la transition vers la pagination CBP.
Les demandes OBP portant sur moins de 10 000 enregistrements ne seront pas affectées, ni les demandes effectuées en utilisant le modèle CBP.
Pourquoi cette modification ?
Nous effectuons ce changement conformément à notre annonce précédente, recommandant l'adoption du modèle CBP et encourageant nos clients à effectuer cette transition le plus rapidement possible.
La pagination par curseur est plus rapide et plus efficace pour nos clients. Cela réduit aussi la pression sur l'infrastructure Zendesk et accroît la stabilité et la fiabilité. Dans un premier temps, nous avons limité les capacités de pagination basée sur l'offset à un niveau relativement élevé, afin que la transition puisse s'effectuer en perturbant le moins possible l'utilisation actuelle de l'API.
Que dois-je faire ?
Zendesk encourage fortement ses clients à effectuer la transition vers la pagination basée sur le curseur avant le le 20 mai 2024. Si vous ne savez pas quelles intégrations ou applications vont au-delà de cette limite, nous vous conseillons de vous rapprocher de votre équipe chargée de la gestion des intégrations et applications Zendesk pour essayer de déterminer ce que signifie ce changement pour vous.
Zendesk continuera à proposer la pagination décalée, mais limitera considérablement le nombre de pages dans un avenir proche afin d’encourager l’adoption d’une pagination avec curseur très performante et d’améliorer les temps de réponse à vos demandes.
Si vous avez des questions ou besoin d’aide supplémentaire, contactez-nous et nous nous ferons un plaisir de vous aider. Vous pouvez nous contacter via le Web Widget.
Nous garantissons une transition fluide pour tous les utilisateurs en étalant le déploiement, avec la sortie des modifications des comptes de la région de l’UE dans trois mois, le 09 septembre 2024.
Mises à jour disponibles pour les bibliothèques clientes/SDK
Zendesk a mis à jour son client Ruby officiel et s’est allié à des développeurs SDK de la communauté pour fournir l’assistance CBP. Si vous utilisez l’une de ces bibliothèques, consultez, testez et mettez à jour vers la dernière version.
Bibliothèque | Instructions utiles |
Ruby |
>=3.0.4 prend en charge la pagination par curseur Consultez Utilisation générale dans le wiki. |
Python |
>=v2.0.34 prend en charge la pagination par curseur pip install zenpy --upgrade |
NodeJS |
>=v3.0.2 supports Cursor Pagination. Consultez le marqueur d’édition ici. npm update node-zendesk |
Java |
>=v0.24.1 supports Cursor Pagination. Consultez le marqueur d’édition ici. Utilisation de Maven |
PHP |
>=3.0.01 prend en charge la pagination par curseur composer require zendesk/zendesk_api_client_php:^3.0.1 Consultez le guide de mise à niveau. |
Connecteur MS BI |
Un nouveau connecteur de données Zendesk amélioré peut désormais récupérer les enregistrements > 1 000 lignes et utilise le modèle à curseur pour une récupération plus rapide des données. Consultez le guide de migration pour savoir comment utiliser le dernier connecteur. |
Go Lang |
>=v0.18.0 Consultez le guide de mise à niveau |
C# |
>=7.0.7 prend en charge la pagination par curseur Pour en savoir plus sur l’utilisation de la pagination avec le curseur, consultez la section LISEZMOI. |
Points de terminaison avec capacité CBP
Produit | Point de terminaison |
Création de tickets | /api/v2/activities |
Création de tickets | /api/v2/audit_logs |
Création de tickets | /api/v2/automations |
Création de tickets | /api/v2/automations/active |
Création de tickets | /api/v2/brands |
Création de tickets | /api/v2/custom_objects/:custom_object_key/fields |
Création de tickets | /api/v2/custom_objects/:custom_object_key/records |
Création de tickets | /api/v2/custom_objects/:custom_object_key/records/autocomplete |
Création de tickets | /api/v2/custom_objects/:custom_object_key/records/search |
Création de tickets | /api/v2/custom_objects/:custom_object_key/triggers |
Création de tickets | /api/v2/custom_objects/:custom_object_key/triggers/active |
Création de tickets | /api/v2/deleted_tickets |
Création de tickets | /api/v2/deleted_users |
Création de tickets | /api/v2/deletion_schedules |
Création de tickets | /api/v2/dynamic_content/items |
Création de tickets | /api/v2/dynamic_content/items/:item_id/variants |
Création de tickets | /api/v2/end_users/:end_user_id/identities |
Création de tickets | /api/v2/group_memberships |
Création de tickets | /api/v2/group_memberships/assignable |
Création de tickets | /api/v2/groups |
Création de tickets | /api/v2/groups/:group_id/memberships |
Création de tickets | /api/v2/groups/:group_id/memberships/assignable |
Création de tickets | /api/v2/groups/:group_id/users |
Création de tickets | /api/v2/groups/assignable |
Création de tickets | /api/v2/groups/available_agents |
Création de tickets | /api/v2/incremental/ticket_metric_events |
Création de tickets | /api/v2/job_statuses |
Création de tickets | /api/v2/macros |
Création de tickets | /api/v2/macros/active |
Création de tickets | /api/v2/macros/groups |
Création de tickets | /api/v2/organization_fields |
Création de tickets | /api/v2/organization_memberships |
Création de tickets | /api/v2/organization_subscriptions |
Création de tickets | /api/v2/organizations |
Création de tickets | /api/v2/organizations/:organization_id/organization_memberships |
Création de tickets | /api/v2/organizations/:organization_id/requests |
Création de tickets | /api/v2/organizations/:organization_id/subscriptions |
Création de tickets | /api/v2/organizations/:organization_id/tickets |
Création de tickets | /api/v2/organizations/:organization_id/users |
Création de tickets | /api/v2/problems |
Création de tickets | /api/v2/recipient_addresses |
Création de tickets | /api/v2/requests |
Création de tickets | /api/v2/requests/:request_id/comments |
Création de tickets | /api/v2/requests/ccd |
Création de tickets | /api/v2/requests/open |
Création de tickets | /api/v2/requests/solved |
Création de tickets | /api/v2/satisfaction_ratings |
Création de tickets | /api/v2/search/export |
Création de tickets | /api/v2/sessions |
Création de tickets | /api/v2/skips |
Création de tickets | /api/v2/suspended_tickets |
Création de tickets | /api/v2/tags |
Création de tickets | /api/v2/:target_type/:target_id/relationship_fields/:field_id/:source_type |
Création de tickets | /api/v2/ticket_audits |
Création de tickets | /api/v2/ticket_content_pins |
Création de tickets | /api/v2/ticket_fields |
Création de tickets | /api/v2/ticket_fields/:ticket_field_id/options |
Création de tickets | /api/v2/ticket_metrics |
Création de tickets | /api/v2/tickets |
Création de tickets | /api/v2/tickets/:ticket_id/audits |
Création de tickets | /api/v2/tickets/:ticket_id/comments |
Création de tickets | /api/v2/tickets/:ticket_id/incidents |
Création de tickets | /api/v2/tickets/:ticket_id/skips |
Création de tickets | /api/v2/trigger_categories |
Création de tickets | /api/v2/triggers |
Création de tickets | /api/v2/triggers/active |
Création de tickets | /api/v2/user_fields |
Création de tickets | /api/v2/user_fields/:user_field_id/options |
Création de tickets | /api/v2/users |
Création de tickets | /api/v2/users/:user_id/group_memberships |
Création de tickets | /api/v2/users/:user_id/groups |
Création de tickets | /api/v2/users/:user_id/identities |
Création de tickets | /api/v2/users/:user_id/organization_memberships |
Création de tickets | /api/v2/users/:user_id/organization_subscriptions |
Création de tickets | /api/v2/users/:user_id/organizations |
Création de tickets | /api/v2/users/:user_id/requests |
Création de tickets | /api/v2/users/:user_id/sessions |
Création de tickets | /api/v2/users/:user_id/skips |
Création de tickets | /api/v2/users/:user_id/tickets/assigned |
Création de tickets | /api/v2/users/:user_id/tickets/ccd |
Création de tickets | /api/v2/users/:user_id/tickets/requested |
Création de tickets | /api/v2/views |
Création de tickets | /api/v2/views/:id/execute |
Création de tickets | /api/v2/views/:id/tickets |
Produit | Point de terminaison |
Centre d’aide | /hc/api/v2/incremental/articles |
Centre d’aide | /hc/api/v2/articles/attachments/:id |
Centre d’aide | /hc/api/v2/articles/labels |
Centre d’aide | /hc/api/v2/articles/labels/:id |
Centre d’aide | /hc/api/v2/articles/:article_id/translations/missing |
Centre d’aide | /hc/api/v2/articles/:article_id/translations |
Centre d’aide | /hc/api/v2/articles/:article_id/translations/:id |
Centre d’aide | /hc/api/v2/categories/:category_id/translations/missing |
Centre d’aide | /hc/api/v2/categories/:category_id/translations |
Centre d’aide | /hc/api/v2/categories/:category_id/translations/:id |
Centre d’aide | /hc/api/v2/user_segments/applicable |
Centre d’aide | /hc/api/v2/user_segments/:user_segment_id/sections |
Centre d’aide | /hc/api/v2/user_segments/:user_segment_id/topics |
Centre d’aide | /hc/api/v2/user_segments |
Centre d’aide | /hc/api/v2/user_segments/:id |
Centre d’aide | /hc/api/v2/sections/:section_id/translations/missing |
Centre d’aide | /hc/api/v2/sections/:section_id/translations |
Centre d’aide | /hc/api/v2/sections/:section_id/translations/:id |
Centre d’aide | /hc/api/v2(/:locale)/articles/:article_id/attachments/:scope |
Centre d’aide | /hc/api/v2(/:locale)/articles/:article_id/attachments |
Centre d’aide | /hc/api/v2(/:locale)/articles/:article_id/attachments/:id |
Centre d’aide | /hc/api/v2(/:locale)/articles/:article_id/labels |
Centre d’aide | /hc/api/v2(/:locale)/articles/:article_id/comments/:comment_id/votes |
Centre d’aide | /hc/api/v2(/:locale)/articles/:article_id/comments |
Centre d’aide | /hc/api/v2(/:locale)/articles/:article_id/comments/:id |
Centre d’aide | /hc/api/v2(/:locale)/articles/:article_id/votes |
Centre d’aide | /hc/api/v2(/:locale)/articles/:article_id/subscriptions |
Centre d’aide | /hc/api/v2(/:locale)/articles/:article_id/subscriptions/:id |
Centre d’aide | /hc/api/v2(/:locale)/articles |
Centre d’aide | /hc/api/v2(/:locale)/articles/:id |
Centre d’aide | /hc/api/v2(/:locale)/categories/:category_id/articles |
Centre d’aide | /hc/api/v2(/:locale)/categories/:category_id/sections |
Centre d’aide | /hc/api/v2(/:locale)/categories |
Centre d’aide | /hc/api/v2(/:locale)/categories/:id |
Centre d’aide | /hc/api/v2(/:locale)/sections/:section_id/articles |
Centre d’aide | /hc/api/v2(/:locale)/sections/:section_id/subscriptions |
Centre d’aide | /hc/api/v2(/:locale)/sections/:section_id/subscriptions/:id |
Centre d’aide | /hc/api/v2(/:locale)/sections |
Centre d’aide | /hc/api/v2(/:locale)/sections/:id |
Centre d’aide | /hc/api/v2/community/posts/:post_id/comments/:comment_id/votes |
Centre d’aide | /hc/api/v2/community/posts/:post_id/comments |
Centre d’aide | /hc/api/v2/community/posts/:post_id/comments/:id |
Centre d’aide | /hc/api/v2/community/posts/:post_id/subscriptions |
Centre d’aide | /hc/api/v2/community/posts/:post_id/subscriptions/:id |
Centre d’aide | /hc/api/v2/community/posts/:post_id/votes |
Centre d’aide | /hc/api/v2/community/posts |
Centre d’aide | /hc/api/v2/community/posts/:id |
Centre d’aide | /hc/api/v2/community/topics/:topic_id/subscriptions |
Centre d’aide | /hc/api/v2/community/topics/:topic_id/subscriptions/:id |
Centre d’aide | /hc/api/v2/community/topics/:topic_id/posts |
Centre d’aide | /hc/api/v2/community/topics |
Centre d’aide | /hc/api/v2/community/topics/:id |
Centre d’aide | /hc/api/v2/community/users/:user_id/posts |
Centre d’aide | /hc/api/v2/community/users/:user_id/comments |
Centre d’aide | /hc/api/v2/users/:user_id/articles |
Centre d’aide | /hc/api/v2/users/:user_id/subscriptions |
Centre d’aide | /hc/api/v2/users/:user_id/user_subscriptions |
Centre d’aide | /hc/api/v2/users/:user_id/comments |
Centre d’aide | /hc/api/v2/users/:user_id/votes |
Centre d’aide | /hc/api/v2/users/:user_id/user_segments |
Centre d’aide | /hc/api/v2/votes |
Centre d’aide | /hc/api/v2/votes/:id |
39 commentaire
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
Vous connecter pour laisser un commentaire.