however, since I have a large number (>476k) of contact when doing the hubsepot paging it returns an error. I have searched in the forum how to filter the GET call but Hubspot workers mention that to filter you must use POST which returns me something like.
"paging": { "next": { "after": "10" } }
for paging I use Azure Data Factory, as follows $.paging.next.link
But with POST I get back a cursor, and if I use $.paging.next.after I get an error.
I am already checking with technical support, and indeed the error is on their side. It should be noted that if the limit of requests is reached, the response returned would be different.
I am sending various numbers appended to , like 4,7,154 , neverthe less I am getting always the same 10 records, no advancement , no change in the size of returned set.
Question 1: Is there a way to simply get all? I have only 2000 records.
Question 2: Could it be that I have a problem because I am using a demo version of HubSpot?
Yes, the "id" should not be there, I corrected it. According to the documentation, POST is used for filtering, however, the problem with this is that in the response it only gives me a cursor (i.e after=10), it does not give me a link to make the following call compared to GET
In login I have my authentication oauth2
If I try with POST, with pagintation as follows $.paging.next.after
Operation on target Ingest_REST_Data failed: Failure happened on 'Source' side. ErrorCode=UserErrorFailToReadFromRestResource,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Path ended with an open string.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=Newtonsoft.Json.JsonException,Message=Path ended with an open string.,Source=Newtonsoft.Json,'
It is in the paging where the error occurs, I would appreciate your help to solve this problem.
I was using POST because with GET I was getting an error indicating that the limit had been exceeded (I don't have it at the moment), there are 476k contacts, so I assumed that this was it, that's why I intended to use POST to filter the results so that they were not so many.
However, I found that actually the error using GET was due to the limits in the amount of requests per second.
@foxsterben the limit param doesn't limit the number of requests you send, it limits the number of results coming in.
If you want to control the number of requests on your server side, that's something that needs to be done on your end. It's best you check out how to throttle requests on your application and try again.
If you reach the daily alloted limit for API calls, you will need to wait till it resets until you try again.
I am already checking with technical support, and indeed the error is on their side. It should be noted that if the limit of requests is reached, the response returned would be different.
Apologies, re-read the question and it seems you're already using what you got from the response as the call. As for filtering, can't you just limit the results using the limit param or restrict the amount of data being sent by defining the properties property?