开发者Skip to main content

  1. 文件
  2. 收费

API最佳实践

避免使用DNS缓存

车队API的高可​​用是建立在动态IP的基础上;DNS后面的地址在正常操作期间可能会突然更改。 DNS缓存里面的信息有可能会过时。这会导致连接的问题和错误。

建议避免更改DNS TTL设置(使用默认值),以确保DNS解析器遵循权威DNS服务器提供的TTL值。

避免频繁轮询设备数据

车队API允许开发人员通过API从设备获取数据,这些数据原本的设计不是用来被经常使用的。大多数API都有严格的速率限制以进行保护。如果您需要定期获取数据,请使用车队telemetry,它提供自定义的直接的实时数据流。

沟通与更新

重要更新(例如重大 API 变更)将通过电子邮件发送给管理员和应用开发者。广泛相关的更新将发布到 公告 部分。请确保所有电子邮件地址均已在应用程序帐户中注册为应用开发者或管理员。要添加/修改联系人,请导航至 Tesla 商务门户的“帐户”->“用户管理”部分:https://www.tesla.cn/teslaaccount/business

唤醒后查看车辆在线状态

在发出 唤醒 请求后,车辆可能需要 10 到 60 秒才能上线。要确定车辆是否能够接受指令,建议检查 Vehicle 端点返回的“状态”属性,以确保其不是“离线”或“睡眠”。一旦确认,命令就可以发送到车辆。请注意,如果车辆位于连接性较差的区域,则尽管汽车处于在线状态并已连接,API 仍可能返回 408。

确保使用未过期的授权令牌进行API调用

用于授权的车队API的Bearer令牌是简单的JWT令牌。在调用后端之前,请务必检查它们是否在1分钟内过期。如果他们在,请更新令牌再调用API。

对于高度分布式应用程序来说,缓存令牌是一个可行的选择。尽管如此,在选择这种方法时请使用有效的安全措施以确保安全。

遵守当地隐私法和数据管理调理

车队API根据当地法规(个人信息保护法、CCPA、GDPR 等)在多个区域进行本地化。 API可能会返回一些错误来指导开发人员,但开发人员有责任在安全、数据隐私、数据传输和数据治理方面遵守相应的法规。

请始终确保私钥和密码的安全

使用私钥和密码时请遵循最佳安全实践。现代云提供商提供密钥管理服务(例如 AWS Key Management Service、Azure Key Vault 和 Google Cloud Key Management Service)或硬件安全模块(HSM)解决方案来安全地创建和管理私钥和密码。请勿通过网络获取或传输私钥,尤其是在私钥未加密的情况下。

超时错误发生后验证车辆状态

在给车辆中发送和执行命令之前或之后可能会发生超时,因此在发生超时时很难确定车辆的状态。开发者有责任确保车辆处于所需状态。大多数车队API命令都是有状态的,可以安全地重试,但某些命令(例如honk_horn和media_next_track)可能会导致重复操作。因此,开发人员在重试这些命令时应小心谨慎,以避免出现意外后果。

身份驗證請求的速率限制

對於任何應用程式或帳戶,諸如 刷新令牌交換 之類的身份驗證請求不應超過 20 個請求/秒。 高於此速率可能會導致應用程式受到限製或阻止。