User Profile
Véronique
17
Posts
2
Kudos
0
Solutions
14-11-2024
15:48
Do you plan to support interactive-API authentication in the Swagger documentation as well?
... View more
17-05-2023
14:26
Hello, We are migrating from VNI to Visma Connect Authentication. In our product, a user needs to log in to Visma.net so we can save a token in database, that we can then use to make calls to the Visma.net API while the user is offline. We have a problem when the user sets up multiple configurations in our app, with each configuration targeting a different tenant. With VNI, we used to store for each configuration the token along with the company ID. With Visma Connect, here is what we observe: User creates configuration #1 in our app. User logs in to Visma and selects company #1. We save the access token and refresh token for configuration #1. Access token has the following payload: “tenant_id": "c3704d0c-21cc-11e9-b307-0aa512338dd6", "sid": "7c583778-90fb-8b76-849a-a2f43b4cd78a" While still in the same browser session, without logging out from Visma, user creates configuration #2. User opens the login page of Visma and selects company #2. Access token has the following payload (same sid as first token): “tenant_id": " f11e02fc-8609-11ea-973a-0ac295605980", "sid": "7c583778-90fb-8b76-849a-a2f43b4cd78a" There is only one access token visible in account settings page. => From that point on, the refresh token for configuration #1 cannot be used anymore, we get back an invalid_grant response when trying to obtain a new access token. Changing the application settings so a refresh token can be re-used does not solve the problem. Refresh tokens per user is set to 5. The only way to make our product usable is to ask our users to log out from Visma before they set up a new configuration, or create the new configuration in a separate browser. Is it by design that when a refresh token is created all the refresh tokens created during the same session are revoked? What can we do to solve this issue? Thank you for your help.
... View more
08-09-2022
17:08
When retrieving a customer using the GET /customer/{customerCd} endpoint, attributes of type date are formatted as yyyy-MM-dd hh:mm:ss.fff. Ex: If then we pass in that value as is to the PUT /customer/{customerCd} endpoint, it returns an error 400: It would be much more convenient if the GET endpoint returned date attributes in a format that is accepted by the PUT endpoint.
... View more
22-11-2021
10:29
The VAT amount was exposed in ExpenseReceiptDto after we requested it. It turns out that our app would be much faster if the taxTotal was also exposed in ExpenseClaimDetailDto. We get a list of expense claims (which necessarily contain a list of ExpenseClaimDetailDto) before we display the list of receipts, therefore we would spare quite a few API calls if the taxTotal was already available in this model.
... View more
08-10-2021
10:48
Hi, The swagger file currently contains two operations with operationId "Shipment_PostByshipmentNumber". This is not allowed by the OpenAPI specs (https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#operationObject), therefore I cannot generate an API client without manually editing the swagger file. The endpoints that share the same operationId are: - POST /controller/api/v1/shipment/{shipmentNumber}/action/addSOLine - POST /controller/api/v1/shipment/{shipmentNumber}/action/addSOOrder It would be very convenient if you could give a unique ID to these operations. Thank you
... View more
05-02-2021
16:39
1 Kudo
We almost always only need the active items in a list. The endpoints to retrieve VAT categories and inventory items don't expose a parameter to filter on the status. Having to filter on the client side has two disadvantages: we have to load items that we don't need we can't leverage pagination as its very difficult to display paginated items that don't match the API requests. Ex: if I want to display 100 active items, I have to make multiple API calls until I reach 100 active items. When I want to display the second page of 100 active items, then I have to remember where I had left off for the first page. Very error-prone. Of course, this parameter has less priority on the endpoints that return a short list of items.
... View more
05-02-2021
16:11
Hello,
We use the Swagger file to generate our API client with AutoRest.
We had to make a few manual changes to the Swagger file so it follows the specifications in order for AutoRest to generate the proper signatures with a Stream as a parameter or return type.
For endpoint GET /controller/api/v1/attachment/{attachmentId} we had to:
Change the "produces" array to ["application/octet-stream"]
Change the value of responses.200.schema.type to "file"
For endpoint POST /controller/api/v1/expenseReceipt/{receiptNumber}/attachment we had to:
Change the "consumes" array to ["multipart/form-data"]
Add an extra entry in the "parameters" array {"name":"file","in":"formData","description":"The file to upload and attach to the expense receipt","required":true,"type":"file"}
I would be grateful if you could fix the Swagger file so we don't have to make these manual changes every time we are going to upgrade our API client.
Also, with these changes it would be possible to upload files directly from the Swagger documentation when trying out the endpoints.
... View more
Categories:
- Categories:
-
API:General-Improvements
-
API:GeneralQuestion
05-02-2021
15:50
Hello,
Tested both in the Swagger documentation and my integration, parameters pageNumber and pageSize have no impact on the result returned by endpoint GET /controller/api/v1/vatCategory. All the categories are always returned. Only parameters numerToRead and skipRecords work.
... View more
Categories:
- Categories:
-
API:VatCategory
02-02-2021
16:36
Throttling applies per client ID, correct? I don't see it explicitely stated. For development, we all work on the same company, but we have several different applications that use the API.
... View more
27-01-2021
11:15
Our users need to see the calculated VAT amount of an expense receipt. Can a field with this information be added in ExpenseReceiptDto?
... View more
06-01-2021
16:22
We need two new endpoints, one to submit an expense claim, the other to send an expense claim for approval. The endpoints would be similar to the ones for timecards: POST /controller/api/v1/timeCard/{timeCardCd}/action/submit POST /controller/api/v1/timeCard/{timeCardCd}/action/approval For consistency, the /action/hold endpoint should probably also be exposed.
... View more
06-01-2021
09:50
Our application needs to let the user be able to delete an expense claim as well as expense receipts.
... View more
15-09-2020
15:35
Hi Magnus, We have implemented the workaround you suggested, and so far it seems to be working as expected. Thanks a lot for your help!
... View more
04-09-2020
14:57
1 Kudo
Hello, Our scenario was already reported there. When filtering entities by lastModifiedDateTime, we would like either: - entities to be sorted by internalId rather than lastModifiedDateTime - or to be able to choose an order with an orderby query parameter Thank you
... View more
03-09-2020
15:10
Actually it would be perfect for our scenario if the results were always ordered by the PK, unfortunately it's not the case when using the lastModifiedDateTime query parameter. With this parameter, the results are ordered by lastModifiedDateTime. Is this a bug then?
... View more
03-09-2020
14:30
Hello, We would like to be able to order the results by a certain field for endpoints /customer, /supplier and /contact. The orderBy query parameter, when it exists, doesn't seem to have any effect on the order of the returned items. This would help solving the issue we currently have. Our scenario (using contact as an example, same scenario for other entities): we need to fetch all the contacts that were modified after a certain date and process them. During the process, we might update the contacts. We actually fetch the contacts and process them page by page, with a page size of 25. In other words: fetch 25 contacts, update them, fetch next 25 contacts, update them and so on. The problem is that when using the lastModifiedDateTime query parameter, the results are automatically ordered by the lastModifiedDateTime field. Since we update the 25 first contacts after we fetched them, their lastModifiedDateTime changes and these contacts are no longer the 25 first contacts. When fetching the second page of 25 contacts, the order has changed and we miss some contacts and process other contacts twice. If we could order the contacts by another field then the order would not change and we would be able to process all the contacts. Our workaround is to fetch all the contacts before processing them, but it means that all the contacts are loaded in memory, which is not ideal. Do you have any plan to implement the orderby query parameter for these endpoints? Thank you
... View more
Activity Feed for Véronique
- Posted Re: [Release Notes] - Sales Order Service API 1.0.14.936 on News in Developers Visma.net. 14-11-2024 15:48
- Posted Cannot get multiple refresh tokens per browser session on Forum in Developers Visma.net. 17-05-2023 14:26
- Posted Invalid format for date attribute on Forum in Developers Visma.net. 08-09-2022 17:08
- Posted Expose the VAT amount of an expense receipt (ExpenseClaimDetailDto) on Ideas in Developers Visma.net. 22-11-2021 10:29
- Posted Duplicate operationId Shipment_PostByshipmentNumber in swagger on Ideas in Developers Visma.net. 08-10-2021 10:48
- Got a Kudo for Systematically add a filter on status. 08-02-2021 09:27
- Posted Systematically add a filter on status on Ideas in Developers Visma.net. 05-02-2021 16:39
- Posted Swagger file doesn't describe attachment endpoints properly on Forum in Developers Visma.net. 05-02-2021 16:11
- Posted Pagination not working for VatCategory endpoint on Forum in Developers Visma.net. 05-02-2021 15:50
- Posted Re: Throttling policy for "TEST" type "API Client" for Visma.Net ERP API has bee on News in Developers Visma.net. 02-02-2021 16:36
- Kudoed Generating token with oAuth2 for Visma.Net API in Postman for Magnus Johnsen. 29-01-2021 13:10
- Posted Expose the VAT amount of an expense receipt on Ideas in Developers Visma.net. 27-01-2021 11:15
- Posted Add endpoints to submit and send for approval an expense claim on Ideas in Developers Visma.net. 06-01-2021 16:22
- Posted Expose DELETE operation for ExpenseClaim and ExpenseReceipt endpoints on Ideas in Developers Visma.net. 06-01-2021 09:50
- Posted Re: Add possibility to order entities by other field than lastModifiedDateTime when filter applies on Ideas in Developers Visma.net. 15-09-2020 15:35
- Got a Kudo for Add possibility to order entities by other field than lastModifiedDateTime when filter applies. 07-09-2020 07:36
- Posted Add possibility to order entities by other field than lastModifiedDateTime when filter applies on Ideas in Developers Visma.net. 04-09-2020 14:57
- Posted Re: Orderby query parameter on Forum in Developers Visma.net. 03-09-2020 15:10
- Posted Orderby query parameter on Forum in Developers Visma.net. 03-09-2020 14:30