Question

Create arrivals via REST in IFS Cloud

  • 29 February 2024
  • 3 replies
  • 57 views

Badge +3

Hello, I am attempting to create an arrival to receive a Purchase Order line via REST API. I am inspecting the endpoint calls that Aurena makes during the process, but i’m unable to figure out which call is actually performing the receipt. I see calls to CreateReceiptSet but the payload doesnt include the information from the arrival line (PO #, Line, Etc). I also see CreateArrivalReceipt, but it only uses what i assume is the OBJKEY that is returned from CreateReceiptSet. I know this is a little tricky because an assistant is involved, but I cant seem to make sense of the calls that are happening. Any tips for figuring out how this assistant works? 


3 replies

Userlevel 2
Badge +6

Hi @mdezzi ,


It’s quite interesting how IFS assistants work 😀, The workflow behind editing fields in an assistant involves several HTTP requests, beginning with a POST API call to create a record in a temporary table when a field is first edited. Subsequently, a series of PATCH requests are made to update the initial record created. Each request returns the objkey of the corresponding record in the temporary table. Upon completing the assistant, a separate POST request is sent to a different endpoint, often labeled as "finish" or "create".Usually objkey returned from the previous requests is passed as a parameter in this final request. This objkey serves as a reference to the edited record in the temporary table and ensures that the changes made during the assistant's interaction are properly captured and processed. 

/Trewon

Badge +3

@Trewon Yes, i can see from the trace that multiple endpoints are called sequentially, and they are all refrencing an OBJKEY. However I dont see anywhere where the actual input information (PO#, Line, etc) is fed in and OBJKEY is returned. 

Userlevel 6
Badge +15

@mdezzi from what I can see, there’s a GET API call that selects the PO Number & Line:

https://xxxxxx-uat.ifs.cloud/main/ifsapplications/projection/v1/CreateReceipt.svc/CreateReceiptSet(Objkey='128F5FFCF77CAF0BE0632562F20A1D4A')/ReceiveLines?

 

And then a few calls below is a POST that does the actual receipt based on Objkey:

https://xxxxxxx-uat.ifs.cloud/main/ifsapplications/projection/v1/CreateReceipt.svc/CreateArrivalReceipt

Payload:
{ParentObjkey: "128F5FFCF77CAF0BE0632562F20A1D4A"}

 

So, I would say that based on your Source Ref 1 / 2 /3 / 4 you need to get the Objkey and then call CreateReceipt.svc/CreateArrivalReceipt

Reply