«

POST /api/M26/orders - Tạo đơn

  1. Khách hàng có thể lựa chọn loại hình vận chuyển khi tạo đơn: qua đơn vị được uỷ thác (địa chỉ nhận hàng VN) hoặc tự vận chuyển (địa chỉ nhận hàng TQ)
  2. Nếu lựa chọn vận chuyển qua đơn vị được uỷ thác, KH có thể lựa chọn dịch vụ, tỷ lệ cọc (hệ thống mặc định gửi lên dịch vụ Vận chuyển quốc tế)
  3. Nếu lựa chọn vận chuyển tự vận chuyển, KH không thể lựa chọn dịch vụ và tỷ lệ cọc (hệ thống mặc định gửi lên dịch vụ Vận chuyển nội địa)
  4. Đơn hàng sau khi tạo sẽ có trạng thái Chờ thanh toán
  5. Request body: [ { "skus": [ "3fa85f64-5717-4562-b3fc-2c963f66afa6" ], "code" (*): "string", "remark": "string", "services": [ "string" ], "depositRateCode":"string", // Trường mới dùng cho web "depositOnDemand": 0, // Trường cũ này vẫn để lại dùng cho app chạy sau và cho phép gửi lên 100, 50 "addressId": "string", "address": "string", "couponCode": "string" } ]
  6. Có thể tạo đơn thường hoặc đơn mua trọn gói từ thông tin sku:
    • Given Hệ thống đang hỗ trợ tỷ lệ đặt cọc có thông tin
      depositOnDemanddepositRateCode
      45rate45
      70rate70
      100rate100
  • Tags: @AUTOMATED, @TNK-3954, @TNK-9052

    Tạo đơn không thành công với token không hợp lệ

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Token đã hết hạn
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": ["standard_shipping"],
          "addressId": "${VN_01}",
          "address": "test"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 401
  • Tags: @AUTOMATED, @TNK-3954, @TNK-9052

    Tạo đơn không thành công khi không có token

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": ["standard_shipping"],
          "addressId": "${VN_01}",
          "address": "test"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 401
  • Tags: @AUTOMATED, @TNK-3954, @TNK-9052

    Tạo đơn không thành công khi gửi request không có header X-Tenant

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityorder_quantityservicesaddressIdbatchSize
      draft_01merchant_01product_01skuId_01skusId_0121standard_shippingVN_011
    • And Có token của tài khoản "lanhuong"
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": ["standard_shipping"],
          "addressId": "${VN_01}",
          "address": "test"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 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-3954, @TNK-9052

    Tạo đơn không thành công khi gửi request với header X-Tenant không hợp lệ

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantlinhtinh
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": ["standard_shipping"],
          "addressId": "${VN_01}",
          "address": "test"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 400
  • Tags: @AUTOMATED, @TNK-3954, @TNK-7875, @TNK-9052, @TNK-9545

    Tạo thành công đơn hàng với địa chỉ nhận hàng Việt Nam. Đơn hàng tạo thành công trả về thông tin mã đơn M1

    và có trạng thái Chờ thanh toán (NEW).

    • Given Tồn tại coupon với thông tin
      codevalid_fromvalid_toapply_scopesdiscount_typeformulacustomer_limitlimitfee_itemconfigremaining
      TETHOLIDAYAA+10["ORDER"]PERCENT1025[{"fee": "standard_shipping", "maxValue": "5000"}]{"single": true}5
    • And Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicescouponCodeaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012<services><couponCode>VN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": <skus>,
          "code": "${draft_01}",
          "remark": "<remark>",
          "services": [<servicesJson>],
          "depositRateCode": <depositOnDemandJson>,
          "addressId": "${VN_01}",
          "address": <addressDetail>,
          "couponCode": <couponCodeJson>
        }
      ]
    • Then Tôi nhận được response có HTTP Status 200
    • And Đơn hàng vừa tạo có thông tin mã đơn M1 "M1001"
    • And Response có body thỏa mãn giá trị như sau
      [
        {
            "code": "${draft_01}",
            "status": "NEW",
            "mappedOrders":["${M1001}"],
            "orderItems": [
                {
                    "itemId": "${product_01}",
                    "skuId": "${skuId_01}",
                    "sku": "${skusId_01}",
                    "quantity": 2
                }
            ],
            "services": [<servicesJson>],
            "addressId": "${VN_01}",
            "remark": "<remark>",
            "depositOnDemand": <depositOnDemand>,
            "couponCode": <couponCodeJson>
        }
      ]

    Examples:

    remark skus services servicesJson depositOnDemandJson depositOnDemand addressDetail couponCode couponCodeJson
    null ["${skusId_01}"] standard_shipping, inspection_advance "standard_shipping", "inspection_advance" "${rate100}" 100 null TETHOLIDAY "${TETHOLIDAY}"
    Hàng dễ vỡ ["${skusId_01}"] standard_shipping "standard_shipping" "${rate45}" 45 "Một nơi nào đó" TETHOLIDAY "${TETHOLIDAY}"
    Hàng dễ vỡ ["${skusId_01}"] standard_shipping "standard_shipping" "${rate70}" 70 "Một nơi nào đó" TETHOLIDAY "${TETHOLIDAY}"
    null null standard_shipping "standard_shipping" null 100 null null
  • Tags: @AUTOMATED, @TNK-3954, @TNK-9052

    Tạo thành công đơn hàng với địa chỉ nhận hàng là Trung Quốc. Đơn hàng tạo thành công có trạng thái Chờ thanh toán (NEW)

    • Given Tồn tại coupon với thông tin
      codevalid_fromvalid_toapply_scopesdiscount_typeformulacustomer_limitlimitfee_itemconfigremaining
      TETHOLIDAYAA+10["ORDER"]PERCENT1025[{"fee": "standard_shipping", "maxValue": "5000"}]{"single": true}5
    • And Tài khoản "lanhuong" đã có danh sách địa chỉ nhận hàng
      addressIdcountryprovincecitydistrictwarddefault
      TQ_01中国大陆广东省广州市黄埔区云埔街道true
    • And Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicescouponCodeaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012domestic_shipping<couponCode>TQ_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": <skus>,
          "code": "${draft_01}",
          "remark": "<remark>",
          "services": ["domestic_shipping"],
          "addressId": "${TQ_01}",
          "address": "<addressDetail>",
          "depositRateCode": "${rate100}",
          "couponCode": <couponCodeJson>
        }
      ]
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      [
      {
          "code": "${draft_01}",
          "status": "NEW",
          "orderItems": [
              {
                  "itemId": "${product_01}",
                  "skuId": "${skuId_01}",
                  "sku": "${skusId_01}"
              }
          ],
          "services": ["domestic_shipping"],
          "addressId": "${TQ_01}",
          "remark": "<remark>",
          "depositOnDemand": 100,
          "couponCode": <couponCodeJson>
      }
      ]

    Examples:

    remark skus addressDetail couponCodeJson couponCode
    null ["${skusId_01}"] null "${TETHOLIDAY}" TETHOLIDAY
    Hàng dễ vỡ ["${skusId_01}"] Một nơi nào đó "${TETHOLIDAY}" TETHOLIDAY
    null null
  • Trả về lỗi 400 khi gửi request tạo đơn không có services

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitymarketPlacebatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_01116881
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "code": "${draft_01}"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "Constraint Violation"
      }
  • Trả về lỗi 400 khi gửi request tạo đơn với services null hoặc empty

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitymarketPlacebatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_01116881
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "code": "${draft_01}",
          "services": <service>
        }
      ]
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "Constraint Violation"
      }

    Examples:

    service
    null
    []
  • Tags: @AUTOMATED, @TNK-3954, @TNK-9052

    Có thể tạo nhiều đơn hàng cùng lúc khi gửi request body gồm nhiều đơn nháp

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "<marketPlace1>" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "<marketPlace2>" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_02merchant_02product_02skuId_02skusId_023standard_shippingVN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": ["standard_shipping"],
          "addressId": "${VN_01}",
          "depositRateCode": "${rate100}"
        },
        {
          "skus": ["${skusId_02}"],
          "code": "${draft_02}",
          "services": ["standard_shipping", "inspection_advance"],
          "addressId": "${VN_01}",
          "depositRateCode":  "${rate45}"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      [
      {
          "code": "${draft_01}",
          "status": "NEW",
          "orderItems": [
              {
                  "itemId": "${product_01}",
                  "skuId": "${skuId_01}",
                  "sku": "${skusId_01}",
                  "quantity": 2,
                   "marketplace": "<marketPlace1>"
              }
          ],
          "services": ["standard_shipping"],
          "addressId": "${VN_01}",
          "depositOnDemand": 100,
          "depositRateCode": "${rate100}"
      },
      {
          "code": "${draft_02}",
          "status": "NEW",
          "orderItems": [
              {
                  "itemId": "${product_02}",
                  "skuId": "${skuId_02}",
                  "sku": "${skusId_02}",
                  "quantity": 3,
                  "marketplace": "<marketPlace2>"
              }
          ],
          "services": ["standard_shipping", "inspection_advance"],
          "addressId": "${VN_01}",
          "depositOnDemand": 45,
          "depositRateCode": "${rate45}"
      }
      ]

    Examples:

    marketPlace1 marketPlace2
    1688 1688
    taobao tmall
    taobao 1688
    tmall 1688
  • Tags: @AUTOMATED, @TNK-3954, @TNK-9052

    Đơn hàng có địa chỉ nhận TQ không thể lựa chọn tỷ lệ đặt cọc khác 100% và dịch vụ nào khác ngoài dịch vụ Vận chuyển nội địa

    • Given Tài khoản "lanhuong" đã có danh sách địa chỉ nhận hàng
      addressIdcountryprovincecitydistrictwarddefault
      TQ_01中国大陆广东省广州市黄埔区云埔街道true
    • And Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "<marketPlace>" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012domestic_shippingTQ_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": <services>,
          "addressId": "${TQ_01}",
          "address": "Một nơi nào đó ở TQ",
          "depositRateCode": "${<depositOnDemand>}"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "<message>"
      }

    Examples:

    marketPlace depositOnDemand services message
    1688 rate70 ["domestic_shipping"] deposit_on_demand_invalid
    taobao rate70 ["domestic_shipping"] deposit_on_demand_invalid
    tmall rate45 ["domestic_shipping"] deposit_on_demand_invalid
    1688 rate100 ["domestic_shipping", "inspection_advance"] order_service_not_domestic
    taobao rate100 ["standard_shipping"] order_service_not_domestic
    tmall rate100 ["standard_shipping"] order_service_not_domestic
  • Tags: @AUTOMATED, @TNK-3954, @TNK-9052

    Có thể tạo đơn hàng với địa chỉ nhận VN nếu gửi request body có dịch vụ Vận chuyển nội địa

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "<marketPlace>" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": ["domestic_shipping"],
          "addressId": "${VN_01}",
          "address": "Một nơi nào đó"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      [
        {
            "code": "${draft_01}",
            "status": "NEW",
            "orderItems": [
                {
                    "itemId": "${product_01}",
                    "skuId": "${skuId_01}",
                    "sku": "${skusId_01}",
                    "quantity": 2,
                    "marketplace": "<marketPlace>"
                }
            ],
            "services": ["domestic_shipping"],
            "addressId": "${VN_01}"
        }
      ]

    Examples:

    marketPlace
    taobao
    tmall
    1688
  • Tags: @AUTOMATED, @TNK-3954, @TNK-9052

    Không thể tạo đơn khi gửi request body có dịch vụ là dịch vụ chỉ nhân viên được chọn

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": ["standard_shipping", <serviceStaffOnly>],
          "addressId": "${VN_01}",
          "address": "Một nơi nào đó"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
        {
        "title": "Bad Request"
        }

    Examples:

    serviceStaffOnly
    standard_packaging
    special_packaging
    standard_bubble_wrapping
    special_bubble_wrapping
  • Tags: @AUTOMATED, @TNK-3954, @TNK-9052

    Tạo đơn không thành công khi không gửi lên mã đơn nháp

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "services": ["standard_shipping"],
          "addressId": "${VN_01}",
          "address": "Một nơi nào đó"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
        {
        "title": "Constraint Violation",
        "violations": [
            {
                "field": "code [0]",
                "message": "must not be blank"
            }
          ]
        }
  • Tags: @AUTOMATED, @TNK-3954, @TNK-9052

    Tạo đơn không thành công khi gửi request body với thông tin không hợp lệ

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": <skus>,
          "code": <code>,
          "services": <services>,
          "depositRateCode": <depositOnDemand>,
          "addressId": <addressID>
        }
      ]
    • Then Tôi nhận được response có HTTP Status <status>

    Examples:

    skus code services depositOnDemand addressID status
    ["${skusId_01}"] null ["standard_shipping"] "${rate100}" "${VN_01}" 400
    ["${skusId_01}"] "not_exist" ["standard_shipping"] "${rate100}" "${VN_01}" 400
    ["${skusId_01}"] "${draft_01}" ["standard_shipping"] "notExist" "${VN_01}" 404
    ["${skusId_01}"] "${draft_01}" ["not_exist"] "${rate100}" "${VN_01}" 400
    ["${skusId_01}"] "${draft_01}" ["standard_shipping"] "${rate100}" "not_exist" 400
  • Tags: @AUTOMATED, @TNK-9052

    Có thể tạo đơn khi gửi trực tiếp lên depositOnDemand thỏa mãn (45, 50, 70, 100) mà không gửi lên mã tỷ lệ đặt cọc

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "code": "${draft_01}",
          "services": ["standard_shipping"],
          "depositOnDemand": <depositOnDemand>,
          "addressId": "${VN_01}"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      [
        {
            "code": "${draft_01}",
            "status": "NEW",
            "orderItems": [
                {
                    "itemId": "${product_01}",
                    "skuId": "${skuId_01}",
                    "sku": "${skusId_01}",
                    "quantity": 2,
                    "marketplace": "1688"
                }
            ],
            "services": ["standard_shipping"],
            "addressId": "${VN_01}",
            "depositOnDemand": <depositOnDemand>
        }
      ]

    Examples:

    depositOnDemand
    100
    50
    45
    70
  • Tags: @AUTOMATED, @TNK-9052

    Tạo đơn không thành công khi gửi lên depositOnDemand không hợp lệ (Khác các giá trị 45, 50, 70, 100)

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "code": "${draft_01}",
          "services": ["standard_shipping"],
          "depositOnDemand": <depositOnDemand>,
          "addressId": "${VN_01}"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 400
    • And Response có body thỏa mãn giá trị như sau
      {
        "title": "deposit_on_demand_invalid"
      }

    Examples:

    depositOnDemand
    80
    65
  • Tags: @AUTOMATED, @TNK-9052

    Khi gửi lên cả thông tin tỷ lệ cọc trực tiếp và mã tỷ lệ cọc hệ thống ưu tiên lấy tỷ lệ cọc theo mã

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "code": "${draft_01}",
          "services": ["standard_shipping"],
          "depositOnDemand": 100,
          "depositRateCode": "${rate70}",
          "addressId": "${VN_01}"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      [
        {
            "code": "${draft_01}",
            "status": "NEW",
            "services": ["standard_shipping"],
            "addressId": "${VN_01}",
            "depositOnDemand": 70
        }
      ]
  • Tags: @AUTOMATED, @TNK-3954, @TNK-9052

    Tạo đơn thành công khi gửi request với coupon không hợp lệ, không áp dụng được coupon không hợp lệ cho đơn.

    • Given Tồn tại coupon với thông tin
      codevalid_fromvalid_toapply_scopesdiscount_typeformulacustomer_limitlimitfee_itemconfigremaining
      TETHOLIDAYA-2<validTo>["ORDER"]PERCENT10<customer_limit>5[{"fee": "standard_shipping", "maxValue": "5000"}]{"single": true}<remaining>
    • And Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": ["standard_shipping"],
          "addressId": "${VN_01}",
          "couponCode": "${TETHOLIDAY}"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      [
        {
          "couponCode": null,
          "totalCouponDiscountFee": 0
        }
      ]

    Examples:

    validTo customer_limit remaining
    A-1 2 5
    A+1 0 5
    A+1 1 0
  • Tags: @AUTOMATED, @TNK-6894, @TNK-9052

    Khi tạo đơn từ các sản phẩm có deal chiến lược, đơn hàng được đánh dấu là có ghi chú nội bộ

    • Given Tồn tại nhóm khách hàng có thông tin
      Mã nhómTỉ lệ cọcBộ cấu hình chính sách
      vip50Bieu_phi_ap_dung_ngay_09_03_2024
    • And Khách hàng "lanhuong" đang thuộc nhóm khách hàng "vip"
    • And Khách hàng thuộc nhóm "vip" có thể lên đơn deal chiến lược
    • And Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "1688" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitymarketPlaceshop deal chiến lượcbatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_01116881
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": ["domestic_shipping"],
          "addressId": "${VN_01}",
          "address": "Một nơi nào đó"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      [
        {
            "code": "${draft_01}",
            "status": "NEW",
            "dealDiscount": true,
            "depositOnDemand": 100,
            "depositRateCode": "${rate100}"
        }
      ]
    • And Đơn hàng tương ứng bên m2 có thông tin ghi chú nội bộ
  • Tags: @AUTOMATED, @TNK-6894, @TNK-9052

    Khi tạo đơn từ sản phẩm không có deal chiến lược, đơn hàng không được đánh dấu là có ghi chú nội bộ

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với sản phẩm thuộc marketplace "taobao" có thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdshop deal chiến lượcbatchSize
      draft_01merchant_01product_01skuId_01skusId_011standard_shippingVN_011
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": ["domestic_shipping"],
          "addressId": "${VN_01}",
          "address": "Một nơi nào đó"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      [
        {
            "code": "${draft_01}",
            "status": "NEW",
            "dealDiscount": false
        }
      ]
    • And Đơn hàng tương ứng bên m2 không có thông tin ghi chú nội bộ
  • Tags: @AUTOMATED, @TNK-11143

    Đơn hàng mua sản phẩm thường, không phải trọn gói thì đơn tạo tương ứng ở M2 không được đánh dấu là đơn trọn gói

    • Given Tài khoản "lanhuong" đã 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 Tài khoản "lanhuong" đã có danh sách đơn nháp với thông tin
      draftCodemerchantIdproductIdskuIdskusIdquantityservicesaddressIdorder_quantitybatchSize
      draft_01merchant_01product_01skuId_01skusId_012standard_shippingVN_0111
    • And Có token của tài khoản "lanhuong"
    • And Request có header là
      X-Tenantm26
    • When Gửi request "POST" đến "/M26/orders" với body
      [
        {
          "skus": ["${skusId_01}"],
          "code": "${draft_01}",
          "services": ["standard_shipping"],
          "addressId": "${VN_01}",
          "address": "test"
        }
      ]
    • Then Tôi nhận được response có HTTP Status 200
    • And Response có body thỏa mãn giá trị như sau
      [
        {
            "code": "${draft_01}",
            "status": "NEW",
            "addressId": "${VN_01}"
        }
      ]
    • And Đơn hàng tạo tương ứng ở M2 không được đánh dấu đơn là đơn trọn gói