TROCCOでZAICOのデータ転送してみた

# ✨️ TROCCOでzaicoのデータを抽出・転送できるようになりました！

# zaicoとは?
zaicoは、スマホやPCで簡単に在庫管理ができるクラウド型のシステムです。QRコードやバーコードで物品とデータを紐付け、入出庫や在庫確認をリアルタイムに行えます。

https://www.zaico.co.jp/

# TROCCOとは?

TROCCOは、データの連携・変換をスムーズに実現するクラウド型データ統合ツールです。
執筆者はTROCCOのカスタマーサクセスエンジニアをしています。

https://trocco.io/


# :satellite_orbital: TROCCOで取得できるデータ一覧（2025/04現在）

| 取得対象 | API |
| -------- | -------- |
| 在庫データ一覧     | [/api/v1/inventories](https://zaicodev.github.io/zaico_api_doc/#%E5%9C%A8%E5%BA%AB%E3%83%87%E3%83%BC%E3%82%BF-%E5%9C%A8%E5%BA%AB%E3%83%87%E3%83%BC%E3%82%BF%E4%B8%80%E8%A6%A7%E5%8F%96%E5%BE%97-get) |
| 写真・ファイル一覧 |[/api/v1/inventory_attachments/{inventory_id}](https://zaicodev.github.io/zaico_api_doc/#%E5%9C%A8%E5%BA%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%86%99%E7%9C%9F%E3%83%BB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB-%E5%86%99%E7%9C%9F%E3%83%BB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%80%E8%A6%A7%E5%8F%96%E5%BE%97-get)|
| セット品データ一覧 | [/api/v1/inventories_sets](https://zaicodev.github.io/zaico_api_doc/#%E3%82%BB%E3%83%83%E3%83%88%E5%93%81%E3%83%87%E3%83%BC%E3%82%BF-%E3%82%BB%E3%83%83%E3%83%88%E5%93%81%E3%83%87%E3%83%BC%E3%82%BF%E4%B8%80%E8%A6%A7%E5%8F%96%E5%BE%97-get) |
| 出庫データ一覧     | [/api/v1/packing_slips/](https://zaicodev.github.io/zaico_api_doc/#%E5%87%BA%E5%BA%AB%E3%83%87%E3%83%BC%E3%82%BF-%E5%87%BA%E5%BA%AB%E3%83%87%E3%83%BC%E3%82%BF%E4%B8%80%E8%A6%A7%E5%8F%96%E5%BE%97-get)  | 
| 出庫物品データ一覧 |  [/api/v1/deliveries](https://zaicodev.github.io/zaico_api_doc/#%E5%87%BA%E5%BA%AB%E7%89%A9%E5%93%81%E3%83%87%E3%83%BC%E3%82%BF-%E5%87%BA%E5%BA%AB%E7%89%A9%E5%93%81%E3%83%87%E3%83%BC%E3%82%BF%E4%B8%80%E8%A6%A7%E5%8F%96%E5%BE%97-get)
| 入庫データ一覧     | [/api/v1/purchases/](https://zaicodev.github.io/zaico_api_doc/#%E5%85%A5%E5%BA%AB%E3%83%87%E3%83%BC%E3%82%BF-%E5%85%A5%E5%BA%AB%E3%83%87%E3%83%BC%E3%82%BF%E4%B8%80%E8%A6%A7%E5%8F%96%E5%BE%97-get) | 
| 入庫物品データ一覧 | [/api/v1/purchases/items](https://zaicodev.github.io/zaico_api_doc/#%E5%85%A5%E5%BA%AB%E7%89%A9%E5%93%81%E3%83%87%E3%83%BC%E3%82%BF) |
| 取引先データ一覧   | [/api/v1/customers](https://zaicodev.github.io/zaico_api_doc/#%E5%8F%96%E5%BC%95%E5%85%88%E3%83%87%E3%83%BC%E3%82%BF-%E5%8F%96%E5%BC%95%E5%85%88%E3%83%87%E3%83%BC%E3%82%BF%E4%B8%80%E8%A6%A7%E5%8F%96%E5%BE%97-get) |
| 発送元データ一覧   | [/api/v1/shipping_clients](https://zaicodev.github.io/zaico_api_doc/#%E7%99%BA%E9%80%81%E5%85%83%E3%83%87%E3%83%BC%E3%82%BF-%E7%99%BA%E9%80%81%E5%85%83%E3%83%87%E3%83%BC%E3%82%BF%E4%B8%80%E8%A6%A7%E5%8F%96%E5%BE%97-get) |

※TROCCOから取得できるデータとAPIの紐づけは執筆者が独自に行なっているものです。
正確性は担保できておりませんので、あらかじめご了承ください。

# TROCCOで在庫データ一覧をスプシに転送してみた

## 【zaico】APIトークンの取得
zaicoにログインします。
APIトークンはユーザー詳細画面より取得可能です。
コピーしておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3033246/c6521f18-48f3-4ce4-985a-d4c94f3b77ec.png)


## 【TROCCO】接続情報の作成

先ほどのAPIトークンをペーストして保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3033246/e4f21505-cb4c-412f-a8d1-bce818b86873.png)

https://trocco.io/connections/zaico/new

## 【TROCCO】転送設定の作成

### プレビューの確認

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3033246/62c27b75-6658-4b56-b9a3-c8e73b22347c.png)


## 【スプシ】転送結果
スプレッドシートが転送できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3033246/ca72726c-5f15-42c4-b608-5c1aa455d6b1.png)

zaico画面上と同じデータが取得できました!!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3033246/23f0efe5-b49c-4928-89e7-015ed5c672ba.png)

注意点としては、取得できるのは現時点での在庫データのみとなります。
過去の履歴を追いたい場合は、日次で実行し日付別のテーブルに書き込むか、カラムを追加していつの断面かわかるようにしておく必要がありそうです。

# 出庫データも抽出してみます

## 【TROCCO】転送設定の作成 出庫データ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3033246/2530f36d-eacc-4d8c-9cde-c4c13eaeca77.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3033246/23743000-4bf7-4334-bea9-73d90d100038.png)

出庫データが取得できました。

何がいくつ出庫されたかは、`deliveries`というカラムにjsonで格納されています。
```json
[{"quantity":1.0,"unit":null,"inventory_id":59230349,"status":"completed_delivery","unit_price":100.0,"box_quantity":1.0,"estimated_delivery_date":null,"delivery_date":"2025-03-14","etc":null,"box_unit":null,"id":30230780,"subtotal_amount":100.0,"title":"マスク（3枚入）"}]
```
jsonだと扱いにくいので、TROCCO上でパースします。
jsonの中から取り出せると嬉しいのは以下の項目でしょうか
- 商品名 : `title`
- 在庫データID（zaico上での商品コード的なもの）: `inventory_id `
- 数量 : `quantity`

`[{json}]`という形で格納されている値からは、`[0].jsonKey`と指定するとうまく取得できます💡

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3033246/b7e016ce-874d-4254-bd41-52bf208691f3.png)

レコード数が多いので、入庫済のステータスのデータだけに絞り込みたいケースもあるかもしれません。
そんなときはフィルター設定が便利です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3033246/c31356dd-c0f5-4da6-8f43-817d332f3702.png)


変更をプレビューしてみると、jsonの中から欲しい値を取得することができました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3033246/575e9a99-f225-4371-92cc-d60f7b70895e.png)

設定を保存して転送してみると、こんな⏬️感じになります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3033246/886a1d34-1126-43da-9d34-7a4a5d9254ae.png)


# おわりに
今回はスプシに転送しましたが、DWHへデータを連携することで時系列での在庫変動を把握したり、BIツール等でダッシュボードを作成したり等してもよさそう💡

この記事を見てくださった方の、なにか少しでもお役に立てていたらならば幸いです🙏