Do the licenseuuid and sessionuuid tokens expire, or are they unlimited?
Tokens expire after 60 days of non-use.
Is modifiedTimestamp set the same as createdTimestamp when a record is created (rather than null)?
They are both set when the record is created and the versionNumber is set to 0. Subsequent changes update the modifiedTimestamp and the versionNumber.
Are there any API restrictions such as calls per minute/download or size/IP whitelisting?
The Rate Limiting is 10 requests per second. We don’t place limits on download size and we don’t whitelist IP addresses.
Does every entity in the data model have a UUID (as in, all can be uniquely identified)?
Every entity has a UUID.
Should I use Search or Synchronisation?
Both the Search endpoints and Data Synchronisation can provide the same information. When using Search you make a request each time you need information which can put load on the servers, however it does have the advantage of built-in search criteria and text-matching. Data Synchronisation on the other hand, allows you to keep an up-to-date local copy of the data.
We strongly recommend using Data Synchronisation where possible, especially if you need to constantly request data, for example when providing a product search for an e-commerce website.
What happens if I generate a new session ID?
If a new session ID is generated, it renders the previous session ID invalid and will cease to work. You will enter in the new session ID to reestablish the connections.
What validation rules exist when text fields are being loaded?
When text fields are being loaded through the API, such as an address field, the following validation occurs on the text field:
- May not contain double spaces.
- May not contain tab characters.
- May not contain new line characters.
- May not contain form feed characters.
- May not contain carriage return characters.
- May not contain control characters.
- May not contain Unicode space characters.
- May not start with a space.
- May not end with a space.
What triggers a data sync requirement?
When an addition of a new entry, update to, or deletion of an existing entry in any of the following data types:
- Products
- Customers
- Customer Invoices
- Customer Contract Rates
- Product Promotional Prices
- Discount Matrix Entries
A new timestamp is added to the entry, which also marks the item to be resynchronised on the next sync. This sync needs to be performed before the item can be used in the API.
There are currently six Data Synchronisation endpoints available: Products, Customers, Customer Invoices, Customer Contract Rates, Product Promotional Prices and Discount Matrix Entries. When there is an addition, change or deletion for any of these, they will be provided in the next request to the Data Synchronisation.
Accordion Body
How to differentiate a deleted record from a normal one?
Check the deletedTimestamp on a record. if the record has been deleted, this record will show a timestamp of when the deletion occurred.
Where can I find documentation about the API?
Additional documentation for the API can be found on our Infusion Public API info page as well as the Infusion external integration API definition on our API Documentation Page.
Why is my request returning “User not authorised”?
Like any user, the External API has roles that give permissions to specific areas of the software. Ensure that the external API user has roles assigned to allow it to process as if it was a user within the softw
How can I stop an already discounted price from receiving additional discount?
If you are passing through an already discounted price on an invoice line, there is a line of code that sets the line discount to the customers default discount if the one supplied is null. To avoid having additional discounts applied to the already discounted invoice line, this line of code needs to be populated with zero, rather than null.
Can I get more than one image per product?
The External API currently only supports one image per product
Does Infusion Online have API?
- Yes, once an External API User is enabled you have full access to any API we have implemented.
- An External API user is charged
Can we access the Infusion API documentation and test environment.
API Documentation is available within Infusion, at the end of your login put in /api-doc to load the documentation
What credentials are required, including API user, Licensee UUID, Session UUID, or any other access details.
- You will create a user which is an External API User.
-
Use the drop down on the User Add.
- The permissions you give to the user will decide which functionality they can use.
Can we access customer, product, sales order, invoice, delivery address, pricing, and custom field data via API
- We have different endpoints available in different areas.
- Infusion Sales Order = Pending invoice.
- Custom fields are implemented in some but not all endpoints.
Can freight consignment numbers and POD status can be written back into Infusion.
- We have a Courier Reference number on the Invoice which can be updated.
- We have a delivery status field on an invoice which could be populated with these options.
Can Infusion API trigger Invoice Emailing based on a delivery/POD status
- This would be manual but you can filter to delivery status on the invoice list view and bulk invoice from there.
- The delivery status on an invoice screen is about to be released shortly
Can API permissions be limited, for example read-only access for testing before allowing write access
You can use a get endpoint which is read-only and only use the endpoints to add or update as required.
Is there a recommended approach for using Infusion Online with Microsoft Power Automate, SharePoint, or Microsoft Lists.
- All integration are using the API’s available.
- We have webhooks for the following which can be used to orchestrate other functions.
- Product, Customer, Supplier, Customer Invoice, Customer Contract Rate, Product Promotional Price, Supplier Purchase Order, Customer Items, Job.
- The majority of our list views are now able to be exported.

