In my case, when I view a order detail in admin, it always shown:
Warning: You do not have permission to access the API!
I'm not sure is it a oc bug, this issue is happen when we open the order info page, the api will login by ajax automatic, and register a session called 'api_id'.
But when I try to change my order's status, I'll get API error because the api_id is not exist!?
It's really strange, where is my $session['api_id'] !?
I guess because I separate admin to another domain, and my frontend web is using cloudflare CDN....
Anywhere, if you have same issue like me, and you've try these steps already.... Than you can try my extension after.
First go into System > User > API
1 Give Name To Your API Example : " Main IP "
2 Click on Generate API
3 Make it Enable
Click on API Addressees
Click on ADD IP
Copy paste your IP
Click on Save
Then Go to System > Setting > Edit Your main Store > Click on Option
See here : API User
Select Your API USER Which was created in last Stage
For Example Select " main IP "
My extension will add a new function in api.php, if order's ajax can't find api_id session, it will go get the api_id from your db by session_id and token string. Hope it can help you, good luck!!!
Use default Extension Installer
After install: Go Extension / Modifications (extension/modification), click Refresh button.