通販サイトの作成ログ

通販サイトでいじったメモログみたいなものだとお考えください。
質問もどうぞ。わかる範囲内でしたらお答えします。

2015年04月

楽天におけるにぎわいツール

完成したにはしたが各方面から訴えられそうなのでヒントを。

にぎわいツールinカラーミー

をベースに

楽天におけるPHP、API2

楽天におけるPHP、API3

を組み込む形です。

if(empty($obj_items[$i]->packageModel->itemModel->itemNumber)){
  $obj_items2 = $obj_items[$i]->packageModel->itemModel;
をどこかに取り入れて適宜修正です。

ちなみに、これだと8件までしか表示できませんのでご注意を。

楽天におけるPHP、API3

楽天におけるPHP、API2の続き
受注APIの中身の確認方法

JSONで格納されているので調べたら出てきた
http://www.proto-star.com/2010/10/04/php%E3%81%A7json%E3%81%AEobject%E3%82%92%E6%89%B1%E3%81%86/

楽天受注APIの中身は前回の処理だとデコード済なので
echo $res->message;
等で表示される。

配列ごとにお客様情報が格納されているので確認する場合は配列設定をする。
$obj_items = $res->orderModel;

で表示には
echo $obj_items[0]->packageModel->itemModel->itemName;
といった形式になる。
$obj_items[0]を$obj_items[1]にすると次の顧客情報となる。

受注APIの中身は整理するとこんな感じ
-------------------------------------------------------------------------------------
{
  ["errorCode"]=> string
  ["message"]=> string
  ["orderModel"]=> array(8) {

  [0]=> object(stdClass)#14 (34) {
    ["asurakuFlg"]=> string
    ["cardStatus"]=> int
    ["carrierCode"]=> int
    ["deliveryModel"]=> object(stdClass)#15 (2) {
      ["deliveryClass"]=> int
      ["deliveryName"]=> string
    ["deliveryPrice"]=> int
    ["emailCarrierCode"]=> int
    ["enclosureDeliveryPrice"]=> int
    ["enclosureId"]=> int
    ["enclosureStatus"]=> int
    ["firstAmount"]=> int
    ["goodsPrice"]=> int
    ["goodsTax"]=> int
    ["isBlackUser"]=> bool
    ["isGift"]=> bool
    ["isGiftCheck"]=> bool
    ["isRakutenMember"]=> bool
    ["mailPlugSentence"]=> string
    ["memo"]=> string
    ["modify"]=> bool
    ["operator"]=> string
    ["option"]=> string
    ["orderDate"]=> string
    ["orderNumber"]=> string
    ["orderType"]=> int
    ["ordererModel"]=> object(stdClass)#16 (17) {
      ["birthDay"]=> string
      ["birthMonth"]=> string
      ["birthYear"]=> string
      ["city"]=> string
      ["emailAddress"]=> string
      ["familyName"]=> string
      ["familyNameKana"]=> string
      ["firstName"]=> string
      ["firstNameKana"]=> string
      ["phoneNumber1"]=> string
      ["phoneNumber2"]=> string
      ["phoneNumber3"]=> string
      ["prefecture"]=> string
      ["sex"]=> string
      ["subAddress"]=> string
      ["zipCode1"]=> string
      ["zipCode2"]=> string
    ["packageModel"]=> object(stdClass)#17 (9) {
      ["basketId"]=> int
      ["deliveryCompanyId"]=> string
      ["deliveryPrice"]=> int
      ["goodsPrice"]=> int
      ["goodsTax"]=> int
      ["itemModel"]=> object(stdClass)#18 (14) {
        ["basketId"]=> int
        ["isIncludedCashOnDeliveryPostage"]=> bool
        ["isIncludedPostage"]=> c
        ["isIncludedTax"]=> bool
        ["itemId"]=> int
        ["itemName"]=> string
        ["itemNumber"]=> string
        ["normalItemModel"]=> object(stdClass)#19 (1) {
          ["inventoryType"]=> string
        ["pageURL"]=> string
        ["pointRate"]=> int
        ["pointType"]=> int
        ["price"]=> int
        ["selectedChoice"]=> string
        ["units"]=> int
      ["postagePrice"]=> int
      ["senderModel"]=> object(stdClass)#20 (12) {
        ["city"]=> string
        ["familyName"]=> string
        ["familyNameKana"]=> string
        ["firstName"]=> string
        ["firstNameKana"]=> string
        ["phoneNumber1"]=> string
        ["phoneNumber2"]=> string
        ["phoneNumber3"]=> string
        ["prefecture"]=> string
        ["subAddress"]=> string
        ["zipCode1"]=> string
        ["zipCode2"]=> string
      ["shippingNumber"]=> string
    ["postagePrice"]=> int
    ["requestPrice"]=> int
    ["seqId"]=> int
    ["settlementModel"]=> object(stdClass)#21 (2) {
      ["cardModel"]=> object(stdClass)#22 (6) {
        ["brandName"]=> string
        ["cardNo"]=> string
        ["expYM"]=> string
        ["installmentDesc"]=> string
        ["ownerName"]=> string
        ["payType"]=> int
      ["settlementName"]=> string
    ["shippingDate"]=> string
    ["shippingTerm"]=> string
    ["status"]=> string
    ["totalPrice"]=> int

  [1]=>
//以下同様
-------------------------------------------------------------------------------------

段差ごとにechoに「->」が必要になります。
intは整数、stringは文字列、boolは成否の表示となります。

以外と早く見つかってよかったー(^^;)

楽天におけるPHP、API2

配列?の中身を見れるまで行けたがここからどうしよう・・・((= ・ω・=))

楽天の受注API確認の最短ルート?

1、楽天のWEB APIサービス→WEB APIサービス、受注・決済・在庫APIメニュー→WEB API サービス申請にてユーザID、店舗URL、認証キーを確保する。

2、楽天の問い合わせでwebAPIのphpのサンプルデータをくださいと質問

3、サンプルデータのsrcフォルダをレンタルサーバに展開(自分はhetemlに置いた)

4、下記URL内のphpを適宜修正してphpファイルを作る
http://blog.livedoor.jp/kmiwa_project/archives/1023183858.html

----------------------------------------------------------------------------------
<?php

require_once("./test/TestDefine.php");
require_once("./api/OrderApiPractice.php");
require_once("./api/impl/OrderApiPracticeBase.php");
require_once("./api/impl/GetOrderPractice.php");
//↑は楽天からサンプルでもらったデータ

//タイムゾーンの設定
date_default_timezone_set('Asia/Tokyo');

//受注検索モデル情報の作成
$orderSearchModel =
array(
'dateType' => 1, //期間検索種別
'startDate' => strtotime("2015-03-01 00:00:00"), //期間FROM
'endDate' => strtotime("2015-03-31 00:00:00"), //期間TO
);
//受注情報取得リクエスト情報の作成
$serReq = array(
'orderSearchModel' => $orderSearchModel //受注検索モデル
);

$api = new GetOrderPractice();

//認証情報の設定
$api->setAuthRequest(
array(
           'authKey'  => 'AUTH_KEY',      // 認証キー
  'shopUrl'   => 'SHOP_URL',       // 店舗URL
  'userName' => 'USER_NAME'));   // ユーザ名

//受注情報取得リクエスト情報の設定
$api->setServiceRequest($serReq);

//API実行
$res = $api->callOrderApi();

print_r($res);

-------------------------------------------------------------------

Fatal errorでnot foundででたらサンプルデータの格納場所が違うみたいなので
ご確認ください。

サンプル少なすぎ・・・

YahooAPI

楽天は情報の選定が難しいため比較的情報の多いYahooAPIから触る。

が、受注APIが申請して時間がかかるためコードをひっぱり出してきても
アクセストークンが取れなかった・・・((=・ω・=))

参考URL
Yahoo!デベロッパーネットワーク:http://developer.yahoo.co.jp/

最新コメント
記事検索