私はカスタム配送料を返す専用のShopifyアプリを構築しています。 API docsに続いて、this tutorialの助けを借りて、私は自分の店でいくつかのサンプル出荷レートを返す機能的な概念実証を作成しました。Customify CarrierServiceから料金を得ることができません
しかし、その概念実証アプリケーションはPHPで構築されており、最終版はRuby on Railsになければなりません。そのため、PHPアプリケーションとまったく同じコンテンツを返すRailsアプリを作成しましたが、何らかの理由で料金がShopifyバックエンドに表示されません。
私が気付く唯一の事は、HTTPヘッダーです(私はPHPアプリケーションにマッチさせるためにそれらを使用してみましたが、役に立たない)。私がここで紛失していることは明らかですか?ここで
は、HTTPレスポンスヘッダの比較です:
PHP:
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 186
Content-Type: text/html; charset=UTF-8
Date: Tue, 16 May 2017 13:00:30 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
のRails:
Cache-Control: max-age=0, private, must-revalidate
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Tue, 16 May 2017 12:57:38 GMT
ETag: W/"ce885edaa10636b3b7459dca958f44dd"
Server: nginx
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-Request-Id: 54e2575e-c86a-4f44-a315-d0a3fbbc13f9
X-Runtime: 0.616974
は再び、Shopifyは細かいPHPの応答を処理しますが、Railsの上で静かに失敗します応答。 Shopifyが拒否しているかもしれない2番目の(Rails)ブロックには何かがありますか?
Shopifyは残念なことに、このタイプの問題をデバッグするためのエラーログや方法を提供していません。あなたのアプリからレートを引き出すかどうかは関係ありません。ここで
は私のRailsはrates_controller.rb
です:
class RatesController < ApplicationController
def index
ups_rates = {
rates: [
{
service_name: 'Endertech Overnight',
service_code: 'ETON',
total_price: '000',
currency: 'USD',
min_delivery_date: (DateTime.now + 1.days).strftime('%F %T %z'),
max_delivery_date: (DateTime.now + 2.days).strftime('%F %T %z')
},
{
service_name: 'Endertech Regular',
service_code: 'ETREG',
total_price: '000',
currency: 'USD',
min_delivery_date: (DateTime.now + 3.days).strftime('%F %T %z'),
max_delivery_date: (DateTime.now + 7.days).strftime('%F %T %z')
}
]
}
# Tested returning both application/json (default) or text/html
#render json: ups_rates
render body: ups_rates.to_json, content_type: "text/html"
end
end
私は多分Shopifyは非常に積極的にキャッシュされたので、私はまた私のプライベートのアプリやキャリアサービスの両方を破壊し、再作成しようとしただけでなく、callback_url
を変更疑わ。これまでのところ何も効果がありませんでした。
ありがとうございました!
を、あなたのいくつかを投稿するためにちょっとザックが、それは可能でしょうコード? –
@JoshBrownもちろん!私はRailsコントローラコードを追加しました。私はそれが多くの洞察を提供するとは確信していません - それはShopifyが求めているものを正確に出力しているようです。 (私は間違っていると思う!) – Zac