Skip to content

API 文档

RAKUFUN SDK 提供简洁直观的 API,帮助您在电商站点中集成国际代购服务能力

setUIMode

设置 UI 展示模式,动态切换按钮或横幅样式

参数

参数名类型必填说明
modestringUI 模式类型:'button''banner'

返回值

void - 无返回值

使用示例

步骤 1:引入 SDK

html
<script src="https://sdk.rakufun.com/rakufun-universal.min.js"></script>

步骤 2:在 HTML 中添加容器

html
<!-- 按钮模式容器 -->
<div class="rakufun-sdk-embed-button"></div>

<!-- 横幅模式容器 -->
<div class="rakufun-sdk-embed-banner"></div>

步骤 3:在 JavaScript 中切换模式

javascript
// 切换到横幅模式
rakufun.setUIMode('banner');

// 切换到按钮模式
rakufun.setUIMode('button');

注意事项

  • 使用前必须先引入 SDK
  • button 模式需要页面中存在 <div class="rakufun-sdk-embed-button"></div>
  • banner 模式需要页面中存在 <div class="rakufun-sdk-embed-banner"></div>
  • 切换模式时会清理当前 UI 并重新初始化
  • 会异步等待 IP 检测完成后再显示新模式的 UI

setUIProductData

为默认模式、浮动按钮或横幅 UI 预设商品数据,点击按钮时会自动使用该数据

参数

参数名类型必填说明
dataobject商品数据对象,详见商品数据对象

返回值

void - 无返回值

使用示例

javascript
// 在页面加载时或商品数据准备好后,设置商品数据
window.addEventListener('load', () => {
  // 准备商品数据
  const productData = {
    title: document.querySelector('.product-name').textContent,
    price: document.querySelector('.price').textContent,
    images: [document.querySelector('.main-image').src],
    url: window.location.href,
    minQuantity: '1',
    maxStock: '100'
  };
  
  // 设置到 UI
  rakufun.setUIProductData(productData);
  
  // 现在用户点击浮动按钮时,会自动使用上面的数据
});

注意事项

  • 使用前必须先引入 SDK
  • 如果没有调用此方法就点击 UI 按钮,会提示"未设置商品数据,请调用 rakufun.setUIProductData(data)"
  • 可以多次调用来更新商品数据

quickBuy

将商品添加到 Rakufun 购物车并自动打开结算页面。跳过内置 UI,使用您自己的设计和组件,仅调用 RAKUFUN 的一键购买 API。适合需要深度定制的场景

参数

参数名类型必填说明
productDataobject商品数据对象,详见商品数据对象

返回值

Promise<void> - 返回 Promise,成功时 resolve,失败时 reject

使用示例

html
<!DOCTYPE html>
<html>
<head>
    <title>自定义购买按钮</title>
</head>
<body>
    <h1>精选商品</h1>
    <img src="product.jpg" alt="商品图片">
    <p class="price">¥26,800</p>
    
    <!-- 您的自定义按钮 -->
    <button id="my-buy-button" class="custom-btn">
        🛒 立即购买
    </button>

    <script src="https://sdk.rakufun.com/rakufun-universal.min.js"></script>
    <script>
        document.getElementById('my-buy-button').addEventListener('click', async () => {
            try {
                await rakufun.quickBuy({
                    title: 'Bose QuietComfort 耳机',
                    price: '26800',
                    url: window.location.href,
                    images: ['product.jpg'],
                    description: '顶级降噪耳机',
                    minQuantity: '1',
                    maxStock: '50'
                });
            } catch (error) {
                console.error('购买失败:', error);
                alert('购买失败,请重试');
            }
        });
    </script>
</body>
</html>

注意事项

  • 建议使用 try-catch 捕获错误
  • 确保必填字段完整
  • 调用成功后会自动跳转到 Rakufun 结算页面

isJapanUser

判断用户是否来自日本(同步方法)

参数

返回值

boolean - 如果用户来自日本返回 true,否则返回 false

使用示例

javascript
(async () => {
    await rakufun.initPromise; // 确保初始化完成
    await rakufun.detectUserRegion(); // 等待 IP 检测完成
    const isJapan = rakufun.isJapanUser(); // 同步调用
    if (isJapan) {
        console.log('用户来自日本');
    }
})();

注意事项

  • 必须先等待 initPromise 完成才能获得准确结果
  • 推荐使用异步方法 isJapanUserAsync()

isJapanUserAsync

判断用户是否来自日本(异步方法,推荐)

参数

返回值

Promise<boolean> - 返回 Promise,resolve 值为 true 表示用户来自日本,false 则不是

使用示例

javascript
// 直接使用异步方法(推荐)
(async () => {
    const isJapan = rakufun.isJapanUserAsync(); // 自动等待检测完成
    if (isJapan) {
        console.log('用户来自日本');
    }
})();

注意事项

  • 推荐使用此方法,自动处理初始化等待
  • 无需手动等待 initPromise

商品数据对象

基本信息

字段名类型必 填说明示例
urlstring商品页面 URL"https://example.com/product/123"
titlestring商品名称"Bose QuietComfort 耳机"
pricestring商品价格(数字字符串)"19800"
imagesstring[]商品图片数组["img1.jpg", "img2.jpg"]
descriptionstring商品详细描述"顶级降噪耳机"

商品属性

字段名类型必填说明示例
minQuantitystring最低起购数量"1"
maxStockstring最大库存数量"100"
conditionstring商品状态"全新" / "二手" / "展示品"
brandstring品牌名称"Bose"
shippingInfostring运费信息"500"

物流信息

字段名类型必填说明示例
deliveryTimestring预计配送时间"3-5 天"
precautionsstring注意事项/附加说明"易碎品,请小心处理"

规格参数

字段名类型必填说明示例
productParametersstring商品参数(规格表等)"尺寸: 20x15x10cm"

系统信息

字段名类型必填说明示例
timestampstring捕获时间戳(自动生成)"2024-11-06T12:00:00Z"

完整示例

javascript
const productData = {
  // 必填字段
  url: "https://example.com/product/123",
  title: "Bose QuietComfort 耳机",
  price: "26800",
  images: ["https://example.com/img1.jpg", "https://example.com/img2.jpg"],
  minQuantity: "1",
  maxStock: "50",
  
  // 可选字段
  description: "顶级降噪耳机,提供卓越音质",
  condition: "全新",
  brand: "Bose",
  shippingInfo: "免运费",
  deliveryTime: "3-5 个工作日",
  precautions: "请在签收时检查包装完整性",
  productParameters: "颜色: 黑色\n重量: 240g\n连接方式: 蓝牙 5.1"
};

基于 MIT 许可证发布