Get answers to Frequently Asked Questions
ExternalCodes for records in Basware API need to meet the following criteria:
- They must retain their value when updating records (else data updates will not work)
- They most not exceed the field max length (else the record will be rejected by Basware API).
Two common ways are 1) using UUIDs and 2) Concatenating the externalCode from other key values, such as SourceSystem_CompanyCode_PONumber_PORowNumber_GRNumber.
The UUIDmethod requires saving this guid to the sending system. The second "composite key" method may make integration debugging more straightforward and requires making sure the combined key does not exceed the max length for externalCode -field.
It's up to the customer implementation what is the best way to create them.
Please refer to the error handling -section of Purchase-to-Pay API manual.
Please check the errorFeedbacks -API. Note that specific kinds of errors can take some minutes to become available in errorFeedbacks -API due to internal retry logic. Try to use GET errorFeedbacks with just daterange search, setting the date to one day before your expected error (in case of timezone differences). If this does not resolve your issue, please contact Basware support.
There is a setting in P2P admin, settings section called "Delete existing user groups when importing users". This setting needs to be enabled in order to clear existing user groups during import.
No, each bank account on the vendor needs to be unique.
This typically happens for invoices which have already been acknowledged. API allows acknowledging an invoice only once (unless it is retransferred from P2P). Already acknowledged invoices have 'processingStatus' = 'TransferInProgress'.
Please check you send the x-amz-meta-continuationtoken -parameter as a request header parameter. It does not work when it is not sent in header (for example in body).
The x-amz-meta-continuationtoken -parameter is preconfigured in our Postman templates. Please try it out through postman using the prevonfigured template, that should help spot the difference between how it is set up in the request sent by Postman and sending it in your HTTPS request.
The swagger definition should serve you the same way as WSDL. You can download the swagger here https://api.basware.com/swagger/v1/swagger.json
and then validate the messages against that. However, there is no json schema or WSDL file currently available.
There is no way at the moment to keep changes made manually to records which are updated through the API. An exception to this is the vendors -interface, where some of the interface fields can be configured so API data does not overwrite existing data in P2p. This functionality to vendors -interface is planned to be released in Q3/2020.
Please find a way to update the data fully in your source system, alternatively you could consider creating a separate maintenance table for particular items - please discuss options for you specific scenario with your Basware consultant.