前提・実現したいこと
Welcart+DLSeller(デジタルコンテンツ販売用のプラグイン)を利用して
デジタルデータのダウンロード販売サイトを運営しております。
商品登録を、次の手順で行っております。
1.) WordPressのwp-content/uploadsフォルダに直接デジタルデータをアップロード
2.) Media from FTP Add On Commandlineを使ったシェルスクリプトをcronで自動実行させており、
WordPressにメディア登録されていないデジタルデータをメディア登録
3.) 管理画面 [Welcart Shop] - [商品マスター]にアクセス
4.) 操作フィールドの「商品一括登録」ボタンをクリック
5.) 商品一括登録用CSVを作成 (シェルスクリプトで一括作成)
6.) 事前に作成しておいた商品一括登録用CSVをアップロード
しかし、
短い間隔で多数の商品を登録するため、
上記手順3.)〜6.)にかかる担当者の工数が無視できなくなってきました。
そこでこの手順を少しでも簡略化したいと考えております。
Welcart オンライン・マニュアル|ECサイト構築プラグイン > 管理画面マニュアル > 商品マスター
この一連の処理をGUIの操作ではなく、シェルスクリプトで実行したいのです。
試してみたこと
事前準備として、送品一括登録用CSVをサーバ上に作成しておきます。(手順5.)
手順3,4,6)をcURLを使うことで実現できるのでは・・・と期待したのですが
思うような動作になっておりません。
$ curl --data 'log=(WORDPRESSユーザID)&pwd=(WordPressユーザパスワード)' https://(ドメイン名)/wp-login.php -c ./cookie.txt $ curl -X POST -F "usces_upcsv=@./usces_item_list.csv" -F upload_mode=all -b ./cookie.txt 'https://(ドメイン名)/wp-admin/admin.php?page=usces_itemedit&action=itemcsv' --include
(参考にしたURL)
Welcart 商品一括登録(csv)をcronによる自動起動で実行する | クラウドロジスティクス
ログインは成功しているようなのですが、
その後のPOSTが上手く動作しておりません。
商品一括登録用CSV(usces_item_list.csv)はWordPressの「wp-uploads」フォルダに
アップロードされていることは確認できています。
以下レスポンスがありました。
(レスポンス)
HTTP/1.1 100 Continue
HTTP/1.1 302 Found
Server: nginx
Date: Tue, 03 Jul 2018 00:41:16 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Connection: keep-alive
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Location: https://(ドメイン名)/wp-admin/admin.php?page=usces_itemedit&usces_status=none&usces_message=&action=upload_register&mode=all®file=UmVnaXN0UHJvZHVjdHNfMTUzMDU3ODQ3Ni5jc3Y=
X-Original-Date: Tue, 03 Jul 2018 00:41:16 GMT
X-UA-Device: pc
上記のLocationに記載されているURLにブラウザでアクセスしてみたところ商品登録が行われました。
cronで自動実行するために、どこを修正すれば良いか、ご教授いただけないでしょうか。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
WordPress バージョン 4.9.5
welcart バージョン 1.9.10
DLSeller バージョン 2.1.14
cURL 7.29.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。