«

PATCH - api/M26/orders/{code}/customer - Khách hàng M26 huỷ đơn "Chờ thanh toán"

  • Header: X-Tenant
  • Path: code // mã đơn M26
  • Request body: { "eiOrder": true, // true: đơn UTXNK (ưu tiên xuất nhập khẩu), false: đơn thường "reasonCode": "string", // required đối với đơn thường "comment": "string" }
  • Đơn UTXNK là đơn có khối lượng ước tính lớn hơn 100kg
    • Given Hệ thống đang cấu hình lý do huỷ đơn với thông tin
      reasonCodereasonName
      not_need_buyKhông có nhu cầu mua nữa
      duplicateduplicate
      ordered_wrong_productĐặt sai sản phẩm
    • And Tài khoản "pamiuoi" đã có danh sách địa chỉ nhận hàng
      addressIdcountryprovincedistrictwarddefault
      VN_01Việt NamThành phố Hà NộiQuận Hà ĐôngPhường Yên Nghĩatrue
    • And Giỏ hàng "thường" của tài khoản "pamiuoi" đang trống
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 401 khi gửi request huỷ đơn Chờ thanh toán mà không có token

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01Chờ thanh toánSBM_01
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "eiOrder": false,
        "reasonCode": "not_need_buy",
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 401
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 401 khi gửi request huỷ đơn Chờ thanh toán với token đã hết hạn

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01Chờ thanh toánSBM_01
    • And Có token hết hạn
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "eiOrder": false,
        "reasonCode": "not_need_buy",
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 401
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 400 khi gửi request huỷ đơn Chờ thanh toán mà không có header X-Tenant

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01Chờ thanh toánSBM_01
    • And Có token của tài khoản "pamiuoi"
    • When Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "eiOrder": false,
        "reasonCode": "not_need_buy",
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
         "title": "Bad Request",
         "detail": "Required header 'X-Tenant' is not present."
      }
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 400 khi gửi request huỷ đơn Chờ thanh toán với header X-Tenant không hợp lệ

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01Chờ thanh toánSBM_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenant<x-tenant>
    • And Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "eiOrder": false,
        "reasonCode": "not_need_buy",
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "order_not_found"
      }

    Examples:

    x-tenant
    null
    m2
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 400 khi gửi request huỷ đơn hàng không tồn tại trên hệ thống

    • Given Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/SBM_01/customer" với body
      {
        "eiOrder": false,
        "reasonCode": "not_need_buy",
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "order_not_found"
      }
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 400 khi gửi request huỷ đơn mà không gửi reasonCode đối với đơn thường (eiOrder = false)

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01Chờ thanh toánSBM_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "eiOrder": false,
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "reason_not_empty",
        "detail": "Reason code is required with normal order"
      }
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 400 khi gửi request huỷ đơn với reasonCode để trống, null đối với đơn thường (eiOrder = false)

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01Chờ thanh toánSBM_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "eiOrder": false,
        "reasonCode": <reasonCode>,
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "<message>"
      }

    Examples:

    reasonCode message
    Bad Request
    null reason_not_empty
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 400 khi gửi request huỷ đơn thường với reasonCode không tồn tại

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01Chờ thanh toánSBM_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "eiOrder": false,
        "reasonCode": "no_exist",
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "reason_not_valid"
      }
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 400 khi gửi request huỷ đơn UTXNK với reasonCode không tồn tại

    • Given Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizepriceweight
      merchant_01product_01skuId_01skusId_0112111010
    • And Từ sản phẩm trong giỏ, tài khoản "pamiuoi" đã tạo đơn hàng UTXNK "DH001" với thông tin
      itemIdskuIdquantity
      product_01skuId_0112
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${DH001}/customer" với body
      {
        "eiOrder": true,
        "reasonCode": "no_exist",
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "reason_not_valid"
      }
  • Tags: @AUTOMATED, @TNK-7658

    Khi không gửi eiOrder, hệ thống quy định là đơn thường (eiOrder = false),

    trả status 400 nếu reasonCode null

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01Chờ thanh toánSBM_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "reason_not_empty"
      }
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 400 khi gửi request huỷ đơn đối với đơn ở trạng thái khác "Chờ thanh toán"

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01<status>SBM_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "eiOrder": false,
        "reasonCode": "not_need_buy",
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "order_had_paid"
      }

    Examples:

    status
    Chờ xử lý
    Chờ giao hàng
    Đang giao hàng
    Đã nhận hàng
    Đã hoàn tiền
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 400 khi gửi request huỷ đơn thường, body không gửi reasonCode và eiOrder = true. Hệ thống báo lỗi đơn không phải là đơn UTXNK.

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01Chờ thanh toánSBM_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "eiOrder": true,
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "order_is_not_ei_order",
        "detail": "Can not cancel normal order"
      }
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 200 khi gửi request với body không có eiOrder và reasonCode hợp lệ,

    hệ thống mặc định là eiOrder = false

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01Chờ thanh toánSBM_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "reasonCode": "not_need_buy",
        "comment": "Không có nhu cầu mua nữa"
      }
    • Then Trả về status code 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "code": "${SBM_01}",
        "status": "CANCELED",
        "reasonDelete": "not_need_buy",
        "commentDelete": "Không có nhu cầu mua nữa",
        "eiOrder": false
      }
  • Tags: @AUTOMATED, @TNK-7658

    Trả status 200 khi gửi request huỷ đơn thường khi có comment hoặc không có comment

    • Given Tài khoản "pamiuoi" đã có đơn hàng với thông tin
      Mã đơnTrạng tháiMã đơn SBM
      DH_01Chờ thanh toánSBM_01
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${SBM_01}/customer" với body
      {
        "eiOrder": false,
        "reasonCode": "not_need_buy",
        "comment": <comment>
      }
    • Then Trả về status code 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "code": "${SBM_01}",
        "status": "CANCELED",
        "reasonDelete": "not_need_buy",
        "commentDelete": <comment>,
        "eiOrder": false
      }

    Examples:

    comment
    "Không có nhu cầu mua nữa"
    null
  • Có thể huỷ đơn hàng UTXNK với body có thể gửi hoặc không gửi comment, reasonCode

    • Given Giỏ hàng của tài khoản "pamiuoi" đã có sản phẩm thuộc marketplace "1688" có thông tin
      merchantIdproductIdskuIdskusIdquantityorder_quantitybatchSizepriceweight
      merchant_01product_01skuId_01skusId_0112111010
    • And Từ sản phẩm trong giỏ, tài khoản "pamiuoi" đã tạo đơn hàng UTXNK "DH001" với thông tin
      itemIdskuIdquantity
      product_01skuId_0112
    • And Có token của tài khoản "pamiuoi"
    • When Request có header là
      X-Tenantm26
    • And Gửi request "PATCH" đến "/M26/orders/${DH001}/customer" với body
      {
        "eiOrder": true,
        "reasonCode": <reasonCode>,
        "comment": <comment>
      }
    • Then Trả về status code 200
    • And Response có body thỏa mãn giá trị như sau
      {
        "code": "${DH001}",
        "status": "CANCELED",
        "reasonDelete": <reasonCode>,
        "commentDelete": <comment>,
        "eiOrder": true
      }

    Examples:

    comment reasonCode
    "Không có nhu cầu mua nữa" "not_need_buy"
    null null