生成 API 密钥

WooCommerce REST API 在关键系统上工作以控制访问。这些密钥链接到您网站上的 WordPress 用户。

要为特定 WordPress 用户创建或管理密钥:

  1. 转到:  WooCommerce > 设置 > 高级 > REST API
    注意:密钥/应用程序可以在WooCommerce 3.4 之前的WooCommerce > 设置 > API > 密钥/应用 程序中找到 
  2. 选择添加密钥。您将进入密钥详细信息屏幕。
  3. 添加说明
  4. 在下拉列表中选择您要为其生成密钥的用户
  5. 选择此 API 密钥的访问级别 – 访问、访问或读/写访问。
  6. 选择 Generate API Key,WooCommerce 会为该用户创建 API 密钥。

 

现在密钥已生成,您应该会看到 Consumer KeyConsumer Secret密钥、一个 QRCode 和一个 Revoke API Key 按钮。

消费者重点消费者的秘密可以在使用WooCommerce API应用程序来输入,并且应用程序也应该要求您的网址。

在以下位置了解有关 REST API 的更多信息:  WooCommerce REST API 客户端库

测试 API 是否正常工作

在此处使用此 分步指南了解如何执行此操作

启用旧的 REST API

要在 WooCommerce 中启用旧版 REST API,请转到WooCommerce > 设置 > 高级 >旧版 API,然后勾选启用旧版 REST API复选框。
注意:在 WooCommerce 3.4 之前的WooCommerce > Settings > API中可以找到旧的 REST API

Legacy REST API 已弃用,应尽快从 WooCommerce 中删除,作为替代,有一个新的 REST API,它是 WordPress REST API 的集成,这是 WooCommerce 当前的 REST API,并且默认情况下也是启用的。

API开发者文档:

https://woocommerce.github.io/woocommerce-rest-api-docs/

测试采集产品URL:https://mujichaopai.x.yupoo.com/collections/3505185

建议阅读API文档之前,观看youtube视频:https://www.youtube.com/watch?v=Vq6rAVfqK3k

标记红色区域,使用开启字母,翻译 – 中文简体

实例代码:

$woocommerce = new Client(
'https://www.shopppc.com',
'ck_9b8ac90007c85e10ab9cecee4b4922e51989be29',
'cs_b7ee682641979a5af07fa4deabdfff13f323ba59',
[
'version' => 'wc/v3',
]
);

#print_r($_POST);
/*
if($_POST['post_title'] == ''){
echo '没有数据';
exit;
}
*/


//来源渠道
$post['permalink'] = $_POST['post_permalink'];
//发布类型
$post['type'] = $_POST['post_type'];
//产品标题
$post['name'] = $_POST['post_title'];
//产品内容
$post['description'] = $_POST['post_content'];
//产品图片
$post['images'][0] = array(
'src' => $_POST['post_name']
);
//把相册的图片,追加到images,自动组合
@$image_list = explode(",",$_POST['post_images_photo']);
foreach(@$image_list as $key=>$img_list){
@array_push($post['images'],array(
'src' => $img_list
));
}
//获取产品父分类
$post['check_cate_m'] = $_POST['post_cate_m'];
//获取产品子分类
$post['check_cate_z'] = $_POST['post_cate_z'];
//产品SKU
$post['sku'] = $_POST['post_sku'];
//产品库存
$post['stock_quantity'] = $_POST['post_stock_quantity'];
//产品原价
$post['regular_price'] = $_POST['post_regular_price'];
//产品售价
$post['sale_price'] = $_POST['post_sale_price'];

//**插入价格属性ID
if($_GET['values'] != ''){
include_once "./wp-config.php";

print_r($_POST);
//获取SKU并且查询是否有键值
$sql_con = $wpdb->get_results("SELECT * FROM `wp_postmeta` WHERE `meta_value` LIKE '".$_POST['post_product_sku']."' LIMIT 0 , 30");
print_r($sql_con);
//根ID,判断是否存在
$post_id = $sql_con[0]->post_id;
$check_value = $wpdb->get_results("SELECT * FROM wp_posts WHERE post_parent = $post_id LIMIT 0 , 30");
$data = [
'regular_price' => $post['regular_price'],
'sale_price' => $post['sale_price'],
];
$woocommerce = new Client(
'https://www.shopppc.com',
'ck_9b8ac90007c85e10ab9cecee4b4922e51989be29',
'cs_b7ee682641979a5af07fa4deabdfff13f323ba59',
[
'version' => 'wc/v3',
]
);
print_r($data);
$woocommerce->post('products/'.$post_id.'/variations', $data);
echo '创建成功';
exit;
}
/***********************属性数组开始************************/
//颜色选择 - 一般为默认函数
$color = $_POST['post_color'];
if($color != ''){
$color = explode(",",$color);
$post['attributes'][0] = array(
"name" => '色を選ぶ',
'position' => 0,
'visible' => 'true',
'variation' => 'true',
'options' => [
]
);
foreach($color as $key=>$value){
$post['attributes'][0]['options'][$key] = $value;
}
}

