会員一括登録時(更新時)のwebhookについて
会員情報をCSVにて一括登録した際のwebhookについて、下記のようなJSONが送信されています。
仕様書では、customerIdsが一緒に送信されることで記載されていますが、受信できていません。
仕様変更等はございますでしょうか。
{"Accept":"*\/*","Smaregi-Event-Id":"467af84a-1a49-4d33-af82-049388a5ae05","Smaregi-Event":"pos:customers","Smaregi-Contract-Id":"xxxxxx","Content-Type":"application\/json","User-Agent":"Smaregi-Platform-Api-Webhook-sb\/1.0","Content-Length":"75","Connection":"close","X-File-Type":"normal","X-Ua-Device":"pc","X-Failure-Cache-Time":"60","X-Accel-Expires":"60","X-Wp-Access":"0","X-Server-Address":"202.254.236.84","X-Real-Ip":"13.113.101.152","X-Forwarded-Ssl":"on","X-Forwarded-Port":"443","X-Forwarded-Host":"xxxxxx","X-Forwarded-Proto":"https","X-Forwarded-For":"xx.113.101.152","Host":"xxxxx"}
{"contractId":"xxxxx","event":"pos:customers","action":"bulk-update"}
ベストアンサー
-
ご質問ありがとうございます。
こちら、フォーマット自体はご記載いただいている`2020-11-26T23:07:14+09:00`で相違ございません。
取得系APIで設定できるクエリパラメータについては、リクエスト実行前にURLエンコードを実施する必要がございますが、ご対応いただいておりますか?
恐れ入りますが、ご確認をお願いいたします。
答え
お問い合わせありがとうございます。
こちらに記載がございますように、`balk~`系のactionについてはPK項目は通知されない仕様となります。
恐れ入りますが、通知を受信した際にAPIを利用して更新したレコードを取得するようにご対応をお願いいたします。
会員情報の場合、会員一覧取得APIで、更新日時をfrom-to検索できますので、webhook受信時刻を条件に指定して取得していただけますと幸いです。
共通仕様書を確認が漏れておりました。失礼しました。
追加で質問ですが、「2020-11-26T23:07:14+09:00」で条件指定したところ
"[upd_date_time-from]は日付形式(YYYY-MM-DDTHH:mm:ss+XX:XX, ISO 8601)が正しくありません"となります。
指定方法に誤りがありますでしょうか。
回答ありがとうございます。
URLエンコードが必要だったのですね。エンコードしましたら取得できました。
こちらの形式(2020-11-29T08:21:02Z)では取得できていたので、エンコード不要かと思っておりました。
webhook受信時刻 と更新日時のズレについて
更新日時と受信時刻は一致しないと思いますが、更新日時は「CSVをアップロードした日時」と考えればよいでしょうか。
仮に、10万件をアップロードした場合、アップロード処理に時間がかかった場合は
アップロードした日時で、10万件全てのデータに同じ日時で登録されるのでしょうか。
また、この場合、処理にかかる時間はどの程度を目安とすればよいでしょうか。
外部連携システムとして、受信時刻から〇分以内に更新されている情報を検索して更新するといった処理をしたいと考えております。
お問い合わせありがとうございます。
会員CSVアップロードは内部的には、CSVをアップロードした日時で更新しております。
申し訳ございませんが、アップロードにどの程度の時間がかかるかについては、アップロードされる会員データの各項目の記載状況や、対象のスマレジ ユーザーの会員数、実施時のサーバの状況によっても変動するため、一概にお答えできかねます。サンドボックス環境にて、開発者様のユースケースに合わせて、実際に計測していただけますと幸いです。
また、bulk-updateは更新処理が完了した後に送信されるため、updDateTimeより以前の時刻を指定いただければ、一括更新された会員を検索条件に含めることができます。
その他疑問点がございましたら、お気軽にお問い合わせくださいませ。