如果您拥有其它渠道的预约系统(比如有赞商城,或独立网店),但是希望把这些渠道所收到的订单数据汇集到Darkroom「暗房」 进行统一管理,那么这个API接口正是您所需要的。「暗房」的API接口,目前仅限专业版 商家使用。使用API之前,您需要先联系DR客服生成一对API秘钥。对于中小型机构,我们更建议您直接使用「暗房」官方自带的在线预约模块。
本接口使用Basic Auth方式进行鉴权。首先你需要获得一对API KEY和API SECRET;然后,在每一个请求发送之前,你需要使用HMAC-SHA256算法计算出一个签名,该签名基于API KEY,API SECRET、当前时间戳、以及发送的数据包的内容。
需要注意的是,发送的数据包里的所有值(包括数字),都必须转换为字符串格式再发送,比如 {"num":123} 必须转为 {"num":"123"}。以下是以PHP为例的签名计算方式:
<?php
$payload=array(
'key1' => strval('value1'),
'key2' => strval('value2')
);
$timestamp = strval(gmdate('U'));
$queries=array_merge($payload, array(
'api_key' => 'API_KEY',
'api_ts' => $timestamp,
));
ksort($queries);
$string = json_encode($queries);
$queries['api_sig'] = hash_hmac('sha256', $string, 'API_SECRET');
本接口的请求是无状态的,因此每一个请求的数据包里都必须包含鉴权所需的全部参数。通过CURL发送一次POST请求的示例:
curl -X POST -d '{"key1":"value1", "key2":"value2", "api_key":"ABC", "api_ts":"1533435628", "api_sig":"25f0b...209e9" }' -H "Content-Type: application/json" https://api.darkroom.net/v1.3