Ir al contenido principal
Todas las coleccionesAPI
Como usar la base de datos de WalcuCRM para extraer datos en masa
Como usar la base de datos de WalcuCRM para extraer datos en masa
Marco Catalan avatar
Escrito por Marco Catalan
Actualizado hace más de 3 años

La API de WalcuCRM utiliza un mecanismo de paginación cuando se realizan consultas. Como mucho se pueden pedir 50 elementos a la vez, y la API responderá con una cabecera MAPP-has-more indicando si hay más elementos. A traves del parámetro skip podemos ir paginando para descargar más documentos. Este método es efectivo para ciertos flujos de trabajo, pero si lo que se desea es descargar todos los elementos de un recurso que cumplan cierta condición es lento, dificil de implementar y hay que tener cuidado para no sobrepasar los límites de uso de la API. Para esos casos aconsejamos utilizar las deferred requests.

Para realizas una petición de este estilo, basta con añadir el sufijo /all al final de la URL de la petición.Por ejemplo, podemos obtener todos los leads que se han creado hoy con la siguiente query:

https://api.crm.walcu.com/dealers/<dealer_id>/saleleads/all?search=created_at%20=%20$today

🛈 Puedes encontrar la documentación completa del sufijo /all en la documentación de la API

Esto nos responderá con la descripción del trabajo que se esta ejecutando en segundo plano:

[{"_id":"123","dealer_id":"321","status":"queued","job_url":"https://api.crm.walcu.com/dealers/321/deferredrequests/123"}]

Podemos realizar una petición (autenticada) a la job_url que nos ha devuelto la API para consultar el estado del proceso:

[{"_id":"123","dealer_id":"321","status":"processing"}]

Una vez el campo status sea finished tendremos una respuesta similar a esta:

[{"_id":"123","dealer_id":"321","status":"finished","found_documents":4181,"results_url":"https://ext.crm.walcu.com/services/s3/dealers/..."}]

Por último, en el campo results_url podremos realizar una petición (También autenticada) para consultar los datos que hayamos pedido, que se devolverán en formato JSON.

¿Ha quedado contestada tu pregunta?