FROM CACHE - jp_header
解決済

販売チャネルに依らない売上の連携

kogai
Shopify Partner
41 9 58

いつもお世話になっております。

株式会社フィードフォースの小飼と申します。

 

現在、外部のデータソースから、Shopifyに依らない売上をShopifyに注入するアプリを企画しています。
(弊社はそのデータソースに対してもサードパーティに当たりますので、Sales Channel Appとは出来ません)

この場合、DraftOrderを作成してOrderをCompleteにすることで、マーチャントより認可頂いたアプリ由来の売上となることを、レポート画面より確認しました。
これは一見「Sales ChannelとしてStorefront APIから売上登録した」場合のレポートの見え方と同じように見えます。

 

 

 

mutation {
  draftOrderCreate(input: {email: "user@example.com", lineItems: [{ title: "some product", originalUnitPrice:100, quantity: 1}]}) {
    draftOrder {
      id
    }
    userErrors {
      message
      field
    }
  }
}

mutation {
  draftOrderComplete(id: "gid://shopify/DraftOrder/[***]") {
    draftOrder {
      invoiceUrl
      status
    }
    userErrors {
      message
      field
    }
  }
}

 

 

 

一方、この売上データを再度GraphQL APIから取得してみると、publication/channelのいずれもnullが返ってきますので、
Shopifyの内部的にはSales Channelとは別のカテゴリーの売上データとして保存されているように推察されます。

 

 

 

query {
  orders(first: 10, query: "created_at:>=2021-02-01") {
    edges {
      node {
        id
        createdAt
        publication {
          app {
            handle
          }
        }
        totalPrice
        channel {
          name
        }
      }
    }
  }
}

 

 

 

このようなデータの投入方法を取った場合、Shopifyのショップ管理画面における分析ページにおいて、何か懸念とすべきことはありますでしょうか?

(アプリ由来のデータは分類しづらい、など)

また、こういったデータを投入しているマーチャントが、別のベンダーが提供するデータ解析系のShopify Public Appを利用されている場合、売上の解析に支障が出る見込みはありますでしょうか?

(無論そのベンダーの提供するアプリの実装にはよると思いますが、売上ソースがpublication/channelのいずれからも見えないのであれば「不明な売上ソース」のような扱いになりうる?)

1 件の受理された解決策

junichiokamura
Community Manager
1200 280 506

成功

DraftOrderは、マーチャントが管理画面から行う注文作成に該当するものなので、他のデータソースとの連携に使用する用途ではありません。

一般的には、FAXや電話での注文を手作業で作成する用途なので、販売場所(チャネル)がないものとも言えます。

他のデータソースと連携するためのAPIはOrder APIですが、おっしゃる通り、他のサービスに出店してその売り上げをOrder APIで連携するものは販売チャネルにあたり、アプリストアに公開する場合は、そのサービス側でアプリ提供する1st partyになる必要があるので、他社からはリリースできません。

もし、個別のマーチャントの案件であれば、Order API自体はAdmin APIで販売チャネル化する必要はないので、 Custom Appか、Private Appで実現可能かと思います。

Public Appとして一般公開されたい場合は、接続先のサービスに公開を持ちかける必要があると思います。

 

Senior Partner Solutions Engineer

元の投稿で解決策を見る

2件の返信2

junichiokamura
Community Manager
1200 280 506

成功

DraftOrderは、マーチャントが管理画面から行う注文作成に該当するものなので、他のデータソースとの連携に使用する用途ではありません。

一般的には、FAXや電話での注文を手作業で作成する用途なので、販売場所(チャネル)がないものとも言えます。

他のデータソースと連携するためのAPIはOrder APIですが、おっしゃる通り、他のサービスに出店してその売り上げをOrder APIで連携するものは販売チャネルにあたり、アプリストアに公開する場合は、そのサービス側でアプリ提供する1st partyになる必要があるので、他社からはリリースできません。

もし、個別のマーチャントの案件であれば、Order API自体はAdmin APIで販売チャネル化する必要はないので、 Custom Appか、Private Appで実現可能かと思います。

Public Appとして一般公開されたい場合は、接続先のサービスに公開を持ちかける必要があると思います。

 

Senior Partner Solutions Engineer
kogai
Shopify Partner
41 9 58

早速ありがとうございます!

 

> DraftOrderは、マーチャントが管理画面から行う注文作成に該当するものなので、他のデータソースとの連携に使用する用途ではありません。

> 一般的には、FAXや電話での注文を手作業で作成する用途なので、販売場所(チャネル)がないものとも言えます。

 

当方の認識と齟齬がなく、やはりデータとしては正規化されていない売上データ(Shopipyエコスタイル内での取り回しが効きづらいデータ)となるように理解しました。

ご回答ありがとうございました。