ShopBase Developers
  • Getting started
  • Build An App
    • Making your first request
      • Authentication
        • Public apps
        • Private apps
        • OAuth
        • API access scopes
      • Rest API References
        • Rate limits
      • Using webhooks
        • Webhook events and topics
      • Response status codes
    • How to submit an app to ShopBase App Store
    • Getting your app approved
      • App requirements
      • Testing your app
      • Submitting your app
      • The review process
  • BUILD A THEME
    • Getting started building themes
    • Theme development resources
      • Connect to your store & start developing
      • Theme structure
      • Theme object, methods, and props
      • Theme editor
        • How to update configure for theme editor
    • How to submit a theme to ShopBase Theme Store
    • Storefront SDK
  • Test and Debug app
    • Debug apps with Postman
  • Tutorial
    • Manage orders and shipping
      • Manage orders with the REST Admin API
        • Transaction
        • Order
      • Edit an existing order with the Admin API
      • Manage fulfillments with Fulfillment and FulfillmentService resources
      • Get a country field using Admin API
  • Integrate a payment gateway
    • How to create your payment gateway on ShopBase
    • Technical Specifications
Powered by GitBook
On this page
  • Types of edits to an order
  • Access scopes
  • Begin order editing
  • Delete an order
  • Cancel an order
  • Open-Close a closed order

Was this helpful?

  1. Tutorial
  2. Manage orders and shipping

Edit an existing order with the Admin API

PreviousOrderNextManage fulfillments with Fulfillment and FulfillmentService resources

Last updated 4 years ago

Was this helpful?

Apps can edit any order created by a Shopbase channel (for example, POS, online store, or draft orders) or any orders the app created through the API.

This guide explains how to use the Admin API to edit an existing order. For example, you might add new items to a customer’s order or alter the quantity of line items.

Types of edits to an order

You can make the following edits to an order:

  • Adjust quantity of a line item

  • Add new custom line items

  • Delete an order

  • Cancel an order

  • Open-Close a closed order

Access scopes

To use the Admin API to edit orders, your app needs to request the write_order_edits access scope for a Shopbase store. For more information on requesting access scopes when your app is installed, see .

Begin order editing

Retrieves a specific order

In Manage orders with the Rest Admin API, we learned how to create a new order and get its ID for future use. If you need to retrieve all the information related to a specific order, then do the following steps

Step 1: Send a GET method to this request URL

Step 2: Save the request method for later use with Postman:

Step 3: Get the first line item's id properties for later adjustment.

let response = pm.response.json()
if (response.order.line_items[0].length > 0) pm.globals.set("line_item_id", response.order.line_items[0].id)

Adjust quantity of a line item.

You can adjust the quantity of a line item to an order by passing the item id:

PUT https://shop-name.onshopbase.com/admin/orders/{order_id}/adjust.json

SAMPLE

{
  "is_send_email": true,
  "line_items": [
    { "id": {{line_item_id}},
      "name": "New Item",
      "properties": "Color",
      "quantity": 15,
      "require_shipping": true,
      "restock": true,
      "variant_id": 0
    }
  ],
  "reason": "Need more quantity"
}

See the request in action with Postman:

let response = pm.response.json()

if (response.order.line_items[0].length > 0) {
   pm.globals.set("line_item_id", response.order.line_items[0].id)
}

It is always beneficial to save the request in the same collection we have been using for later use.

Add new custom line items

You can adjust the quantity of a line item to an order by passing:

PUT https://shop-name.onshopbase.com/admin/orders/{order_id}/adjust.json

SAMPLE

{
  "is_send_email": true,
  "line_items": [
    {
      "id": 0,
      "is_custom": true,
      "name": "string",
      "price": 20,
      "properties": "string",
      "quantity": 10,
      "require_shipping": true,
      "restock": true,
      "variant_id": 0
    }
  ],
  "reason": "We need more item"
}

To create a new line item without modifying a pre-existed one, set the line item's id and variant's id to zero.

Delete an order

Deleting an order is truly simple. You can remove an existing order by passing:

DELETE https://shop-name.onshopbase.com/admin/orders/{order_id}.json

Cancel an order

POST https://shop-name.onshopbase.com/admin/orders/{order_id}/cancel.json

SAMPLE

{
  "amount": "20",
  "currency": "USD",
  "email": true,
  "reason": "customer",
  "refund": {},
  "restock": true
}

Open-Close a closed order

To open or close an order, pass the following POST method:

POST

https://shop-name.onshopbase.com/admin/orders/{order_id}/open.json

GET

We have already learned how to get your API credential in .

Make sure you already has a set payment method before cancelling the order. For instruction on creating a payment method using Shopbase Api, read

OAuth
https://shop-name.onshopbase.com/admin/orders/{{order-id}}.json
the test and debug post
here