认证概述
光速零售POS (——r)目前使用OAuth身份验证令牌。你可以注册一个OAuth客户在我们OAuth客户注册页面。
OAuth工作流
使用光速零售POS (——r) API,您需要一个OAuth访问令牌。OAuth允许开发人员获得一个帐户在一个简单的,流线型的方式。光速零售使用OAuth 2.0协议包装API客户端授权和身份验证。
使用OAuth的主要步骤是:
OAuth端没有绑定到一个特定的光速零售POS (——r)账户。你可以将它连接到多个账户通过以下步骤。一旦你有一个帐户的访问令牌,不需要进一步的用户交互的账户用户连接到账户通过API。
发行的所有访问令牌和一个60分钟的寿命。您的应用程序需要使用一个刷新令牌请求一个新的令牌到期的时候。这并不需要用户交互。
注册你的客户
注册一个OAuth的客户,用我们的OAuth客户注册页面。下面是一些信息字段需要完成注册。
客户机API的细节
场 | 描述 |
---|---|
的名字 | 集成名用户将看到批准为OAuth客户机访问。确保它描述了用户的应用程序很好地了解应用程序要求许可他们的帐户。 |
重定向的URI | 位置授予权限后,用户将被重定向到您的应用程序。这个URI将收到的临时代码,您可以使用它们来请求一个访问令牌。 URI必须不包含一个片段(即,它不能包含“#”字符)。 重定向的URI必须指向一个服务器控件。如果你不确定,你可以使用 https://localhost 。 |
网站 | 您的应用程序或页面的主页提供关于应用程序的信息。网站的URL必须指向一个服务器控件。 |
联系人
任何更新的API将被发送到联系人API客户机上。一定要保持联系。
场 | 描述 |
---|---|
的名字 | 主要联系人的名字 |
电子邮件 | 一个有效的电子邮件地址。将使用这个邮件地址给你发送API-related公告。确保你可以在这个地址收到邮件并保持最新的地址,以确保你能收到这些通讯。 |
电话 | 一个有效的电话号码。可选 |
一旦提交,你的客户ID和秘密将生成和显示。客户机ID的惟一标识符是你的客户,和秘密是用于验证您的客户端在请求令牌。确保你记录这些;你不能看他们。
请求将被审查批准。你将通过电子邮件通知,当你的客户已经激活或与应用程序是否有问题。
你可以更新你的客户详细信息https://cloud.lightspeedapp.com/oauth/update.php。你需要验证你的客户ID和秘密。
你不能改变客户机ID,但是你可以生成一个新的随机客户秘密。
请求一个临时令牌
您提供光速零售POS (——r)用户提供一个链接,包括应用程序的客户机id和访问范围(年代)你所需要的。这个链接将光速零售登录页面。在登录之后,他们会问他们是否想让你的应用程序访问他们的帐户指定的权限范围(s)。
示例链接:https://cloud.lightspeedapp.com/oauth/authorize.php?response_type=code&client_id= {client_id}范围=员工:所有
访问令牌页面了解更多细节。
请求一个访问令牌
临时令牌用于请求一个访问令牌。到期后30秒后,所以访问令牌请求必须发送很快。
在大多数情况下,OAuth客户的重定向将端点URI将接受临时令牌并自动请求和存储访问令牌。出于测试目的,您还可以阅读临时令牌从你的浏览器的地址栏和发送访问令牌请求旋度
在命令行上或类似的东西。
看到访问令牌页面了解更多细节。
使API请求
美元旋度- h“授权:无记名{访问令牌}”“https://api.lightspeedapp.com/API/V3/Account.json”
进口请求头={“授权”:“不记名{访问令牌}”}url=“https://api.lightspeedapp.com/API/V3/Account.json”r=请求。得到(url=url,头=头)
< ? php美元的旋度=curl_init();curl_setopt_array(美元的旋度,数组(CURLOPT_URL= >“https://api.lightspeedapp.com/API/V3/Account.json”,CURLOPT_HTTPHEADER= >数组(“授权:持票人{access_token}”,),));美元的反应=curl_exec(美元的旋度);美元犯错=curl_error(美元的旋度);curl_close(美元的旋度);如果(美元犯错){回声“旋度错误#:“。美元犯错;}其他的{回声美元的反应;}? >
一旦你有一个访问令牌,你可以请求光速零售POS (——r) API通过发送令牌授权的标题是这样的:
授权:无记名{访问令牌}
右边的例子演示了如何获得零售POS账户信息与访问令牌(包括帐户ID)。
使用刷新令牌
发行的所有访问令牌到期时间定义的expires_in
价值。您的应用程序需要使用刷新令牌来请求一个新的访问令牌时,令牌到期。这并不需要用户交互。