脚本API.
BigCommerce脚本API使开发人员能够以编程方式将脚本注入商店的模板文件。这种能力意味着应用程序和集成可以将脚本插入用户的店面,而无需用户手动将代码片段粘贴到控制面板中。您可以使用此API插入多种类型的脚本,包括以下内容:
- 分析脚本
- 单击App Scripts
- 实时聊天和支持插件
- 主题扩展或连接器应用程序
脚本管理器API合作伙伴指南
使用脚本管理器API,您的应用程序现在可以将脚本插入用户的店面,而无需用户手动将代码片段粘贴到控制面板中。安装应用程序后,您可以自由更新这些脚本,如果需要,如果要卸载应用程序,则会自动删除脚本。
在我们最新主题(模板)上安装应用程序的过程相对简单。但是,如果您的应用程序已经存在,您可能已经要求商家在控制面板中的这两个部分之一中粘贴代码片段:
- 页脚脚本
- Web Analytics.
此外,由于我们的旧(基于蓝图的)主题不支持脚本管理器API,您仍然需要某种方式为用户提供所需的文档的文档,而不会使用其他不必要的步骤来负担更新的主题的用户。
为帮助您过渡到脚本管理器API,我们提供了一些推荐的策略来处理这些不同的情况。
模板与蓝图
如上所述,BigCommerce支持两个主题发动机:模板和蓝图。模具是我们最新的技术,所有新商店只能访问模板主题。但是,旧商店使用我们的遗留主题引擎,蓝图,它不能呈现通过脚本管理器API插入的脚本。
因此,您需要检查用户是否正在运行模板以确定其存储是否支持脚本管理器API。为此,使用获取商店信息API端点并检查stencil_enabled.
旗帜。(需要store_v2_information_read_only scope.)。
先决条件
本文包含有关脚本API的详细信息,并假设您熟悉BigCommerce应用程序安装过程。有关应用程序安装过程的更多信息,请参阅应用程序安装
升级和安装
在模板上安装应用程序
我们建议在收到安装在模板商店上安装的应用程序的Auth回调流程后立即插入脚本。使用脚本管理器API的“创建脚本端点”添加脚本。
我们强烈推荐离开auto_uninstall.
标志设置为true,因此您的应用程序将在卸载时正确清理自己。查找有关此标志的更多信息这里。
升级模板上的现有应用程序
如果您已经发布了您的应用程序,则可能有现有用户使用控制面板中的某处粘贴代码。处理这种情况有一些可能的方法。
没做什么
如果您不需要将现有商家升级到脚本管理器API,则留下它们是完全没事的。您需要维护手动卸载过程的文档,以便具有较旧安装的商家知道该清除的内容。您将无法自动更新或添加这些用户的脚本。
提示商人升级
如果您希望您的商家更新到新脚本管理器随着时间的推移,您可以提示他们在应用程序的着陆页上执行此操作。您需要跟踪您的哪些商家不使用脚本管理器知道是否需要显示此提示。在提示他们升级之前,请务必检查它们是否正在运行模板(通过获取商店信息端点)。
一旦用户决定升级,您可以通过在控制面板中删除旧的粘贴代码,然后,单击按钮后,通过脚本管理器API安装脚本。
默默地升级到脚本管理器API
最后,假设您旧的粘贴脚本可以与新的脚本管理器API脚本一起生活。在这种情况下,您可以在没有任何用户干预的情况下升级到使用脚本管理器API。无论是可能的,是否可能会根据您的应用程序的实现而有所不同。
虽然您的商家将在其店面页面加载更多数据,而是此方法将允许您立即过渡到使用脚本管理器API所有安装。请记住,您仍然需要记录现有安装的手动卸载过程。
在蓝图商店安装应用程序
如上所述,蓝图主题引擎不支持脚本管理器API。您将无法在任何店面页面上呈现通过此API插入的任何脚本。为防止不可预测的行为,如果用户更改主题,我们强烈建议在通过脚本管理器API安装任何脚本之前检查用于模板支持的Get Store信息端点。此外,当商店不支持模板时,您仍然希望显示旧的手动安装步骤。
现有的蓝图安装
现有的蓝图安装不会受到影响,但请记住,如果您提示现有的Stencil用户升级到脚本管理器,则将抑制蓝图用户的此消息。
修复丢失的脚本
您的应用程序安装可能会发现自己意外缺少一个或多个脚本。以下是此问题的一些可能原因。
1.)商家删除了你的剧本
商家在尝试删除属于应用程序的脚本时会收到警告,但我们确实允许它们这样做。
要优雅地处理这种情况,我们建议您查看获取脚本在您的应用程序详细信息页面上的端点(由返回)加载回调URI确定是否存在预期脚本。如果不是,您可以提示用户单击按钮以自动修复其安装。
我们要求您要求用户的权限而不是自动执行此操作,因为它们可能对删除丢失脚本有充分的理由。
2.)商家的主题没有正确设置
主题模板必须在页面中具有把手表达式{{event.scripts}}和{{footer.scripts}}来呈现脚本。如果其中中的任何一个,则该页面上的脚本,其中包含设置为head或页脚(分别)不会正确呈现。
特别值得注意的是,{{head.scripts}}最近仅添加到Cornerstone主题中的结账和订单确认页面,并且在基石之外的这一标准的广泛采用仍然是一个正在进行的过程。
为确保您的应用程序与尽可能多的主题兼容,我们向结帐,Order_Confirmation和All_Pages等待推荐页脚开销。
3.)脚本在结账和订单确认中未呈现
要呈现脚本,商店必须具有BigCommerce的优化单页结帐。这是所有新模板商店的默认结帐类型。现有商店必须手动更改本文中详细的结账类型。
来自市场的模板主题支持优化的单页结帐。但是,可以有实例,商家在没有支持优化的单页结账的情况下维护其私人主题的情况。在这种情况下,商家必须按照步骤添加主题支持这里。
笔记
- 如果要将脚本注入结账,则需要更新签出内容的范围。这店老板只能创建帐户。
- 商家将能够看到控制面板上安装的脚本。在本机标记管理器中,商家操作仅限于查看和删除脚本。
- 脚本可以位于标题中
{{head.scripts}}
或页脚{{footer.scripts}}
。 - 脚本管理器仅适用于模板主题。BluePrint Store用户仍需要在代码中复制和粘贴。
- 当前的可见性选项是
店面
那查看
那all_pages.
, 和订单确认
。 - 通过脚本API注入的脚本将不会呈现通过模板CLI在本地开发主题时。
- 每个应用程序都可以有10个脚本。
- 您可以在单个呼叫中安装最多五个脚本。
<!!-全球网站标签(GTAG.。JS.)-谷歌分析-><脚本异步SRC.=“https://www.startgorf.com/gtag/js?id=ga_tracking_id”></脚本><脚本>窗户。DataLayer.=窗户。DataLayer.||[];功能GTAG.(){DataLayer.。推(争论);}GTAG.('js'那新的日期());GTAG.('config'那'ga_tracking_id');</脚本>
脚本可见性位置
范围 | 能见度 |
---|---|
all_pages. |
添加愿望清单 博客列表 博客帖子 品牌页面 所有品牌页面 大车 类别 查看 我的帐户 产品比较 订单确认 页 支付方式 登录 联系表 产品 搜索 所有愿望清单 愿望清单 404页面 |
店面 |
添加愿望清单 博客列表 博客帖子 品牌页面 所有品牌页面 大车 类别 产品比较 页 联系表 我的帐户 产品 搜索 所有愿望清单 登录 愿望清单 404页面 |
查看 |
查看 |
订单确认 |
订单确认 |
脚本无法注入:
- giftcertificates.php.
- sitemap.php.