API keys and endpoints

Please conduct all testing in the dedicated testing environment before going live on the production API.

API keys

The API has three different API keys which are used in almost all requests. The keys are:

  • user_api_key (identifies a single user, required in all interaction with API)
  • company_uuid (identifies a single company, required in all interaction with API*)
  • vendor_api_key (identifies a partner, required in all partner interaction with API**)

*company_uuid is always required, but if the user relates only to one company, the API will collect and fill in your company_uuid for you if you do not submit it. When users are related to multiple companies, company_uuid must be supplied. We suggest you make your integration so that you always supply both user_api_key and company_uuid.

**vendor_api_key is to be used by all partner integrations (ERPs and such with multiple customers). The point of it is to identify which partner the customer and their transactions “belong” to. This is necessary for correct billing, reporting and support handling. It is very important that Partner and ERP integrations always use their own vendor_api_key in all API calls. Actions performed without supplying vendor_api_key will not be related to any vendor/ partner. All actions submitted without specifying vendor_api_key will be billed directly to related customer, based on general price list.

The vendor_api_key is generated by the partner in the Maventa user interface under the settings page, labeled Software API keys. Note! That option is only available on partner accounts. On testing environment, when registering you can select to open a partner account directly. For production, open a regular account and contact our support when you have created an integration that has been tested, we will then convert your production account in to a partner account which will enable the Software API keys menu. 

A partner can create as many vendor_api_keys as they want, usually if a partner is developing multiple different ERP systems and want to get their customer transactions sorted by ERP, they’ll want to have a different vendor_api_key for each ERP. Usually this key is then ”hard-coded” into the software or at least hidden so that a user cannot change it. If you wish to enable separate testing/production modes on your ERP-integration, please take into consideration that the testing and production endpoints of the API use different API keys. No API keys from testing will work on production and vice versa. Errors like ”USER NOT FOUND” mean that the user_api_key is wrong for that environment, please make sure you are using the correct API endpoint for your API key.

Make sure API keys are written as is and ensure there are no extra blanks before or after the key to avoid errors.

Testing

On the testing server no invoices except for e-mail invoices are really sent. Please make sure to use e-mail addresses that you own when conducting testing to avoid any confusion (e.g. do not use something like test@test.com since that domain really exists which means that the e-mail address might also exist).

Note! Our current testing environment is used also for our internal testing which means that it differs from the production time to time, there might be new features and fixes that cannot be found from the production yet, features not going to production for a long time, prototypes and temporary issues related to deployments and fixes not working properly.

The database of the testing server may be emptied without notice and the server might be unavailable at times!

Open an account on testing here: https://testing.maventa.com/register

The SOAP Server Endpoint URL for API version 1.1 developers is https://testing.maventa.com/apis/v1.1/wsdl/

Production

The SOAP Server Endpoint URL for API version 1.1 developers is https://secure.maventa.com/apis/v1.1/wsdl/