PHP多商户接入阿里云识图找商品

多商户接入阿里云识图找商品接入方案

如果要用 PHP 模型 (即 PHP 代码调用阿里云 Image Search API),阿里云官方也提供了 PHP SDKOpenAPI 方式 。下面给你一个完整的 PHP 多商户对接示例

1. 准备工作

  1. 开通阿里云 图像搜索(Image Search) 实例。
  2. 获取 AccessKeyId / AccessKeySecret。
  3. 确认实例名(instanceName),区域一般是 cn-shanghai。

2. 安装 SDK

推荐使用 Composer:

复制代码
composer require alibabacloud/sdk

或者指定单独的 imagesearch 包(如果有独立发布)。

3. 初始化客户端

复制代码
use AlibabaCloud\Client\AlibabaCloud;

AlibabaCloud::accessKeyClient('<your-access-key-id>', '<your-access-key-secret>')
    ->regionId('cn-shanghai') // 你的区域
    ->asDefaultClient();

4. 入库商品图(AddImage)

复制代码
use AlibabaCloud\SDK\Imagesearch\V20190325\Imagesearch;
use AlibabaCloud\SDK\Imagesearch\V20190325\Models\AddRequest;

$client = new Imagesearch();

$request = new AddRequest([
    "instanceName" => "your-instance-name",
    "picName"      => "merchant123-sku999-main1", // picName 建议拼 merchantId + sku
    "picUrl"       => "https://your-oss-bucket.oss-cn-shanghai.aliyuncs.com/path/to/image.jpg",
    "strAttr"      => "merchant123",  // 商户隔离
    "categoryId"   => 88888888         // 类目ID,可选
]);

$response = $client->add($request);

if ($response->body->success) {
    echo "入库成功\n";
} else {
    echo "失败: " . $response->body->message . "\n";
}

5. 搜索商品图(SearchImageByPic)

复制代码
use AlibabaCloud\SDK\Imagesearch\V20190325\Models\SearchImageByPicRequest;

$imageBytes = file_get_contents('/path/to/query.jpg');
$base64Img  = base64_encode($imageBytes);

$request = new SearchImageByPicRequest([
    "instanceName" => "your-instance-name",
    "picContent"   => $base64Img,
    "num"          => 10, // 返回Top10
    "filter"       => "str_attr='merchant123'" // 只搜该商户
]);

$response = $client->searchImageByPic($request);

foreach ($response->body->auctions as $item) {
    echo "PicName: {$item->picName}, Score: {$item->score}\n";
}

6. 多商户要点

  • picName 命名:merchantId-skuId-imageNo,方便搜索结果映射回商品。
  • strAttr 过滤:保证不同商户之间隔离。
  • 分实例/共用实例:大商户可独立实例,小商户共用实例,通过 filter 控制隔离。
  • 下架同步:记得调用 DeleteImage 删除无效图。

附件联系博主获取

相关推荐
无心水10 小时前
【Python实战进阶】7、Python条件与循环实战详解:从基础语法到高级技巧
android·java·python·python列表推导式·python条件语句·python循环语句·python实战案例
g***789112 小时前
鸿蒙NEXT(五):鸿蒙版React Native架构浅析
android·前端·后端
g***866912 小时前
PHP进阶-在Ubuntu上搭建LAMP环境教程
开发语言·ubuntu·php
JienDa13 小时前
JienDa聊PHP:Laravel驱动的企业级图床系统架构设计与实战
系统架构·php·laravel
橘式不妙14 小时前
解决使用IDE开发laravel项目无法智能提示eloquent的可调用方法的问题
php·laravel
Bervin1213818 小时前
Flutter Android环境的搭建
android·flutter
r***F26220 小时前
【漏洞复现】CVE-2019-11043(PHP远程代码执行漏洞)信息安全论文_含漏洞复现完整过程_含Linux环境go语言编译环境安装
linux·golang·php
SEO_juper21 小时前
别再纠结LLMs.txt了!它背后的真相与最佳使用场景,一文讲透。
开发语言·ai·php·数字营销
p***c9491 天前
PHP在电商中的电商系统
开发语言·php
阿星智力囊1 天前
Thinkphp6+nginx环境报错信息不显示,接口直接报500和CORS跨域(错误的引导方向),真坑啊
运维·nginx·php·thinkphp6