2017-06-05 50 views
0

我已經創建了shopify應用程序,其中我使用了webhook進行結帳/更新。 Webhook工作正常,但我收到此錯誤消息。Shopify webhook無法成功回覆

您在https://www.smsblitz.io/smsblitz/abondoned?shop=smsblitz.myshopify.com&user=iman%5Egemconsultinginc.org的檢出/更新 網絡掛接是 未能返回成功response.This網絡掛接一直 嘗試23次。如果您的webhook繼續失敗,將刪除 ,並且您的應用程序將不會再收到任何通知。

請幫我解決這個問題。

謝謝

回答

0

你的webhook不能正常工作。它沒有迴應Shopify。所以,直到你解決這個問題,Shopify纔會對失敗進行計數並讓你知道,不久之後,他們將停止Webhook,並且你將不得不重新創建它。

要解決這個問題,請將webhook發送到您的端點並驗證它是否會返回200 OK。

+0

大衛你好, 感謝您的答覆。 在我的webhook中,我已經放棄購物車數據,並使用php睡眠功能等待5分鐘,然後發送短信給客戶,這是工作正常。那麼,你能否再解釋一下我現在需要做什麼? 謝謝 – TBI

+0

接收Webhook。觸發後臺工作來處理客戶。發送Shopify 200 OK。確保你對Shopify的響應時間<5秒。您的問題是您使用SLEEP,這意味着Shopify永遠不會獲得您的200OK,這意味着它們會刪除您的webhook。 –

0

最初我遇到了同樣的問題。以下事情可能會被解決,以解決上述問題。

  • 不要等到處理通知中的數據時。在獲取webhook數據後不久,發回200 OK狀態代碼,然後進行進一步處理。
  • 確保在php標記之前沒有空白區域,或者在發送200狀態代碼以購物之前沒有可用的回顯語句,因爲這將以錯誤標題已發送結束。
  • 不要隨着定時器睡覺,因爲shopify會等待5秒的時間窗口,並期望您的200狀態碼在該時間間隔之間。
  • 您可以將處理過的數據/標識保存到數據庫中。 Shopify在19日左右發佈了一個webhook通知(他們說,但有時候更多是真實的)。因此,您可以先與您的數據庫一起檢查webhook通知是否已由您處理。如果處理立即發送200 OK。

通過API創建的Webhooks比通過Shopify管理員手動創建的Webhook更可靠。 (雖然shopify聲稱他們對待他們一樣。)

+0

Hello Debashis Dash, 感謝您的回覆。 你的意思是說,當我從webhook收到響應,並收集數據後,我需要發送響應shopify像頭(「HTTP/1.1 200 OK」);然後在相同的函數中做進一步的處理。好嗎? $ Data = file_get_contents(「php:// input」); 此行後我需要添加標題(「HTTP/1.1 200 OK」);然後繼續進一步的功能? 謝謝 – TBI

+0

絕對。並確保與webhook相關聯的鏈接必須是全球可訪問的鏈接。它不應該是一個本地鏈接。最好的做法是維護webhook數據獲取和發送頭在一個單獨的php文件。發送標題200後,您可以通過CURL調用該函數。 (寫入webhook數據的邏輯操作。) –

+0

Hello Debashis Dash, 感謝您的迴應。你能否給我簡單的例子,以便我可以幫助我更好地理解。 謝謝 – TBI