pdeans/miva-rest-api

此包已被废弃且不再维护。未建议替代包。

用于与Miva JSON API交互的PHP REST API包装库。

安装: 11

依赖: 0

建议者: 0

安全性: 0

星星: 4

关注者: 2

分支: 0

开放问题: 0

类型:项目

v1.1.1 2019-02-10 02:49 UTC

This package is auto-updated.

Last update: 2023-06-03 21:01:25 UTC


README

此包已被废弃且不再维护。

Miva JSON API REST包装器

提供RESTful接口用于与Miva JSON API交互的PHP库。

目录

安装

通过 Composer 进行安装。

$ composer create-project pdeans/miva-rest-api RestApi

入门指南

Web服务器设置

Web服务器设置假定服务器上安装了标准的Miva Merchant。运行上述composer命令将库文件下载到名为RestApi的目录中。然后,应通过FTP将该目录上传到Web服务器的根目录。如果通过SSH安装,可以直接在Web服务器的根目录运行composer命令。

注意:项目文件绝对不应放在Web服务器的公共目录中,因为这可能会暴露API凭证。通常,这是/httpdocs目录。

接下来,在/RestApi目录根中,找到/httpdocs目录,并将/api目录及其所有内容复制或移动到Web服务器公共目录的根目录。同样,对于标准的Miva Merchant安装,公共目录通常是/httpdocs

目录和文件结构应类似于以下Web服务器根目录中的内容

/httpdocs (public directory)
    |-- /api
        |-- .htaccess
        |-- index.php

/RestApi
    |-- Project Files

基本上,/httpdocs/api/index.php文件中的require语句应链接到项目的/bootstrap/app.php路径。

# /httpdocs/api/index.php
$app = require_once __DIR__.'/../../RestApi/bootstrap/app.php';

配置

所有项目配置选项都存储在项目根目录下的.env文件中。

以下是与Miva Merchant JSON API相关的设置分解

必需 描述
MM_STORE_CODE 商店代码。
MM_API_URL API端点URL。
MM_API_TOKEN API访问令牌。
MM_API_KEY API私钥。
MM_API_HTTP_HEADERS 在每次API请求中发出的Http头部。头部名称和值由冒号":"分隔。可以通过逗号分隔的列表发出多个头部。

示例值
"Auth: Basic dXNlcjpwYXNzd29yZA==, Custom: header-value"
MM_API_HTTP_CLIENT_OPTS 在底层http客户端上设置的Curl选项。Curl选项名称和值由冒号":"分隔。可以通过逗号分隔的列表发出多个选项。

示例值
"CURLOPT_SSL_VERIFYPEER:0, CURLOPT_SSL_VERIFYHOST:0"

IP白名单

需要在Miva Merchant管理员中的API令牌配置下将Web服务器的IP地址添加到允许的IP地址列表中。

发出请求

REST接口允许通过客户端和服务器端请求与Miva JSON API功能进行交互。

请求认证

API请求认证在后台根据项目根目录的.env文件中提供的凭据处理。每个对REST API端点的请求将自动发出X-Miva-API-AuthorizationContent-Type头部,以及Miva_Request_TimestampStore_Code请求体参数。因此,这些应在发出到REST API端点的请求中省略。

功能权限

每个REST API端点映射到特定的JSON API函数,必须在Miva Merchant管理员中分配给提供的API令牌以启用REST API端点。《API端点定义》指定了每个端点要启用的函数。

PUT和DELETE请求

针对单个资源的PUTDELETE http方法可以在发送到端点的JSON体中省略“标识符”参数。这些参数列在《API端点定义》的相应部分。

过滤

通过以下列出的查询参数可以实现列表加载和单个加载资源端点的过滤。查看《API端点定义》以了解每个单个端点支持哪些过滤选项。可以根据需要组合过滤查询参数以生成所需的结果。

计数

可以发出count查询参数以限制列表加载端点返回的记录数。

示例:?count=15

偏移量

可以发出offset查询参数以偏移列表加载端点返回的第一个记录。偏移值基于0。

示例:?offset=5

按需列

