sp-api开发锁记

刊登商品时输入不合格的sku

sku关联了很多东西,涉及商品刊登、库存同步,不合格的sku字符可能会引发奇怪的问题。所以有必要在源头上解决这个问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//非法字符
private static final char[] INVALID_SKU_CHAR_ARR = {
(char)0x200B,//零宽空格
(char)0xFEFF,//BOM
(char)0x2000,//空格
(char)0x2003,//半空格
(char)0x2028,// 行分隔符
//....
};

private static boolean isValidSku(char charStr) {
for (char c : INVALID_SKU_CHAR_ARR) {
if (c == charStr) {
return false;
}
}
return true;
}

api对接

sp-api涉及授权 api接口请求流控

  • api请求表设计:

    基础层

    站点表:t_marketplace(market_place_id)

    亚马逊授权信息表: t_amazon_auth

    调用api的记录表:t_amz_auth_api_limit(api名称 nexttoken:有些报表分页要拿nexttoken去获取下一页 请求时间)


    应用层

    以商品刊登为例,最好保存跟产品操作相关的关键信息

    拉取到的aws商品表:t_product_info(asin market_place_id sku)

    商品操作记录表:t_product_in_opt

  • 系统设计: api请求的成功或失败回调接口去更新调用api的记录表

  • 注意事项

    sp-api凭证需要180天更换一次,否则失去api访问权限(系统是否有到期预警通知机制?)

FBA对接

FBA涉及到几个主要api:创建货件计划 确认创建货件 上传箱子尺寸信息,其中有些接口还是拼接一个excel生成字节流然后请求api接口的,非常复杂的一个业务流程。

  • 系统设计:

    状态模式+责任链模式单元化这一重要流程

    excel模版管理、生成请求的excel

    集成日志标记框架打标接口流转调用记录,方便排查问题

。。。。