# anubis-openapi-sdk **Repository Path**: ash_floating_around/anubis-openapi-sdk ## Basic Information - **Project Name**: anubis-openapi-sdk - **Description**: 蜂鸟物流开放平台API-v3SDK - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-07-12 - **Last Updated**: 2021-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JAVA SDK 接入指南 & CHANGELOG ## API 接入指南 1. JAVA version >= 1.8 2. 创建 Config 配置类,配置APP_ID、SECRET_KEY 和 IS_SANDBOX 等参数 3. 使用 SDK 提供的接口进行开发调试 4. 上线前将 Config 中 IS_SANDBOX 值设为 false,并填写正式环境的 APP_ID 和 SECRET_KEY。 ## Maven 引入 SDK ``` eleme-lpd-apollo anubis-openapi-third-sdk 1.0.0-SNAPSHOT ``` ## 基本使用 ``` /** * 设置是否沙箱环境 */ private static final boolean IS_SANDBOX = true; /** * 设置APP_ID */ private static final String APP_ID = "app id"; private static final String MERCHANT_ID = "merchant id"; /** * 设置APP SECRET_KEY */ private static final String SECRET_KEY = "secret key"; private final static Config CONFIG; private final static Token TOKEN; static { // 初始化全局配置工具 CONFIG = new Config(IS_SANDBOX, APP_ID, SECRET_KEY); TOKEN = new Token(); TOKEN.setAccessToken(""); TOKEN.setAppId(APP_ID); TOKEN.setMerchantId(MERCHANT_ID); } ShopService shopService = new ShopService(CONFIG,TOKEN); QueryChainStoreReq queryChainStoreReq = new QueryChainStoreReq(); queryChainStoreReq.setMerchantId(MERCHANT_ID); queryChainStoreReq.setChainStoreId("100000"); try { ShopInfo shop = shopService.getShop(queryChainStoreReq); log.info("shop:{}", JSON.toJSONString(shop)); } catch (ServiceException e) { log.info("ServiceException,e:{}",e); } ``` ## 使用方法-鉴权 ### 获取授权URL https://open.ele.me/ 商家模式登录官网,右上角切换为开发者。 应用管理中选中要授权的应用发起商户授权。商家打开授权URL,同意授权后,跳转到您的回调页面,并返回code。 ### 获取Token ``` // 通过授权得到的code,以及正确的redirectUri,获取token String autoCode = "code"; String redirectUri = "http://localhost:8899/demo"; String merchantId = "87891"; Token token = null; try { token = CLIENT.getTokenByCode(autoCode, merchantId,redirectUri); } catch (ServiceException e) { e.printStackTrace(); } log.info("token:{}", JSON.toJSONString(token)); ``` ### 刷新token - 如果token过期,通过refresh_token换取新的token ``` String refreshToken = ""; String merchantId = ""; Token token = null; try { token = CLIENT.getTokenByRefreshToken(merchantId,refreshToken); } catch (ServiceException e) { e.printStackTrace(); } log.info("token:{}", JSON.toJSONString(token)); ``` ## 使用方法-业务接口 ### 查询单个门店信息 ``` /** * 设置是否沙箱环境 */ private static final boolean IS_SANDBOX = true; /** * 设置APP_ID */ private static final String APP_ID = "app id"; private static final String MERCHANT_ID = "merchant id"; /** * 设置APP SECRET_KEY */ private static final String SECRET_KEY = "secret key"; private final static Config CONFIG; private final static Token TOKEN; static { // 初始化全局配置工具 CONFIG = new Config(IS_SANDBOX, APP_ID, SECRET_KEY); TOKEN = new Token(); TOKEN.setAccessToken(""); TOKEN.setAppId(APP_ID); TOKEN.setMerchantId(MERCHANT_ID); } ShopService shopService = new ShopService(CONFIG,TOKEN); QueryChainStoreReq queryChainStoreReq = new QueryChainStoreReq(); queryChainStoreReq.setMerchantId(MERCHANT_ID); queryChainStoreReq.setChainStoreId("100000"); try { ShopInfo shop = shopService.getShop(queryChainStoreReq); log.info("shop:{}", JSON.toJSONString(shop)); } catch (ServiceException e) { log.info("ServiceException,e:{}",e); } ``` ### 其他接口见接口文档 #### 接口规则 ShopService:里面包含店铺全部接口,如:单个门店查询 批量查询门店 新建门店 更新门店信息等。 OrderService:里面包含下单相关所有接口,包括查看门店配送范围,订单查询,预下单,正式下单,取消预下单,取消下单,投诉订单,索赔订单等。 ## CHANGELOG ### 1.0.0 SDK完整实现,包含鉴权接口,业务接口(店铺相关接口,下单相关接口)