Robaws API
API
We distinguish two types of integrations: a custom integration and a marketplace integration. A custom integration is built for one specific customer to support a customer-specific process. A marketplace integration is a standard integration that is made available to all Robaws customers in the Robaws integration marketplace. The difference between the two lies in the authentication method. The requirements for a marketplace integration are slightly stricter.
Updates
See thPopulairCreating a client/lead from a website form
Creating a client from a website form
Some clients have a website with a contact form. Sometimes it may be convenient to have this integrated with the Robaws API.
As you may know, Robaws has the possiblity to add custom fields to most of its entities. This feature is called 'extra fields' and is also called like this in the API.
Let's consider you defined two extra fields on the client module in Robaws:
Extra field (https://storage.crisp.chat/users/helpdesk/website/eadf6dec760ec000/imageEnkele lezersHow to fetch invoices for import into accountancy software?
There are 2 types of invoices:
Purchase Invoices
Sales Invoices
These different invoice types are exposed as a separate collection in API v2.
Each type of invoice consists of 2 subtypes: INVOICE or CREDITNOTE.
For sales invoices, it's often preferred to include the 'adjustedLineItems' instead of the 'lineItems'. The adjusted lineItems are already adjusted for financial discount, credit limit and line discount.
In this example, paging query parameters are not included.
Fetching saleEnkele lezersSynchronizing article data with your own database
Synchronizing article data with your own database
Most entity collection endpoints (called 'Search' in the reference documentation) provide a 'updatedFrom' request parameter.
This parameter allows you to fetch all entities which have an 'updatedAt' date that is equal to or greater than the updatedFrom parameter value.
If you are only interested in certain articles, you could define an extra field of type 'boolean' in Robaws or only save articles which have a specific articleGroupId.
We alsEnkele lezersCreating a work order
Creating a work order
Imagine you have an external software system that can track time and you want it to create work orders for you.
This request shows how to create a work order with:
employee commute information
employee time entries
extra line items with used articlesEnkele lezersWebhooks
Webhooks
Supported event types
Currently, the following event types are supported. If you need an other event, please let us know via [email protected].
Clients
client.created
client.updated
Sales invoices
sales-invoice.created
sales-invoice.updated
Offers
offer.created
offer.updated
Projects
project.created
project.updated
Articles
article.created
article.updated
article.stock-changed
Employees
employee.created
employee.updated
Planning items
plaWeinig lezersAPI filtering, paging & sorting
Filtering on standard fields
Each root entity collection resource contains some specific filter parameters. If you have extra filtering needs that could improve the performance
of your API usage, please let us know on [email protected] and we will evaluate your request.
Filtering on extra fields
Filtering on extra fields is possible by using the following URL syntax.
Be aware that the and the characters must be URL encoded!
Text, Link, Multiple choice fields
GET /api/v2/artWeinig lezersUpdating information (PUT vs PATCH)
When in doubt, always prefer PATCH to PUT!
There are 3 endpoints per resource which you can use to perform updates. The first one is PUT, which completely replaces the entity with the provided payload. This is not handy for big entities with many properties. Therefore we provide two variants of the PATCH method: Json Patch and Json Merge Patch. Json Merge Patch is the most trivial because it allows you to only define the properties that you want to update. Json Patch is different but moWeinig lezersAPI rate limiting
Robaws API requests are subject to rate limiting. At the moment, we use the token bucket algorithm with a replenish rate of 15 and a burst capacity of 20. That means you can do at least 15 requests per second.
As a consumer of our API, you should make your client software aware of this rate limit. You can do this by looking at the x-ratelimit-remaining response header and pausing api calls for a second when the remaining becomes close to zero. When you receive a 429 Too Many Requests error,Weinig lezersRequest idempotency
Robaws has protection for creating duplicate resources (in case of a failure-retry scenario) using idempotency keys.
You can provide your own client generated idempotency key using the Idempotency-Key header. The value should be unique for your user/client id
and can be max 128 characters in length.
We will always return the original response for the same idempotency key, only if the request succeeded (no 400 or 500 occurred).
Idempotency keys are only supported for PATCH, POST and PUT mWeinig lezers