How to Efficiently Consume wolkvox CRM APIs (Pagination, Limits, and Request Control)
Table of Contents
Introduction
wolkvox CRM APIs allow you to query, insert, update, or delete information from modules (default or custom) through POST requests. When working with large volumes of data, it is essential to apply pagination, respect record limits per page, and consider request control (rate limiting) per IP.
This article explains, in a functional way, how to consume APIs in Postman and how to interpret the response to navigate page by page without exceeding defined standards.
Steps for Consuming APIs
Locate the Official API Documentation (Postman)
- Go to the Postman workspace: Click here.
- Open the collection in the language you need: wolkvox APIs (EN) or wolkvox APIs (ES).
- Go to the CRM (N) folder (the number may vary as it corresponds to the total requests within the folder).
- Select the API you want to consume. In the example screenshots, the API "Query Records by Dates" is used.
- Documentation: Click here.
- Endpoint: https://{{crm_server}}/server/API/v2/custom/queryDates.php
- Functional Note: In wolkvox CRM, generally all APIs are consumed using the POST method, even when the action is to query, insert, update, or delete.
- In the "Overview" tab, you can see the API documentation.
- You can also go to the right sidebar menu in Postman and click the "Documentation" button to view the documentation.

Configure the Method and Service URL
- In Postman, paste the service URL in the endpoint bar.
- In the documentation, you will see the placeholder {{crm_server}}.
- In actual consumption, replace it with your operation's server, for example: https://crm01.wolkvox.com/server/API/v2/custom/queryDates.php
- Confirm that the method is set to POST.

If you want to know what your wolkvox CRM operation server is, you must log in to wolkvox CRM and check the URL once you have logged in. The operation server is the one between 'https://' and the slash '/' after the .com.

Add the Authentication Header (Wolkvox-Token)
- Go to the "Headers" tab.
- Create/validate the header:
- Key: Wolkvox-Token
-
Value: The token generated for your operation (it can be an environment variable like {{Wolkvox-Token}} or written directly).
- Refer to the documentation about token creation for wolkvox CRM in this help center.

Configure the Body in JSON Format (raw)
- Go to the "Body" tab.
- Select "raw" and the JSON type.
- Paste the JSON of the request according to the API. For the "Query Records by Dates" example, the body includes the functional parameters of the date range and pagination:
- What the pagination parameters do:
- page: Page number to query (default 1; functionally, it has no maximum limit).
- limit: Number of records per page (default 15000; maximum 15000).
- What the pagination parameters do:
{
"operation": "wolkvox",
"module": "contacts",
"date": true,
"from": "2026-01-01 00:00",
"to": "2026-01-23 23:59",
"limit": "250",
"page": "1"
}

Send the Request Respecting Rate Limiting
- Click "Send".
- Remember the functional request control criteria:
- Maximum 2 requests per second per IP.
- This avoids blocks and maintains system stability. In automated consumption, the expected behavior is to implement pauses between requests to not exceed this threshold.
- Remember the functional request control criteria:
- Interpret the response and confirm pagination.
- In the response panel (Response Body), the API will return indicators that allow you to control progress:
- code: Result code (e.g., 200 when successful).
- page: Current page returned.
- Total records: Total records found.
- Total pages: Total pages available according to the limit.
- msg: Functional message (e.g., how many records were found).
- data: Array with the records of the queried page.
- Functional example observed in the screenshots:
- page: 1
- Total records: 1003
- Total pages: 5
- msg: "250 records were found"
- In the response panel (Response Body), the API will return indicators that allow you to control progress:

Query the Next Page (Page-to-Page Navigation)
To retrieve the next block of information:
- Keep the same body.
- Change only the parameter: "page": "2"
- Press "Send" again.
- The response should reflect the change (e.g., page: 2) and maintain consistency with Total records and Total pages. Repeat the process until you reach the last page.

Functional Best Practices for Controlled Consumption
- Adjust the limit according to need: Use lower values (e.g., 250) for testing or QA, and higher values for controlled extraction (without exceeding 15000).
- Do not fire requests in bursts: If you are going through many pages, implement a wait to respect 2 requests/second per IP.
- Always validate "Total pages" before iterating: This way, you define how many pages you need to query and avoid unnecessary requests.
- Confirm the standard of records per page: Identify if the API you are using supports pagination and responds with totalization metrics (records/pages) to ensure it meets the expected behavior.