可以发出odc查询参数以指定列表加载和单个资源加载端点(支持过滤)中要包含的按需列。应通过逗号分隔的列表提供多个列。

示例:?odc=categories,CustomField_Values:*

搜索

可以发出search查询参数在列表加载端点上按提供的搜索词进行过滤。以下是为执行搜索使用的基模式

search[<index>][values][<index>][field]=<field_code>
search[<index>][values][<index>][operator]=<operator>
search[<index>][values][<index>][value]=<search_value>
  • field指定要针对的字段代码。
  • operator指定搜索操作符。
  • value指定搜索值。

对于支持值列表的操作符(例如:IN),搜索值可以作为逗号分隔的列表提供。

对于不需要值的操作符,应省略搜索参数的value段。目前,这些操作符包括

  • TRUE
  • FALSE
  • NULL

简单搜索

以下是一个示例搜索查询字符串,通过“code”字段等于“prod1”的值来过滤结果

?search[0][values][0][field]=code&search[0][values][0][operator]=EQ&search[0][values][0][value]=prod1

AND搜索

可以通过为查询字符串的search[<index>]部分提供多个索引来执行逻辑AND搜索。模式应类似于以下内容

search[0][values][0][field]=<field_code>
search[0][values][0][operator]=<operator>
search[0][values][0][value]=<search_value>
search[1][values][0][field]=<field_code>
search[1][values][0][operator]=<operator>
search[1][values][0][value]=<search_value>

如果我们要提供额外的AND搜索条件,我们会在本例中发出新的search索引2,即search[2]。应遵循此模式为每个额外的AND条件。

以下是一个AND搜索查询字符串的示例,该字符串通过类别分配和价格标准来过滤结果

?search[0][values][0][field]=Category&search[0][values][0][operator]=IN&search[0][values][0][value]=13707,13708&search[1][values][0][field]=price&search[1][values][0][operator]=GT&search[1][values][0][value]=19.86

OR 搜索

可以通过为查询字符串中的 values[<index>] 部分提供多个索引来执行逻辑 OR 搜索。模式应类似于以下内容

search[0][values][0][field]=<field_code>
search[0][values][0][operator]=<operator>
search[0][values][0][value]=<search_value>
search[0][values][1][field]=<field_code>
search[0][values][1][operator]=<operator>
search[0][values][1][value]=<search_value>

如果我们想提供额外的 OR 搜索条件,在这个例子中,我们将发出一个 2 的新 values 索引,即 values[2]。每个额外的 OR 条件都应遵循此模式。

以下是一个示例 OR 搜索查询字符串,该字符串通过记录匹配客户发货地址姓氏的任一值来筛选结果

?search[0][values][0][field]=ship_lname&search[0][values][0][operator]=EQ&search[0][values][0][value]=Griffin&search[0][values][1][field]=ship_lname&search[0][values][1][operator]=EQ&search[0][values][1][value]=Star

括号比较

可以通过为查询字符串中的 values[<index>] 部分提供多维索引来执行括号比较。模式应大致类似于以下内容

search[0][values][0][field]=<field_code>
search[0][values][0][operator]=<operator>
search[0][values][0][value]=<search_value>
search[0][values][1][field]=<field_code>
search[0][values][1][operator]=<operator>
search[0][values][1][value]=[]
search[0][values][1][0][field]=<field_code>
search[0][values][1][0][operator]=<operator>
search[0][values][1][0][value]=<search_value>
search[0][values][1][1][field]=<field_code>
search[0][values][1][1][operator]=<operator>
search[0][values][1][1][value]=<search_value>

搜索子句的括号部分首先通过将 values 索引上的 value 设置为 [] 来启动

search[0][values][1][value]=[]

接下来,提供一个新索引维度给 values 索引,并使用随后的搜索条件来构建所需的比较

search[0][values][1][0][field]=<field_code>
search[0][values][1][0][operator]=<operator>
search[0][values][1][0][value]=<search_value>
search[0][values][1][1][field]=<field_code>
search[0][values][1][1][operator]=<operator>
search[0][values][1][1][value]=<search_value>

以下是一个示例搜索查询