//尺码选择 - 一般为默认函数
$size = $_POST['post_size'];
if($size != ''){
$size = explode(",",$size);
$post['attributes'][1] = array(
"name" => 'サイズ選択',
'position' => 0,
'visible' => 'true',
'variation' => 'true',
'options' => [
]
);
foreach($size as $key=>$value){
$post['attributes'][1]['options'][$key] = $value;
}
}
//追加附加属性数组
if($_POST['post_attribute_options'] != ''){
$shuxing_str = $_POST['post_attribute_options'];
$shuxing_str = explode(",",$shuxing_str);
foreach($shuxing_str as $shuxing_str){
$shuxing_str = explode(':',$shuxing_str);
$atttr = array(
"name" => $shuxing_str[0],
'position' => 0,
'visible' => 'true',
'variation' => 'false',
'options' => [
$shuxing_str[1]
]
);
@array_push($post['attributes'],$atttr);
$i++;
}
}

/***********************属性数组结束************************/

//目录自动创建
$zhu_cate_name = $_POST['post_cate_m'];
$zi_cate_name = $_POST['post_cate_z'];
$serch_cate = $woocommerce->get('products/categories?search='.$zhu_cate_name);
$cate_id = $serch_cate[0]->id;

//创建父级目录
if($cate_id == NULL){
//创建目录
$data = [
'name' => $zhu_cate_name,
'description' => $zhu_cate_name,
'display' => 'products'
];
$woocommerce->post('products/categories', $data);

//赋值根ID
$serch_cate = $woocommerce->get('products/categories?search='.$zhu_cate_name);
$root_cate_id = $serch_cate[0]->id;
}else{
//如果本身就存在直接GET root id
$root_cate_id = $cate_id;
}

$serch_cate = $woocommerce->get('products/categories?search='.$zi_cate_name);
$cate_id = $serch_cate[0]->id;
//创建子级目录
if($cate_id == NULL){
//创建目录
$data = [
'parent' => $root_cate_id,
'name' => $zi_cate_name,
'description' => $zi_cate_name,
'display' => 'products'
];
$woocommerce->post('products/categories', $data);
$serch_cate = $woocommerce->get('products/categories?search='.$zi_cate_name);
$zi_cate_id = $serch_cate[0]->id;
}else{
//如果本身就存在直接GET 子 id
$zi_cate_id = $cate_id;
}

if($root_cate_id != ''){
//根目录ID
$post['categories'][0]['id'] = $root_cate_id;
}
if($zi_cate_id != ''){
//子目录ID
$post['categories'][1]['id'] = $zi_cate_id;
}

/***********************产品发布开始************************/
//更新产品发布配置
$data = [
//产品标题
'name' => $post['name'],
//简单产品
'type' => $post['type'],
//来源网站
'permalink'=> $post['permalink'],
//SKU
'sku' => $post['sku'],
//原价
'regular_price' => $post['regular_price'],
//折后价
'sale_price' => $post['sale_price'],
//产品描述
'description' => $post['description'],
//产品短描述
'short_description' => '',
//变更库存管理函数
'manage_stock' => true,
//库存状态
'stock_status' => 'instock',
//库存数量
'stock_quantity' => $post['stock_quantity'],
//自动创建
'categories' => $post['categories'],
//图片封面+相册自动组合
'images' => $post['images'],
//属性自动追加数组
'attributes' => $post['attributes'],
//预设值
/*
'default_attributes' => [
[
'name' => '色を選ぶ',
'option' => 'ュ'
],
[
'name' => 'サイズ選択',
'option' => ''
]
]
*/

];
//print_r($woocommerce->put('products/'.$chapter_id, $data));
print_r($data);
$woocommerce->post('products', $data);
//更新产品
//$woocommerce->put('products/'.$chapter_id, $data);
/***********************产品发布结束************************/

发表评论

邮箱地址不会被公开。 必填项已用*标注