I want to develop new module for changing order status using Api in magento 2.3.5 so can anyone have idea then please share with me. I want to create order status and change it using Api.
5 Answers 5
I am using Integromat for automatic change order status.
But if I do this API call than I recieve 400: Request method is invalid. I tried to use different methods like PATCH, PUT and still get 400.
My connection is functional, beacause other actions like Find orders is functional. But dont know why this api calls doesnt work(any custom API calls).
URL: /rest//V1/orders/
Header: Content-Type: application/json Authorization: Bearer auth.token
Body:
{
"entity": {
"entity_id": xxxxx,
"state": "processing",
"status": "prijata_platba"
}
}
Could you help me with this? Thank you
-
Thank You for your solution.Deep Shah– Deep Shah2021年04月29日 06:24:59 +00:00Commented Apr 29, 2021 at 6:24
You can use the rest webservice: http://yoursite.com/index.php/rest/V1/orders
On the body you just have to pass:
{
"entity":
{
"entity_id": your order id,
"state": your state,
"status": your status
}
}
Don't forget to also include in the http header the following fields:
Content-Type: application/json
Authorization: Bearer Your authentication token
Any more help or explanation needed feel free to ask ;)
try this on postman, it's a lot easier to test and debug !
-
I want to develop api for this thingDeep Shah– Deep Shah2020年06月16日 11:18:25 +00:00Commented Jun 16, 2020 at 11:18
-
1What do you mean by developing API? You want to make a C# function to call the Webservice?Joao71– Joao712020年06月16日 11:26:48 +00:00Commented Jun 16, 2020 at 11:26
-
yes i want to C# function to call the webserviceDeep Shah– Deep Shah2020年06月16日 11:31:54 +00:00Commented Jun 16, 2020 at 11:31
-
But which key prevails, the
statusorstate? Because when I provide thestatekey it won't accept it, but will return a 200 response if it only has thestatusone. So I guess the former one is not required. Is that correct?Seb– Seb2021年03月12日 09:40:24 +00:00Commented Mar 12, 2021 at 9:40 -
Thank you for your solution.Deep Shah– Deep Shah2021年04月29日 06:24:37 +00:00Commented Apr 29, 2021 at 6:24
Try this params. It is working.
{
"entity": {
"entity_id": 1,
"state":"processing",
"status": "processing"
}
}
Check mapping in sales_order_status_state.
Happy Coding.
You can call POST V1/orders/{orderID}/comments
Example:
Website URL = example.com
Store code = default
Order ID = 1234
API URL will be:
example.com/rest/default/V1/orders/1234/commentsAPI Method = POST
REQUEST BODY
{
"statusHistory" : {
"comment": "Your comment...",
"is_customer_notified": 0,
"is_visible_on_front": 0,
"parent_id": 1234, <-- This is the Order ID
"status": "complete"
}
}
https://developer.adobe.com/commerce/webapi/rest/quick-reference/
-
This method no longer works starting from Magento 2.4.7. Extract from the 2.4.7 changelog; "The REST V1/orders/{id}/comments endpoint no longer changes the status of an order when trying to add a comment to a pending order’s status. It now gives an informative error. Previously, this endpoint changed the order status when adding a comment."TheWebsiteGuy– TheWebsiteGuy2024年04月18日 08:20:51 +00:00Commented Apr 18, 2024 at 8:20
I can confirm that from 2.4.7 you can no longer change the order status via the comment api: https://github.com/magento/magento2/commit/aa01106ddc3c8586aa588d1932bc2904a4cb9d79
I am not sure what the alternative is thou
Explore related questions
See similar questions with these tags.