?search[0][values][0][field]=ship_lname&search[0][values][0][operator]=EQ&search[0][values][0][value]=Griffin&search[0][values][1][field]=search_OR&search[0][values][1][operator]=SUBWHERE&search[0][values][1][value]=[]&search[0][values][1][0][field]=ship_fname&search[0][values][1][0][operator]=EQ&search[0][values][1][0][value]=Patrick&search[0][values][1][1][field]=ship_lname&search[0][values][1][1][operator]=EQ&search[0][values][1][1][value]=Star

这将生成以下搜索过滤器用于 API 请求

"Filter": [
    {
        "name": "search",
        "value": [
            {
                "field": "ship_lname",
                "operator": "EQ",
                "value": "Griffin"
            },
            {
                "field": "search_OR",
                "operator": "SUBWHERE",
                "value": [
                    {
                        "field": "ship_fname",
                        "operator": "EQ",
                        "value": "Patrick"
                    },
                    {
                        "field": "ship_lname",
                        "operator": "EQ",
                        "value": "Star"
                    }
                ]
            }
        ]
    }
]

显示

可以使用 show 查询参数根据提供的值筛选列表加载结果。

示例: ?show=Active

排序

可以使用 sort 查询参数根据提供的列名排序结果。要按降序排序结果,请将 "-" 字符添加到参数值之前。

示例: ?sort=-code

已分配 / 未分配

可以使用 assignedunassigned 查询参数根据它们的提供值筛选列表加载结果。

API 端点

以下部分定义了 REST API 可用的端点。端点基于 REST API 公共目录文件的公共路径设置。在完成 Web 服务器设置 后,基础 URI 将设置为 /api。完整的 URL 路径将设置如下

http(s)://www.yourdomain.com/api/<endpoint>

可用性组端点

加载可用性组列表

GET /availabilitygroups

启用功能: AvailabilityGroupList_Load_Query

HTTP 方法 端点 过滤器
GET /availabilitygroups count
offset
search
sort

加载可用性组

GET /availabilitygroups/{id}

启用功能: AvailabilityGroupList_Load_Query

HTTP 方法 端点 路径标识符
GET /availabilitygroups/{id} {id} = 可用性组 ID

更新可用性组业务账户分配

PUT /availabilitygroups/{id}/businessaccounts

启用功能: AvailabilityGroupBusinessAccount_Update_Assigned

HTTP 方法 端点 路径标识符 省略请求参数
PUT /availabilitygroups/{id}/businessaccounts {id} = 可用性组 ID AvailabilityGroup_ID

示例请求体

{
    "BusinessAccount_Title": "Wholesale",
    "Assigned": true
}

更新可用性组客户账户分配

PUT /availabilitygroups/{id}/customers

启用功能: AvailabilityGroupCustomer_Update_Assigned

HTTP 方法 端点 路径标识符 省略请求参数
PUT /availabilitygroups/{id}/customers {id} = 可用性组 ID AvailabilityGroup_ID

示例请求体

{
    "Customer_Login": "pstearns",
    "Assigned": true
}

更新可用性组支付方式分配

PUT /availabilitygroups/{id}/paymentmethods

启用功能: AvailabilityGroupPaymentMethod_Update_Assigned

HTTP 方法 端点 路径标识符 省略请求参数
PUT /availabilitygroups/{id}/paymentmethods {id} = 可用性组 ID AvailabilityGroup_ID

示例请求体

{
    "Module_Code": "check",
    "Method_Code": "check",
    "Assigned": true
}

更新可用性组产品分配

PUT /availabilitygroups/{id}/products

启用功能: AvailabilityGroupProduct_Update_Assigned

HTTP 方法 端点 路径标识符 省略请求参数
PUT /availabilitygroups/{id}/products {id} = 可用性组 ID AvailabilityGroup_ID

示例请求体

{
    "Product_Code": "prod1",
    "Assigned": true
}

更新可用性组配送方式分配

PUT /availabilitygroups/{id}/shippingmethods

启用功能: AvailabilityGroupShippingMethod_Update_Assigned

