Thank you for visiting our Partner Zone. This area is an exclusive space for MYOB Partners. Find out how to Partner with MYOB.
October 2021 - last edited October 2021
October 2021 - last edited October 2021
I am using the C# SDK Api communicating to a local filew on my network and I can successfully create and then get the employee. I want to then update that employees PayrollDetails. However, I get a 409 conflic error and I cannot see what I am doing wrong. Below is my code. The repositories definately return the correct employee and payroll details but when I call the update method it gives me a 409 conflict error and nothing else
I create the employee first and then do another call to get the employee. This allows me to then populate the payrolldetails
Should I be creating the employee and the payroll details at the same time? The endpoint doco says that payroll details are only GET, PUT
//gets the employee var employee = _myobEmployeeRepository.Get(uri); //gets the payroll details of the employee var prd =_myobEmployeeRepository.GetPayrollDetails(employee.EmployeePayrollDetails.UID); prd.Employee = new EmployeeLink{UID = employee.UID}; prd.DateOfBirth = DateTime.Parse(request.MyobEmployeeDto.DateOfBirth); prd.StartDate = DateTime.Now; prd.EmploymentBasis = EmploymentBasis.Individual; prd.EmploymentCategory = EmploymentCategory.Permanent; prd.PaySlipDelivery = PaySlipDelivery.ToBeEmailed; prd.PaySlipEmail = request.MyobEmployeeDto.PrimaryEmail; prd.RowVersion = "10"; //attempt to update var service = new EmployeePayrollDetailsService(); var e = service.Update(CompanyFile, employeePayrollDetails, Credentials); //throws 409 conflict
Solved! Go to Solution.
October 2021
October 2021
HI @kjm
Thanks for sending that through. The error 409 IncorrectRowVersionSupplied is generally always the result of the record being changed and the row version that you are using becomes out of date.
Taking a look at your request, there is nothing that we can stop that looks out of place. We recommend that you do a GET request first and use the response JSON to check that the row version that you are using matches the GET before your PUT request.
If you still continue to receive this error you can create a support request with us HERE and we can have a more in-depth look at what is occurring.
Thanks,
@Hannah_B
MYOB API Specialist
MYOB API Support Centre|MYOB App Marketplace|MYOB AccountRight API Endpoint Doc's
Did my answer help?
Mark it as a Solution
October 2021 - last edited October 2021
October 2021 - last edited October 2021
EDIT: I just removed setting the RowVersion. The doco is pretty light on this and it does say the row version must be provided when using a put which led me to belive I had to provide it...my fault but the api doco could be clearer on this
ok. Thanks for that
I am manually setting the row version to 10. What sahould I be setting it to? should I just be setting it to the value which is retrieved? from what I recall it was something like a negative number for example "-64564646456546"
Is this something I shold not change ? or is this some kind of time calculation or something?
5
|
145
|
|||
7
|
803
|
|||
1
|
624
|
|||
1
|
403
|
|||
4
|
446
|