SOY Shopをご利用中の方から下記のような相談を受けました。

倉庫代行サービスを利用して、発送予定のものを代行の倉庫に預けて、

代行サービスの方から出荷予定日になったら配送してもらうようにしていると。


ここで一つ問題が生じる。

その問題というのがお客様宛の発送済みメールの送信のタイミングが遅くなる

というもの。


発送状況は代行サービスから直後に連絡があれば良いけれども、

直後に連絡がなければ、都度クロネコヤマトさん等の発送状況の確認を行わなければならない。


これだと発送済みであるかの確認とメールの送信が遅れてしまう可能性があるわけで、

発送状況の追跡サービスであるTrackingmoreを活用できないか?

というものでした。




国際で荷物を追跡する-Trackingmore


Trackingmoreは荷物を追跡するサービスで、

運送会社と伝票番号を指定すると、現在の配送状況を返します。


SOY ShopでTrackingmoreのAPIを叩いて、

発送済みのステータスが返ってきたらSOY Shopの注文の注文状態を更新しつつ、

発送済みメールの自動送信を行う。


というわけで、Trackingmore連携プラグインを作成してみました。


現時点では、

Trackingmoreのリアルタイム追跡を行うのみで、

サーバでリアルタイム追跡を行うjobを登録して利用します。


一応、発送済みの自動送信メールの実行までは確認できたのですが、

動作に関して課題が山積みの状態です。


Trackingmoreは短時間に連続でAPIを叩くことができないので、

一度で確認できる伝票番号の件数に制約をかけたり、

実行に間隔を空けたりと、

サーバのリソースを長い間占拠することになっています。


今後の開発の予定はWebhookで配送状況を確認する機能の追加で、

Webhookを利用すれば、

Trackingmore側でステータスの変更がある度にPOSTのリクエストを受信することができるため、

サーバのリソースの占拠が減ることが期待できます。


今回対応分を含んだパッケージは下記のサイトからダウンロード出来ます。

課題が山積みであることを予め了承の上ご利用ください。

https://saitodev.co/soycms/soyshop/