HTTP 方法 端点 路径标识符 省略请求参数
PUT /availabilitygroups/{id}/shippingmethods {id} = 可用性组 ID AvailabilityGroup_ID

示例请求体

{
    "Module_Code": "flatrate",
    "Method_Code": "Standard",
    "Assigned": true
}

类别端点

加载类别列表

GET /categories

启用功能: CategoryList_Load_Query

HTTP 方法 端点 过滤器
GET /categories count
odc
offset
search
显示
sort

加载类别

GET /categories/{id}

启用功能: CategoryList_Load_Query

HTTP 方法 端点 路径标识符 过滤
GET /categories/{id} {id} = 类别 ID odc

创建类别

POST /categories

启用功能: Category_Insert

HTTP 方法 端点
POST /categories

示例请求体

{
    "Category_Code": "sample",
    "Category_Name": "Sample Category",
    "Category_Active": true,
    "Category_Page_Title": "Sample Category Page Title",
    "Category_Parent_Category": "",
    "Category_Alternate_Display_Page": "",
    "CustomField_Values": {
        "customfields": {
            "category_h2": "Sample Cat -- Meow"
        }
    }
}

更新类别

PUT /categories/{id}

启用功能: Category_Update

HTTP 方法 端点 路径标识符 省略请求参数
PUT /categories/{id} {id} = 类别 ID 类别_ID

示例请求体

{
    "Category_Name": "Sample Categoryyy",
    "Category_Page_Title": "Sample Category Page Title Update"
}

删除类别

DELETE /categories/{id}

启用功能: Category_Delete

HTTP 方法 端点 路径标识符
DELETE /categories/{id} {id} = 类别 ID

加载类别产品列表

GET /categories/{id}/products

启用功能: CategoryProductList_Load_Query

HTTP 方法 端点 路径标识符 过滤器
GET /categories/{id}/products {id} = 类别 ID count
odc
offset
search
显示
sort
已分配
未分配

更新类别产品分配

PUT /categories/{id}/products

启用功能: CategoryProduct_Update_Assigned

HTTP 方法 端点 路径标识符 省略请求参数
PUT /categories/{id}/products {id} = 类别 ID 类别_ID

示例请求体

{
    "Product_Code": "prod1",
    "Assigned": true
}

加载类别子类别列表

GET /categories/{id}/subcategories

启用功能: CategoryList_Load_Parent

HTTP 方法 端点 路径标识符
GET /categories/{id}/subcategories {id} = 类别 ID

优惠券端点

加载优惠券列表

GET /coupons

启用功能: CouponList_Load_Query

HTTP 方法 端点 过滤器
GET /coupons count
offset
search
sort

加载优惠券

GET /coupons/{id}

启用功能: CouponList_Load_Query

HTTP 方法 端点 路径标识符
GET /coupons/{id} {id} = 优惠券 ID

创建优惠券

POST /coupons

启用功能: Coupon_Insert

HTTP 方法 端点
POST /coupons

示例请求体

{
    "Code": "25OFF2019",
    "Description": "25 Percent Off",
    "CustomerScope": "A",
    "DateTime_Start": 0,
    "DateTime_End": 0,
    "Max_Use": 0,
    "Max_Per": 0,
    "Active": true,
    "PriceGroup_ID": 1
}

更新优惠券

PUT /coupons/{id}

启用功能: Coupon_Update

HTTP 方法 端点 路径标识符 省略请求参数
PUT /coupons/{id} {id} = 优惠券 ID 优惠券ID

示例请求体

{
    "Description": "25 Percent Off 2019"
}

删除优惠券

DELETE /coupons

启用功能: CouponList_Delete

HTTP 方法 端点
DELETE /coupons

示例请求体

{
    "Coupon_Ids": [49,50]
}

加载优惠券价格组列表

GET /coupons/{id}/pricegroups

启用功能: CouponPriceGroupList_Load_Query

HTTP 方法 端点 路径标识符
GET /coupons/{id}/pricegroups {id} = 优惠券 ID

更新优惠券价格组分配

PUT /coupons/{id}/pricegroups

启用功能: CouponPriceGroup_Update_Assigned

HTTP 方法 端点 路径标识符 省略请求参数
PUT /coupons/{id}/pricegroups {id} = 优惠券 ID 优惠券ID

示例请求体

{
    "PriceGroup_Name": "2OFF",
    "Assigned": true
}

客户端点

加载客户列表

GET /customers

启用功能: CustomerList_Load_Query

HTTP 方法 端点 过滤器
GET /customers count
offset
search
sort

加载客户

GET /customers/{id}

启用功能: CustomerList_Load_Query

HTTP 方法 端点 路径标识符
GET /customers/{id} {id} = 客户ID

创建客户

POST /customers

启用功能: Customer_Insert

HTTP 方法 端点
POST /customers

示例请求体

{
    "Customer_Login": "pstearns",
    "Customer_PasswordEmail": "noreply@email.com",
    "Customer_Password": "miva@123",
    "Customer_ShipResidential": 1,
    "Customer_ShipFirstName": "Teset",
    "Customer_ShipLastName": "Order",
    "Customer_ShipEmail": "noreply@email.com",
    "Customer_ShipCompany": "Miva, Inc",
    "Customer_ShipPhone": "555-555-5555",
    "Customer_ShipFax": "555-555-5555",
    "Customer_ShipAddress1": "123 abc",
    "Customer_ShipAddress2": "apt 123",
    "Customer_ShipCity": "San Diego",
    "Customer_ShipState": "CA",
    "Customer_ShipZip": "92127",
    "Customer_ShipCountry": "US",
    "Customer_BillFirstName": "Teset",
    "Customer_BillLastName": "Order",
    "Customer_BillEmail": "noreply@email.com",
    "Customer_BillCompany": "Miva, Inc",
    "Customer_BillPhone": "555-555-5555",
    "Customer_BillFax": "555-555-5555",
    "Customer_BillAddress1": "123 abc",
    "Customer_BillAddress2": "apt 123",
    "Customer_BillCity": "San Diego",
    "Customer_BillState": "CA",
    "Customer_BillZip": "92127",
    "Customer_BillCountry": "US",
    "Customer_Tax_Exempt": "1",
    "Customer_BusinessAccount": "Wholesale"
}

更新客户

PUT /customers/{id}

启用功能: Customer_Update

HTTP 方法 端点 路径标识符 省略请求参数
PUT /customers/{id} {id} = 客户ID 客户ID

示例请求体

{
    "Customer_Login": "psteezy"
}

删除客户

DELETE /customers/{id}

启用功能: Customer_Delete

HTTP 方法 端点 路径标识符
DELETE /customers/{id} {id} = 客户ID

加载客户地址列表

GET /customers/{id}/addresses

启用功能: CustomerAddressList_Load_Query

HTTP 方法 端点 过滤器
GET /customers/{id}/addresses count
offset
search
sort

加载客户价格组列表

GET /customers/{id}/pricegroups

启用功能: CustomerPriceGroupList_Load_Query

HTTP 方法 端点 过滤器
GET /customers/{id}/pricegroups count
offset
search
sort
已分配
未分配

笔记端点

加载笔记列表

GET /notes

启用功能: NoteList_Load_Query

HTTP 方法 端点 过滤器
GET /notes count
offset
search
sort

加载笔记

GET /notes/{id}

启用功能: NoteList_Load_Query

HTTP 方法 端点 路径标识符
GET /notes/{id} {id} = 笔记ID

创建笔记

POST /notes

启用功能: Note_Insert

HTTP 方法 端点
POST /notes

示例请求体

{
    "NoteText": "This is a custom note for an order",
    "Order_ID": 97208
}

更新笔记

PUT /notes/{id}

启用功能: Note_Update

HTTP 方法 端点 路径标识符 省略请求参数
PUT /notes/{id} {id} = 笔记ID 笔记ID

示例请求体

{
    "NoteText" : "This is an updated custom note for an order"
}

删除笔记

DELETE /notes/{id}

启用功能: Note_Delete

HTTP 方法 端点 路径标识符
DELETE /notes/{id} {id} = 笔记ID

订单端点

加载订单列表

GET /orders

启用功能: OrderList_Load_Query

HTTP 方法 端点 过滤器
GET /orders count
odc
offset
search
sort

加载订单

GET /orders/{id}

启用功能: OrderList_Load_Query

HTTP 方法 端点 路径标识符 过滤
GET /orders/{id} {id} = 订单ID odc

创建订单

POST /orders

启用功能: Order_Create

HTTP 方法 端点
POST /orders

示例请求体

{
    "Customer_Login": "pstearns",
    "ShipFirstName": "John",
    "ShipLastName": "Smith",
    "ShipEmail": "noreply@superfakeemail.com",
    "ShipPhone": "8585551234",
    "ShipFax": "8585554321",
    "ShipCompany": "Miva, Inc.",
    "ShipAddress1": "12345 Beehive Ln",
    "ShipAddress2": "Suite 400",
    "ShipCity": "San Diego",
    "ShipState": "CA",
    "ShipZip": "92127",
    "ShipCountry": "US",
    "ShipResidential": false,
    "BillFirstName": "John",
    "BillLastName": "Smith",
    "BillEmail": "noreply@superfakeemail.com",
    "BillPhone": "8585555678",
    "BillFax": "8585558765",
    "BillCompany": "Umbrella Corp",
    "BillAddress1": "67890 End Of The Rd",
    "BillCity": "Stan Diego",
    "BillState": "CA",
    "BillZip": "92027",
    "BillCountry": "US",
    "Items": [
        {
            "status": 0,
            "code": "aaaaa",
            "name": "Item 3",
            "sku": "SKUITEM3",
            "price": 1.97,
            "weight": 0.08,
            "quantity": 2,
            "taxable": true,
            "upsold": false,
            "options": [
                {
                    "attr_code": "color",
                    "opt_code": "green",
                    "price": 0.28,
                    "weight": 0.01
                }
            ]
        }
    ],
    "Charges": [
        {
            "type": "SHIPPING",
            "descrip": "Standard Shipping",
            "amount": 5.00,
            "display_amount": 5.00,
            "tax_exempt": false
        },
        {
            "type": "TAX",
            "descrip": "Sales Tax",
            "amount": 1.25,
            "display_amount": 1.25,
            "tax_exempt": true
        }
    ],
    "CustomField_Values": {
        "customfields": {
            "order_instructions": "Leave it soaked in the pool please."
        }
    }
}

删除订单

DELETE /orders/{id}

启用功能: Order_Delete

HTTP 方法 端点 路径标识符
DELETE /orders/{id} {id} = 订单ID

更新订单客户信息

PUT /orders/{id}/customers

启用功能: Order_Update_Customer_Information

HTTP 方法 端点 路径标识符 省略请求参数
PUT /orders/{id}/customers {id} = 订单ID 订单_ID

示例请求体

{
    "Ship_FirstName": "Peter",
    "Ship_LastName": "Pan"
}

创建订单项

POST /orders/{id}/items

启用功能: OrderItem_Add

HTTP 方法 端点 路径标识符
POST /orders/{id}/items {id} = 订单ID

示例请求体

{
    "Code": "custom-schmedium-pink-shirt",
    "Name": "Custom Schmedium T-Shrt",
    "SKU": "schmedium-pink-shirt",
    "Quantity": 3,
    "Price": 10.58,
    "Weight": 1,
    "Taxable": true,
    "Attributes": [
        {
            "attr_code": "size",
            "opt_code_or_data": "schmedium",
            "price": 0,
            "weight": 0
        },
        {
            "attr_code": "color",
            "opt_code_or_data": "pink",
            "price": 0,
            "weight": 0
        }
    ]
}

更新订单项

PUT /orders/{id}/items/{line_id}

启用功能: OrderItem_Update

HTTP 方法 端点 路径标识符 省略请求参数
PUT /orders/{id}/items/{line_id} {id} = 订单ID
{line_id} = 行项目 ID
订单_ID
行_ID

示例请求体

{
    "Code": "tea-shirt",
    "Name": "Custom Tea Shirt"
}

取消订单项

PUT /orders/{id}/items/cancel

启用功能: OrderItemList_Cancel

HTTP 方法 端点 路径标识符 省略请求参数
PUT /orders/{id}/items/cancel {id} = 订单ID 订单_ID

示例请求体

{
    "Reason" : "Customer called to remove items",
    "line_ids": [9525]
}

删除订单项

PUT /orders/{id}/items/delete

启用功能: OrderItemList_Delete

HTTP 方法 端点 路径标识符 省略请求参数
PUT /orders/{id}/items/delete {id} = 订单ID 订单_ID

示例请求体

{
    "line_ids": [9525, 9526]
}

创建背单订单项

PUT /orders/{id}/items/backorder

启用功能: OrderItemList_Backorder

HTTP 方法 端点 路径标识符 省略请求参数
PUT /orders/{id}/items/backorder {id} = 订单ID 订单_ID

示例请求体

{
    "Date_InStock" : 1550658619,
    "line_ids": [9524]
}

加载订单自定义字段列表

GET /orders/customfields

启用功能: OrderCustomFieldList_Load

HTTP 方法 端点
GET /orders/customfields

更新订单自定义字段值

PUT /orders/{id}/customfields

启用功能: OrderCustomFields_Update

HTTP 方法 端点 路径标识符 省略请求参数
PUT /orders/{id}/customfields {id} = 订单ID 订单_ID

示例请求体

{
    "CustomField_Values": {
        "customfields": {
            "order_test": "Hola Mundo"
        }
    }
}

订单队列端点

加载订单队列列表

GET /orderqueues/{code}

启用功能: QueueOrderList_Load_Query

HTTP 方法 端点 路径标识符 过滤器
GET /orderqueues/{code} {code} = 队列代码 count
odc
offset
search
sort

创建订单队列确认

POST /orderqueues

启用功能: OrderList_Acknowledge

HTTP 方法 端点
POST /orderqueues

示例请求体

{
    "Order_Ids": [97213, 97214]
}

支付端点

捕获订单支付

PUT /payments/{id}/capture

启用功能: OrderPayment_Capture

HTTP 方法 端点 路径标识符 省略请求参数
PUT /payments/{id}/capture {id} = 订单支付 ID 订单支付_ID

示例请求体

{
    "Amount": 8.00
}

退款订单支付

PUT /payments/{id}/refund

启用功能: OrderPayment_Refund

HTTP 方法 端点 路径标识符 省略请求参数
PUT /payments/{id}/refund {id} = 订单支付 ID 订单支付_ID

示例请求体

{
    "Amount": 8.00
}

取消订单支付

PUT /payments/{id}/void

启用功能: OrderPayment_VOID

HTTP 方法 端点 路径标识符 省略请求参数
PUT /payments/{id}/void {id} = 订单支付 ID 订单支付_ID

示例请求体

{
    "Amount": 8.00
}

价格组端点

加载价格组列表

GET /pricegroups

启用功能: PriceGroupList_Load_Query

HTTP 方法 端点 过滤器
GET /pricegroups count
offset
search
sort

加载价格组

GET /pricegroups/{id}

启用功能: PriceGroupList_Load_Query

HTTP 方法 端点 路径标识符 过滤器
GET /pricegroups/{id} {id} = 价格组 ID count
odc
offset
search
显示
sort
已分配
未分配

加载价格组产品列表

GET /pricegroups/{id}/products

启用功能: PriceGroupProductList_Load_Query

HTTP 方法 端点 路径标识符
GET /pricegroups/{id}/products {id} = 价格组 ID

更新价格组产品分配

PUT /pricegroups/{id}/products

启用功能: PriceGroupProduct_Update_Assigned

HTTP 方法 端点 路径标识符 省略请求参数
PUT /pricegroups/{id}/products {id} = 价格组 ID PriceGroup_ID

示例请求体

{
    "Product_Code": "prod1",
    "Assigned": true
}

更新价格组客户分配

PUT /pricegroups/{id}/customers

启用功能: PriceGroupCustomer_Update_Assigned

HTTP 方法 端点 路径标识符 省略请求参数
PUT /pricegroups/{id}/customers {id} = 价格组 ID PriceGroup_ID

示例请求体

{
    "Customer_login": "psteezy",
    "Assigned": true
}

产品端点

加载产品列表

GET /products

启用功能: ProductList_Load_Query

HTTP 方法 端点 过滤器
GET /products count
odc
offset
search
显示
sort

加载产品

GET /products/{id}

启用功能: ProductList_Load_Query

HTTP 方法 端点 路径标识符 过滤
GET /products/{id} {id} = 产品ID odc

创建产品

POST /products

启用功能: Product_Insert

HTTP 方法 端点
POST /products

示例请求体

{
    "Product_Code": "new-product",
    "Product_SKU": "555182",
    "Product_Name": "New Product",
    "Product_Description": "New descripion",
    "Product_Page_Title": "New Product",
    "Product_Price": 5.29,
    "Product_Cost": 1.27,
    "Product_Weight": 3.58,
    "Product_Inventory": 26,
    "Product_Taxable": true,
    "Product_Active": true,
    "CustomField_Values": {
        "customfields": {
            "marco": "polo"
        }
    }
}

更新产品

PUT /products/{id}

启用功能: Product_Update

HTTP 方法 端点 路径标识符 省略请求参数
PUT /products/{id} {id} = 产品ID Product_ID

示例请求体

{
    "Product_Code": "new-new-product",
    "Product_Name": "New New Product",
    "Product_Description": "New new descripion",
    "Product_Page_Title": "New New Product",
    "Product_Price": 5.55
}

删除产品

DELETE /products/{id}

启用功能: Product_Delete

HTTP 方法 端点 路径标识符
DELETE /products/{id} {id} = 产品ID

调整产品列表库存

POST /products/inventory

启用功能: ProductList_Adjust_Inventory

HTTP 方法 端点
POST /products/inventory

示例请求体

{
    "Inventory_Adjustments": [
        {
            "product_code": "new-new-product",
            "adjustment": 9
        },
        {
            "product_code": "psteezy-deluxe",
            "adjustment": 50
        },
        {
            "product_code": "blk-shirt",
            "adjustment": -100
        }
    ]
}

创建产品图片

POST /products/{id}/images

启用功能: ProductImage_Add

HTTP 方法 端点 路径标识符 省略请求参数
POST /products/{id}/images {id} = 产品ID Product_ID

示例请求体

{
    "Filepath": "graphics/00000001/B1009.001.png",
    "ImageType_ID": 0
}

删除产品图片

DELETE /products/images/{id}

启用功能: ProductImage_Delete

HTTP 方法 端点 路径标识符
DELETE /products/images/{id} {id} = 产品图片ID

加载产品变体列表

GET /products/{id}/variants

启用功能: ProductVariantList_Load_Product

HTTP 方法 端点 路径标识符
GET /products/{id}/variants {id} = 产品ID

配置端点

域名级别配置

POST /provisioning/domain

启用功能: Provision_Domain

HTTP 方法 端点
POST /provisioning/domain

示例请求体

{
   "xml": "<User_Add><Name>miva_merchant<\/Name><Password>password<\/Password><Administrator>Yes<\/Administrator><\/User_Add>"
}

店铺级别配置

POST /provisioning/store

启用功能: Provision_Store

HTTP 方法 端点
POST /provisioning/store

示例请求体

{
   "xml": "<Product_CustomField module=\"baskinv\" field=\"total_inv\" product=\"test\">500</Product_CustomField>"
}

发货端点

创建订单发货

POST /shipments

启用功能: OrderItemList_CreateShipment

HTTP 方法 端点
POST /shipments

示例请求体

{
    "Order_Id": 97209,
    "line_ids": [9513, 9514]
}

更新订单发货

PUT /shipments

启用功能: OrderShipmentList_Update

HTTP 方法 端点
PUT /shipments

示例请求体

{
    "Shipment_Updates": [
        {
            "shpmnt_id": 287,
            "mark_shipped": true,
            "tracknum": "12345",
            "tracktype": "UPS",
            "cost": "5.00"
        }
    ]
}