Skip to main content
Solved

Acumatica endpoint taking too long to return records


Michael Ndungi
Varsity I
Forum|alt.badge.img

I have an external  mobile application which I I’m intergating with acumatica. I  I’m using a look up field where a user has to select from and can also input keywords to get the desired customer.

Below is the endpoint Im using;
https://XXX.acumatica.com/entity/Default/20.200.001/Customer
Number of customer in acumatica: 30,000

However it is taking around 15 min to get the customers and be diplayed on the selector for the end user to choose or in getting the desired result if the user is using a keyword.


How can I improve the speed of fetching to be in seconds and not this many minutes.
 

Best answer by jinin

Michael Ndungi wrote:
stephenbologna39 wrote:

Hi @Michael Ndungi 

 

Depending on your needs, you could try using $select to limit the fields returned for each record.

 

For example, something like this should dramatically reduce the amount of data returned (and by extension, the time taken to process the request):

https://XXX.acumatica.com/entity/Default/20.200.001/Customer?$select=CustomerID,CustomerName

 

I’ve also heard that GI based OData feeds tend to run faster than the WS API.

Thanks @stephenbologna39 

I I’m using $select to limit the fields to only 6. However, The time taken to return response is still too long.

Do you have an example or article I can reference on this?
“I’ve also heard that GI based OData feeds tend to run faster than the WS API.”


Hi @Michael Ndungi 
Please refer to the article below regarding OData.
https://openuni.acumatica.com/wp-content/uploads/2017/08/I300-slides.pdf

View original
Did this topic help you find an answer to your question?

5 replies

bryanb39
Pro II
Forum|alt.badge.img+6
  • Pro II
  • 177 replies
  • January 17, 2024

That's a lot of records to pull in each time.   Can you use a GI instead to reduce the amount of data or require entering at least 3 characters for example before sending the request so it's filtered?  


Forum|alt.badge.img+1

Hi @Michael Ndungi 

 

Depending on your needs, you could try using $select to limit the fields returned for each record.

 

For example, something like this should dramatically reduce the amount of data returned (and by extension, the time taken to process the request):

https://XXX.acumatica.com/entity/Default/20.200.001/Customer?$select=CustomerID,CustomerName

 

I’ve also heard that GI based OData feeds tend to run faster than the WS API.


Michael Ndungi
Varsity I
Forum|alt.badge.img
bryanb39 wrote:

That's a lot of records to pull in each time.   Can you use a GI instead to reduce the amount of data or require entering at least 3 characters for example before sending the request so it's filtered?  

Thank you @bryanb39 

I used a GI to retrieve the records, the response time improved slightly, however, the user has to wait for like 2min to get the list of all customers and I’m only interested in only 6 fields.

could you please elaborate abit on the following statement?
“or require entering at least 3 characters for example before sending the request so it's filtered”


Michael Ndungi
Varsity I
Forum|alt.badge.img
stephenbologna39 wrote:

Hi @Michael Ndungi 

 

Depending on your needs, you could try using $select to limit the fields returned for each record.

 

For example, something like this should dramatically reduce the amount of data returned (and by extension, the time taken to process the request):

https://XXX.acumatica.com/entity/Default/20.200.001/Customer?$select=CustomerID,CustomerName

 

I’ve also heard that GI based OData feeds tend to run faster than the WS API.

Thanks @stephenbologna39 

I I’m using $select to limit the fields to only 6. However, The time taken to return response is still too long.

Do you have an example or article I can reference on this?
“I’ve also heard that GI based OData feeds tend to run faster than the WS API.”


jinin
Pro I
Forum|alt.badge.img+11
  • Pro I
  • 699 replies
  • Answer
  • January 19, 2024
Michael Ndungi wrote:
stephenbologna39 wrote:

Hi @Michael Ndungi 

 

Depending on your needs, you could try using $select to limit the fields returned for each record.

 

For example, something like this should dramatically reduce the amount of data returned (and by extension, the time taken to process the request):

https://XXX.acumatica.com/entity/Default/20.200.001/Customer?$select=CustomerID,CustomerName

 

I’ve also heard that GI based OData feeds tend to run faster than the WS API.

Thanks @stephenbologna39 

I I’m using $select to limit the fields to only 6. However, The time taken to return response is still too long.

Do you have an example or article I can reference on this?
“I’ve also heard that GI based OData feeds tend to run faster than the WS API.”


Hi @Michael Ndungi 
Please refer to the article below regarding OData.
https://openuni.acumatica.com/wp-content/uploads/2017/08/I300-slides.pdf


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings