虚拟卖家帐户

Teapplix API为特定的合作伙伴提供特殊的端点。该API提出虚拟卖家帐户的概念,主要基于以下3个主要定义:

  •     VSAccount API方法 - 用于创建,列出或删除虚拟卖家账户
  •     VSObtainToken API方法
    •   启动URL- 这个URL是ObtainToken返回的一部分,允许您开启一个可嵌入到您系统里的Teapplix UI界面
  •     VSChannel API方法 - 用于列出特定虚拟卖家链接的电商平台。

请注意,只有具有特殊设置后的虚拟卖家帐户才能使用此部分的API。对于所有其他账户,如果您尝试调用这些API,将返回错误信息。

VSAccount 虚拟帐号

该方法允许合作伙伴完成以下操作

  •  POST - 创建新的“虚拟卖家帐户”。虚拟卖家与普通的Teapplix账户不同。所有虚拟用户都存储在合作伙伴拥有并管理的同一主Teapplix帐户中
  •  GET – 获取现有的虚拟卖家账户
  •  DELETE - 删除特定的虚拟卖家帐户。一旦删除,虚拟卖家在Teapplix中创建的所有电商平台链接也将被删除,与电商平台的同步也就终止了。

此方法的请求/响应详细信息:

VSObtainToken

在第三方合作伙伴系统中,调用此API来获取在您的应用程序内部打开Teapplix嵌入窗口所需的参数:

通过HTTP GET完成对此方法的请求:

https://api.teapplix.com/api2/VSObtainToken?VSAccountID=XYZ,如果允许虚拟卖家与Teapplix UI交互时,合作伙伴系统应该接下来做:

1、调用ObtainAccessToken

2、重定向浏览器的URL到https://app.teapplix.com/h/AccountName/te/lo.cgi?Action=Launch&access_token=AccessToken&ts=unixtimestamp&account_id=XYZ&signature=signedstringvalue.

3、请查看下一节,了解如何计算signature = somesecretvalue的示例

4、请注意,如果不使用的话,那么临时访问令牌将在30分钟内过期

请注意,该方法是不受保护的,你需要在请求中指定APIToken HTTP头,就像使用任何其他受保护的API方法一样。

请求/响应明细如下:

启动URL

当“虚拟用户”需要访问Teapplix UI时,启动URL被用作界面的起始点。

使用此URL进行身份验证,因此不需要输入登录/密码,用户可以直接跳转到该用户界面。

该界面将允许仅与该卖家的数据进行交互,比如通过添加token和其他电商平台集成。

主机地址是:https://app.teapplix.com/

接下来是URI和选项:

基本URI:/h/AccountName/te/lo.cgi

  •    AcccountName

AccountName是您的Teapplix虚拟帐号

  • Action=Launch

常量

  •     access_token=AccessToken

ObtainAccessToken API方法调用的结果

  •     TS = unixtimestamp

unixtimestamp是UNIX纪元的整数值,例如:1483257600

  •     ACCOUNT_ID= XYZ

account_id是“虚拟用户”的ID,3个字符

  •    signature= signedstringvalue

Signature Key

  • Signature Key

Signature Key是生成的Key或者在您的账户API页面指定。如Signature Key=XXX

更多细节如下:

第三方合作伙伴应该计算这个URL,并使用HTTP位置和代码302重定向到它。

  • 签名

签名是在“启动URL”中发送的参数。应该根据下面规则进行计算:

hmac(sha256(uri),SECRET_KEY).asHexValue()。

“URI”是完整的uri,带有选项(例如 /h/demo2/te/lo.cgi?Action=Launch&access_token=AccessToken&ts=unixtimestamp&account_id=XYZ),Signature key是由key生成或者在您的Teapplix账户中API页面指定。

计算签名后,结果值应加到URI中,结果URI是用户浏览器应该重定向到的地址

/h/demo2/te/lo.cgi?Action=Launch&access_token=AccessToken&ts=unixtimestamp&account_id=XYZ&signature=a19fe6204cb34767f48260719c4f25a9ae5e966e8

实现样例:

  • Perl
use Digest::SHA qw(hmac_sha256_hex);
my $options = '/h/demo2/te/lo.cgi?Action=Launch&access_token=AccessToken&ts=unixtimestamp&account_id=XYZ';
my $signature = hmac_sha256_hex($options, 'XXX');
my $url = $options . '&signature=' . $signature;
  • PHP

$options = '/h/demo2/te/lo.cgi?Action=Launch&access_token=AccessToken&ts=unixtimestamp&account_id=XYZ';

$signature = hash_hmac('sha256', $options, 'XXX', false); $signedURL = $options . '&signature=' . $signature;

  •   Python

import hmac

import hashlib

   options = '/te/lo.cgi?Action=Launch&access_token=AccessToken&ts=unixtimestamp&account_id=XYZ';
   signature = hmac.new(str('XXX'), options, hashlib.sha256).hexdigest()
   url = options . '&signature=' . signature;