
I created separate blog posts for my notes from each session:
Day 1 (Wednesday, June 15, 2022)
09:00am – Welcome & Keynote – Ali Jani
09:30am – xRP Framework Fundamentals & Best Practices – Nayan Mansinha
10:40am – Web Services – Samuel-Oliver Lavigueur (this post)
Day 2 (Thursday, June 16, 2022)
10:20am – Acumatica Workflow – Doug Johnson
12:40pm – Acumatica Developer Roadmap – Mike Chtchelkonogov & Andrew Boulanov
Now for Acumatica Web Services presented by Samuel-Olivier Lavigueur #AcumaticaDevCon pic.twitter.com/GvyiN3tYsv
— Tim Rodman (@TimRodman) June 15, 2022
Here is our Agenda #AcumaticaDevCon pic.twitter.com/VHnGn3SqT4
— Tim Rodman (@TimRodman) June 15, 2022
Here are the Concepts in a Word Cloud #AcumaticaDevCon pic.twitter.com/6MpaxzVkjy
— Tim Rodman (@TimRodman) June 15, 2022
Here is the stuff related to Endpoint #AcumaticaDevCon pic.twitter.com/Tx4YkiHZQs
— Tim Rodman (@TimRodman) June 15, 2022
I like these definitions. I was using "Endpoint" and "System Contract" interchangeably, but they are different. #AcumaticaDevCon pic.twitter.com/xvWX7tHoMm
— Tim Rodman (@TimRodman) June 15, 2022
Both Validate Endpoint and Validate Entity do the same thing in substance, but Validate Entity has a smaller scope. #AcumaticaDevCon pic.twitter.com/MFgRYiO933
— Tim Rodman (@TimRodman) June 15, 2022
I didn't realize that you can add Generic Inquiries to an Endpoint. You can even interact with the Generic Inquiry Parameters Cool! #AcumaticaDevCon pic.twitter.com/7cNkvLylDX
— Tim Rodman (@TimRodman) June 15, 2022
There are 4 types of Requests that you can issue to an Endpoint #AcumaticaDevCon pic.twitter.com/zZFwZVTi2I
— Tim Rodman (@TimRodman) June 15, 2022
Here are the key words related to Authentication #AcumaticaDevCon pic.twitter.com/NBZPfSNUXF
— Tim Rodman (@TimRodman) June 15, 2022
Here are requests that you can issue related to Authentication. Password, Implicit, and Authorization Code are flows. Each has different scopes. #AcumaticaDevCon pic.twitter.com/3ZTMepIAv2
— Tim Rodman (@TimRodman) June 15, 2022
Session Cookies vs. Tokens. If using Cookies, don't forget to logout! Personally, I prefer OAuth. #AcumaticaDevCon pic.twitter.com/BY1PyB8VzL
— Tim Rodman (@TimRodman) June 15, 2022
Regarding offline access, the Refresh Token is valid for 1 month from the first request that retrieved a token. #AcumaticaDevCon pic.twitter.com/AT2u17YpPA
— Tim Rodman (@TimRodman) June 15, 2022
Here are the key words related to Parameters #AcumaticaDevCon pic.twitter.com/s0znqTPpfY
— Tim Rodman (@TimRodman) June 15, 2022
This is what the various parameters do. $filter is especially useful when working with large datasets that are connected to a Generic Inquiry that is exposed as OData. #AcumaticaDevCon pic.twitter.com/lfGEMYk9Fe
— Tim Rodman (@TimRodman) June 15, 2022
$top and $skip allow you to retrieve large amounts of data in smaller chunks. #AcumaticaDevCon pic.twitter.com/K7WpTFYeg4
— Tim Rodman (@TimRodman) June 15, 2022
Here are the key words related to Fields #AcumaticaDevCon pic.twitter.com/xSL44u3TPD
— Tim Rodman (@TimRodman) June 15, 2022
Key Fields are usually the first field(s) listed on a screen in Acumatica #AcumaticaDevCon pic.twitter.com/f8mfXU4ekw
— Tim Rodman (@TimRodman) June 15, 2022
That's pretty cool that even Custom Fields and User Defined Fields can be accessed #AcumaticaDevCon pic.twitter.com/bYg23g2TFc
— Tim Rodman (@TimRodman) June 15, 2022
Even though the Note and File fields are not visible in the entity definition, they get returned in the response automatically #AcumaticaDevCon pic.twitter.com/fyAmbKSsfu
— Tim Rodman (@TimRodman) June 15, 2022
4 key words related to Headers #AcumaticaDevCon pic.twitter.com/x3QcHiJIFG
— Tim Rodman (@TimRodman) June 15, 2022
Details about the Headers. If-Match and If-None-Match are not required (I don't think I've seen these before). #AcumaticaDevCon pic.twitter.com/8wTZEyFJXv
— Tim Rodman (@TimRodman) June 15, 2022
If-None-Match is useful if you don't want to accidentally update a record. #AcumaticaDevCon pic.twitter.com/orNtTdBx5b
— Tim Rodman (@TimRodman) June 15, 2022
Only one key word related to License #AcumaticaDevCon pic.twitter.com/fSz42m4QeA
— Tim Rodman (@TimRodman) June 15, 2022
You can find your License Limitations on the License Monitoring Console screen in Acumatica #AcumaticaDevCon pic.twitter.com/AJcCYBQ6pZ
— Tim Rodman (@TimRodman) June 15, 2022
Here are the 3 specific things related to License limitations with API requests in Acumatica #AcumaticaDevCon pic.twitter.com/mbWcpNarfl
— Tim Rodman (@TimRodman) June 15, 2022
We're done with the PowerPoint slides. Time for a demo! #AcumaticaDevCon pic.twitter.com/H92R58FSw1
— Tim Rodman (@TimRodman) June 15, 2022
Let's access an Endpoint #AcumaticaDevCon pic.twitter.com/qM9DxfoR1f
— Tim Rodman (@TimRodman) June 15, 2022
Here is a good help article comparing system contracts #AcumaticaDevCon pic.twitter.com/waoY05FMmI
— Tim Rodman (@TimRodman) June 15, 2022
This SalesOrder entity corresponds to a specific screen #AcumaticaDevCon pic.twitter.com/4yKHTm9tea
— Tim Rodman (@TimRodman) June 15, 2022
POPULATE and EXTEND ENTITY are grayed out because this is an out-of-the-box Endpoint. Click EXTEND ENDPOINT to create your own based on it. #AcumaticaDevCon pic.twitter.com/nNom9mfMBG
— Tim Rodman (@TimRodman) June 15, 2022
Here is an extended Endpoint #AcumaticaDevCon pic.twitter.com/xeYVFZbHDM
— Tim Rodman (@TimRodman) June 15, 2022
Use POPULATE button to easily add fields from the screen to the Endpoint #AcumaticaDevCon pic.twitter.com/4ICQCE98nK
— Tim Rodman (@TimRodman) June 15, 2022
The small arrow next to an Entity means that it hasn't been modified from the definition in the Base Endpoint. #AcumaticaDevCon pic.twitter.com/F7sZS4jFRN
— Tim Rodman (@TimRodman) June 15, 2022
Now for Postman, starting with Login. Note that Samuel is using a {{BaseUrl}} variable. #AcumaticaDevCon pic.twitter.com/5MptNgryVn
— Tim Rodman (@TimRodman) June 15, 2022
Tenant not required for Single Tenant environments, but still recommended. #AcumaticaDevCon pic.twitter.com/EIBGrVkPML
— Tim Rodman (@TimRodman) June 15, 2022
204 No Content means that we logged in successfully. Also note the Cookies returned. #AcumaticaDevCon pic.twitter.com/Ngk5mIExf8
— Tim Rodman (@TimRodman) June 15, 2022
Now retrieving a list of Sales Orders for Customer ABARTENDE #AcumaticaDevCon pic.twitter.com/Z5Z7z4N8qD
— Tim Rodman (@TimRodman) June 15, 2022
200 OK means a successfully returned list #AcumaticaDevCon pic.twitter.com/IXjeA7P45v
— Tim Rodman (@TimRodman) June 15, 2022
Key fields can be specified directly in the URL on the top #AcumaticaDevCon pic.twitter.com/jcOEp2GQIe
— Tim Rodman (@TimRodman) June 15, 2022
Now we don't get an array returned, just a single Sales Order #AcumaticaDevCon pic.twitter.com/4d1Xr17vIq
— Tim Rodman (@TimRodman) June 15, 2022
We can do this to restrict the list of fields that are returned. #AcumaticaDevCon pic.twitter.com/kdRIXxIlKC
— Tim Rodman (@TimRodman) June 15, 2022
$top and $skip restrict the number of records returned #AcumaticaDevCon pic.twitter.com/CU7EYB1JbL
— Tim Rodman (@TimRodman) June 15, 2022
We can use $top, $skip, and $select together #AcumaticaDevCon pic.twitter.com/oG77pZ4Pr3
— Tim Rodman (@TimRodman) June 15, 2022
Use $expand to see the lines that are inside the Sales Order. Note the Details section returned on the right-hand side. Look at the name before the colon in the Endpoint. #AcumaticaDevCon pic.twitter.com/339GmXkomk
— Tim Rodman (@TimRodman) June 15, 2022
Now for interacting with User-Defined fields #AcumaticaDevCon pic.twitter.com/DmV5EZ5K4n
— Tim Rodman (@TimRodman) June 15, 2022
We can use $custom to retrieve a custom (or User-Defined) field without having to extend the Endpoint. You also need to specify the View Name that you can see with Inspect Element. Custom section returned always lands on the bottom. #AcumaticaDevCon pic.twitter.com/kYmlieDfIK
— Tim Rodman (@TimRodman) June 15, 2022
Now let's create a Sales Order with 2 lines. If we had added $expand, then it would have returned the lines in the response on the right. #AcumaticaDevCon pic.twitter.com/6m0QoNAxov
— Tim Rodman (@TimRodman) June 15, 2022
To develop a PUT request, start with a GET request and remove the stuff that you don't want. Also recommended to work in tandem with the UI. #AcumaticaDevCon pic.twitter.com/4ba6nAapuh
— Tim Rodman (@TimRodman) June 15, 2022
We can target a specific record with the key fields or the "id" GUID value #AcumaticaDevCon pic.twitter.com/OWAtOW71Jn
— Tim Rodman (@TimRodman) June 15, 2022
Triggering the SalesOrderCreateShipment action on a specific Sales Order #AcumaticaDevCon pic.twitter.com/z6jiw3DHeb
— Tim Rodman (@TimRodman) June 15, 2022
We can even specify parameters by adding "parameters" after "id" #AcumaticaDevCon pic.twitter.com/anCpIaT60q
— Tim Rodman (@TimRodman) June 15, 2022
202 Accepted means that the request was received, but not yet completed. Note the URL returned. #AcumaticaDevCon pic.twitter.com/PpKKCl0o6f
— Tim Rodman (@TimRodman) June 15, 2022
Use the URL returned to get the 204 No Content status which means that the action has completed. #AcumaticaDevCon pic.twitter.com/LuVa7QtEjg
— Tim Rodman (@TimRodman) June 15, 2022
This action threw an error so we got a 500 Internal Server Error response. As expected, we also get an error in the UI. #AcumaticaDevCon pic.twitter.com/KoAd3r8Pko
— Tim Rodman (@TimRodman) June 15, 2022
To delete a Sales Order, either use the key fields or the id. 204 No Content means the Sales Order was deleted successfully. #AcumaticaDevCon pic.twitter.com/3QZoBjV94r
— Tim Rodman (@TimRodman) June 15, 2022
Now for OAuth #AcumaticaDevCon pic.twitter.com/aEll4gz3f2
— Tim Rodman (@TimRodman) June 15, 2022
When grant_type is password, you supply the username and password. You get back an access_token back #AcumaticaDevCon pic.twitter.com/laaFDTPoY0
— Tim Rodman (@TimRodman) June 15, 2022
Add Authorization as a KEY on the left, with Bearer, then the token as the VALUE when you want to use your token in a request. #AcumaticaDevCon pic.twitter.com/VLfTDqD4Ep
— Tim Rodman (@TimRodman) June 15, 2022
Sneak Peak at 2022 R2 Default Endpoint stuff #AcumaticaDevCon pic.twitter.com/m4tzRISxlI
— Tim Rodman (@TimRodman) June 15, 2022
Looks cool. I'm looking forward to seeing this in 2022 R2. #AcumaticaDevCon pic.twitter.com/BCh4SRwDOX
— Tim Rodman (@TimRodman) June 15, 2022
Thanks for a great presentation Samuel! #AcumaticaDevCon pic.twitter.com/nYhd18RRCH
— Tim Rodman (@TimRodman) June 15, 2022