據(jù)了解,Shopify API的許多功能已發(fā)布到穩(wěn)定的“2019-10”版本中。
使用Shopify數(shù)據(jù)是此版本的核心,其中包括用于擴(kuò)展元數(shù)據(jù)(Metafields)實(shí)用性的新API,用于減少所需請(qǐng)求次數(shù)的批量操作,以及用于進(jìn)行REST分頁(yè)的新方法,這些方法可大大減少分頁(yè)結(jié)果所需的時(shí)間。此外,其他更改還包括對(duì)3D安全付款的支持,以及Translations API的多語(yǔ)言支持。
這些更改對(duì)你意味著什么?你該如何使用它們以提高APP的質(zhì)量和性能?
當(dāng)你需要有關(guān)產(chǎn)品目錄、業(yè)績(jī)或客戶營(yíng)銷偏好方面的大量數(shù)據(jù)時(shí),能夠快速便捷地從Shopify獲取數(shù)據(jù)非常重要。
傳統(tǒng)上,APP會(huì)向Shopify發(fā)出同步REST請(qǐng)求以獲取此數(shù)據(jù)。該請(qǐng)求鏈如下所示:
如果所涉及的商店的產(chǎn)品目錄較小,則此模式將起作用,但是當(dāng)我們進(jìn)入較大的數(shù)據(jù)集時(shí),就會(huì)出現(xiàn)問(wèn)題:
由于增加的SQL offset,響應(yīng)時(shí)間開(kāi)始增加。由于REST中的調(diào)用限制是每秒兩個(gè)請(qǐng)求,因此發(fā)出更多請(qǐng)求的一種常用方法是將它們線程化以創(chuàng)建并發(fā)性。
發(fā)出并發(fā)請(qǐng)求確實(shí)有助于使呼叫限制達(dá)到飽和,但擴(kuò)展性也比較差。隨著頁(yè)面 offset的增加,請(qǐng)求的速度會(huì)進(jìn)一步降低,這需要更多的并發(fā)性才能使呼叫限制達(dá)到飽和。
Shopify的兩個(gè)新工具可以在很大程度上解決這一問(wèn)題:
1)使用相對(duì)光標(biāo)分頁(yè)
相對(duì)光標(biāo)分頁(yè)將會(huì)記住你的位置,因此你的第一個(gè)請(qǐng)求之后的每個(gè)請(qǐng)求都將從上一個(gè)請(qǐng)求中斷的地方繼續(xù)。性能的提高意味著你無(wú)需建立并發(fā)即可輕松達(dá)到呼叫限制。在offset非常高的情況下,使用相對(duì)光標(biāo)比使用“page”要快400倍以上。
2)批量操作
對(duì)于單個(gè)請(qǐng)求而言,你可以使用批量操作來(lái)啟動(dòng)一個(gè)作業(yè),該作業(yè)將獲取所需的所有數(shù)據(jù),然后返回包含請(qǐng)求結(jié)果的單個(gè)JSONL文件。在等待成千上萬(wàn)個(gè)請(qǐng)求完成時(shí),你不必完全使呼叫限制達(dá)到飽和,而是可以發(fā)出一個(gè)不計(jì)入呼叫限制的單個(gè)請(qǐng)求,并且短時(shí)間內(nèi)即可完成。
以下是2種方法對(duì)獲取5萬(wàn)件商品的產(chǎn)品目錄的影響:
元數(shù)據(jù)是將相關(guān)數(shù)據(jù)添加到Shopify資源的有效方法之一,但是任何有權(quán)訪問(wèn)該資源的API客戶端也可以訪問(wèn)元數(shù)據(jù)。隨著2019-10版本的發(fā)布,你現(xiàn)在可以將元數(shù)據(jù)單獨(dú)劃分到你的API客戶端。這意味著,當(dāng)你想向資源添加元數(shù)據(jù)時(shí),無(wú)需其他APP即可訪問(wèn)此數(shù)據(jù),這種存儲(chǔ)數(shù)據(jù)的做法更為方便、安全。
之前,元數(shù)據(jù)雖然被普遍用于存儲(chǔ)供國(guó)際買家查看的翻譯信息,但付款網(wǎng)關(guān)、電子郵件模板、商店政策、SMS模板和鏈接等內(nèi)容之前并不能用元數(shù)據(jù)進(jìn)行翻譯,但是GraphQL中新的Translations API使所有這些成為可能。Shopify主題現(xiàn)在具有本地支持翻譯,而無(wú)需利用元數(shù)據(jù),并且APP可以為大量面向客戶的資源提供翻譯。
Translations API現(xiàn)在可以翻譯以下資源類型和字段:
集合:title、body_html
電子郵件模板:title、body_html
鏈接:title
面向買家的元數(shù)據(jù):value
商店文章:title、body_html、summary_html
商店博客:title
商店頁(yè)面:title、body_html
商店主題:基于主題數(shù)據(jù)的動(dòng)態(tài)鍵
支付網(wǎng)關(guān):name
產(chǎn)品名稱:title、body_html
產(chǎn)品選擇:name
產(chǎn)品變體:title、option 1、option 2、option 3
店鋪:meta_title、meta_description
店鋪政策:body
短信模板:body
今年9月份,修訂后的歐洲支付服務(wù)指令(也稱為PSD2)在歐洲經(jīng)濟(jì)區(qū)(EEA)的所有國(guó)家/地區(qū)生效實(shí)施。如果你的歐洲支付網(wǎng)關(guān)將受到影響,Shopify的3D安全支付身份驗(yàn)證方法將幫助你保持合規(guī)性。
點(diǎn)擊進(jìn)入【Shopify】隨時(shí)了解Shopify API的新鮮動(dòng)態(tài)及版本更新,以便你能夠在版本升級(jí)的第一時(shí)間啟用新功能。
(編譯/雨果網(wǎng) 謝欣欣)
【特別聲明】未經(jīng)許可同意,任何個(gè)人或組織不得復(fù)制、轉(zhuǎn)載、或以其他方式使用本網(wǎng)站內(nèi)容。轉(zhuǎn)載請(qǐng)聯(lián)系:editor@cifnews.com