【Shopify】ShopifyのAPI経由で海外の電話番号登録する際の注意点

こんにちは、遠藤です。

今回はShopifyのAPI経由で海外の電話番号登録する際の注意点について記載します。

というのも、普段は正常に利用できていたShopifyに電話番号を登録する処理が、ある特定のユーザーが入力した海外の電話番号の場合は、エラーとなったためです。

環境はLaravel(8.x)で ShopifySDK(PHP)を使用しています。

 

目次

  1. 原因となったコード
  2. Shopifyドキュメントの確認と原因の追求
  3. 解決方法
  4. 参考

 

1. 原因となったコード

以下のコードは2つのパターンで別の挙動をしました。

  1. 日本の電話番号(09012345678)の入力:登録成功
  2. 香港の電話番号(12345678)の入力:登録失敗

 

2. Shopifyドキュメントの確認と原因の追求

Shopifyのドキュメントを見ると「phone」の箇所に以下の記載がありました。

The unique phone number (E.164 format) for this customer. Attempting to assign the same phone number to multiple customers returns an error. The property can be set using different formats, but each format must represent a number that can be dialed from anywhere in the world. The following formats are all valid:

phone properties
  • 6135551212
  • +16135551212
  • (613)555-1212
  • +1 613-555-1212

上記4つのどの登録方法でも登録できるみたいでした。

今回は1つ目のパターン(6135551212)での登録を行なっていました。

Shopifyの管理画面を確認するとデフォルトが日本の電話番号として認識される仕組みになっていることが判明しました。

2つ目のパターン(+16135551212)のように国番号を最初に付与した形で登録すれば、デフォルト以外の国の電話番号も登録できることが分かりました。

 

3. 解決方法

以下のようにコードを修正すると動作します。

国番号を前に付与して登録するのがポイントです。

日本以外の国の場合は必須となります。

 

4. 参考

Shopify ロゴ
https://help.shopify.com/ja/partners/getting-started/shopify-branding

Shopify ロゴ利用規約
https://www.shopify.com/brand-assets

 

 



❏❏ TOPIC ❏❏ ------------------------------------------------------------

カスタム自由!フリーECサイトパッケージ
チャットボット導入サービス
WEBシステム開発・スマホアプリ開発はSRIAへ