Upgrade to Pro — share decks privately, control downloads, hide ads and more …

freeeAPI × Postman APIコラボレーションで スモールビジネスを世界の主役に! / FreeeAPI x Postman API collaboration to make small business the world's leading actor!

freee
November 10, 2023

freeeAPI × Postman APIコラボレーションで スモールビジネスを世界の主役に! / FreeeAPI x Postman API collaboration to make small business the world's leading actor!

freee

November 10, 2023
Tweet

More Decks by freee

Other Decks in Technology

Transcript

  1.  
    freeeAPI × Postman APIコラボレーションで

    スモールビジネスを世界の主役に!

    2023/11/08

    View full-size slide

  2.  
    2
    ● 職歴
    ○ 2018/05 ~ 株式会社U-NEXT
    ○ 2023/01 ~ freee株式会社
    ● 現在のポジション
    ○ public api team engineer
    ● 趣味
    ○ バイク
    ○ 猫
    ○ お⾵呂‧サウナ
    村上 紗彩 / prpr
    engineer
    Saaya Murakami

    View full-size slide

  3. 3
    ⽬次
    01 会社概要
    02 オープンプラットフォーム構想とfreee Public API
    03 freee Public API × Postman Team Collaboration
    04 freee Public API × Postman User Collaboration
    05 まとめ

    View full-size slide

  4. 4
    ⽬次
    01 会社概要
    02 オープンプラットフォーム構想とfreee Public API
    03 freee Public API × Postman Team Collaboration
    04 freee Public API × Postman User Collaboration
    05 まとめ

    View full-size slide

  5. 5
    Company
    Profile
    会社情報
    会社名
    freee株式会社(フリー株式会社)
    設立年月日
    2012年7月9日
    代表取締役
    佐々木 大輔
    上場市場
    東京証券取引所 マザーズ市場
    資本金
    161億603万円(資本準備金など含む)
    従業員数
    1,299人(※2023年6月末時点、連結会社の総数)
    事業内容
    クラウド型バックオフィスサービスの開発・販売

    View full-size slide

  6.  
    Mission
    スモールビジネスを、
    世界の主役に。
    freeeは「スモールビジネスを、世界の主役に。」 をミッションに掲げ、
    「だれもが自由に経営できる統合型経営プラットフォーム」
    の構築を目指してサービスの開発及び提供をしております。
    大胆に、スピード感をもってアイデアを具現化することができる
    スモールビジネスは、様々なイノベーションを生むと同時に、
    大企業を刺激して世の中全体に新たなムーブメントを起こすことが
    できる存在だと考えております。

    View full-size slide

  7. 7
    スモールビジネス向けに統合型クラウド(1)ERPを提供
    統合型クラウド会計ソフト 統合型クラウド人事労務ソフト
    請求書 | 経費精算 | 決算書 | 予実管理
    ワークフロー | 内部統制
    2013年3月~
    日本のクラウド会計ソフト市場
    シェアNo.1 (2)
    勤怠管理 | 入退社管理 | 給与計算 | 年末調整
    マイナンバー管理
    2014年10月~
    スモールビジネスの
    人事管理市場において
    売上金額シェアNo.1(3)
    その他サービス
    会社設立 開業
    税務申告 受発注 クレジットカード
    工数管理
    電子契約
    注:
    1. クラウドサービス:ソフトウェアやハードウェアを所有することなく、ユーザーがインターネットを経由して ITシステムにアクセスを行えるサービス
    2. リードプラス「キーワードからひも解く業界分析シリーズ:クラウド会計ソフト編」( 2022年8月)
    3. 「freee人事労務」は ITRが今年調査発行した「 ITR MARKET VIEW:人事・給与・就業管理市場 2022」の人事管理市場において、従業員 100人未満および従業員 100~300人未満の企業で売上金額シェア No.1(2020年度)を獲得しています。
    勤怠管理
    (中堅企業向け)
    経費精算
    販売管理
    福利厚生

    View full-size slide

  8. 8

    ● 様々な業種業態のスモールビジネスをバックオフィス面からサポート

    ● 導入事例:https://www.freee.co.jp/cases/
    業種や業態を問わず利⽤可能なプロダクト

    View full-size slide

  9. 9
    ⽬次
    01 会社概要
    02 オープンプラットフォーム構想とfreee Public API
    03 freee Public API × Postman Team Collaboration
    04 freee Public API × Postman User Collaboration
    05 まとめ

    View full-size slide

  10. 10
    スモールビジネス向けのERPへ

    View full-size slide

  11. 11
    freeeはオープンプラットフォーム構想を志向
    freeeはあらゆる領域のAPIを公開。様々なシステムが繋がるエコシステムを構築

    View full-size slide

  12. 12
    会計分野では30超のAPIで広範なシステム構築が可能
    ・一部この表で表現できないエンドポイント
    について省略


    ・最新情報はAPIリファレンスにて随時更新
    中

    https://developer.freee.co.jp/reference/ac
    counting/reference

    View full-size slide

  13. 13
    パブリックAPIによる拡張性/freeeアプリストア
    アプリストア
    掲載数(1)
    161件
    注1:2023年3月末時点
    購買・支払(*2)

    経営分析・可視化

    freee機能拡張

    請求書・証憑

    業務システム

    POS・EC(*2)

    人事マスタ・勤怠

    決済サービス(*2)

    リピート取引/外貨
    決算サポート/借⼊⾦

    View full-size slide

  14. 14
    freeeのAPIを活⽤したデータ連携(例)
    ● 公開済のAPIエンドポイントを利用し、様々な業務連携が可能

    他社サービス
    他社サービス
    ● 会計データの登録(受発注、請求、取引関連情報など)

    ● 勤怠データの登録(打刻、勤怠時間、有給取得など)

    ● 会計データの同期(入出金データ、B/S、P/L、勘定科目、取引先など)

    ● 人事マスタデータの同期(従業員情報、給与情報など)


    View full-size slide

  15. 15
    ⽬次
    01 会社概要
    02 オープンプラットフォーム構想とfreee Public API
    03 freee Public API × Postman Team Collaboration
    04 freee Public API × Postman User Collaboration
    05 まとめ

    View full-size slide

  16.  
    開発チームでPOSTMANを利⽤しています

    View full-size slide

  17.  
    freee Public APIを叩いてみよう!
    まっさらなworkspace

    View full-size slide

  18.  
    freee Public APIを叩いてみよう!
    まずはCollectionをimport

    View full-size slide

  19.  
    freee Public APIを叩いてみよう!
    freeeは公開レポジトリにAPIリファレンスをjsonで公開していますので、それを取りに⾏きます。

    View full-size slide

  20.  
    freee Public APIを叩いてみよう!
    import

    View full-size slide

  21.  
    freee Public APIを叩いてみよう!
    baseUrlはCollection変数に本番の値がdefaultで設定されています。

    View full-size slide

  22.  
    freee Public APIを叩いてみよう!
    baseUrlはCollection変数に本番の値がdefaultで設定されています。

    View full-size slide

  23.  
    freee Public APIを叩いてみよう!
    accessTokenも必要です

    View full-size slide

  24.  
    freee Public APIを叩いてみよう!
    Bearer TokenにAccessTokenを設定(取得⽅法は https://developer.freee.co.jp/startguide/getting-access-token を参照)

    View full-size slide

  25.  
    freee Public APIを叩いてみよう!
    叩けた!

    View full-size slide

  26.  
    とりあえず叩けたけど、設定⾯倒だし困ったこともある
    ● 他のAPIを叩くときも毎回accessTokenを設定しなければいけない
    ● 環境ごとにbaseUrlを書き換えなければいけない
    ● プロダクトを変える(⼈事労務APIなど)ごとにbaseUrlを書き換
    えなければならない
    ● accessTokenが6時間で期限切れになってしまい、何度も再取得し
    にいかなければいけない
    開発時のストレス

    View full-size slide

  27.  
    Team Collaborationで設定作業を最⼩限に
    ● originalのCollectionや環境変数テンプレートを⽤意し、メンバー
    はそれをforkすることですぐにAPIの利⽤を始められる
    ● 環境やプロダクトごとの差分はoriginalの設定に含めて、fork先で
    設定をしなくてよくなる
    ● accessTokenのリフレッシュ機構をPre-request Sctipt で⽤意し、
    期限切れで都度取得しにいかなくてよくする

    View full-size slide

  28.  
    Team Collaborationで設定作業を最⼩限に
    teamのworkspaceにCollectionを⽤意。チームでよく利⽤される会計APIと⼈事労務APIを準備しています。

    View full-size slide

  29.  
    Team Collaborationで設定作業を最⼩限に
    まずはCollectionの設定をします。
    accessTokenはすべてのAPIで使うのでCollectionに設定し、値を環境変数から取得します。

    View full-size slide

  30.  
    Team Collaborationで設定作業を最⼩限に
    baseUrlも環境によって変わるので、defaultのCollection変数の値に環境変数をとってくるように設定します。
    rediredirectUriは後で紹介するaccessTokenのリフレッシュで利⽤します。

    View full-size slide

  31.  
    Team Collaborationで設定作業を最⼩限に
    その他環境依存のものはEnvironmentにテンプレートとして⽤意。clientId, clientSecret, authorizationCodeは個⼈
    の環境に依存するのでfork先で設定をしてもらいます。

    View full-size slide

  32.  
    Team Collaborationで設定作業を最⼩限に
    accessTokenをリフレッシュするPre-request Scriptを⽤意。ココまでに設定したCollection変数と環境変数を利⽤
    して、accessTokenの取得とリフレッシュが⾃動で⾏われるようになります。
    実装は https://developer.freee.co.jp/startguide/getting-access-token を参考に。

    View full-size slide

  33.  
    Team Collaborationで設定作業を最⼩限に
    Collectionを個⼈のworkspaceにfork。
    originalでの設定を引き継げるので⾃分で設定することなくaccessTokenのリフレッシュ機能を使えます。

    View full-size slide

  34.  
    Team Collaborationで設定作業を最⼩限に
    環境変数を個⼈のworkspaceにforkし、⾃分の環境の値を⼊れる。
    これらの値は使⽤するアプリケーションごとに異なるので、アプリごとに環境変数を作成します。(利⽤できる機能
    が事業所の契約プランによって違うため、それぞれの契約プランの事業所でアプリケーションを作成しています。)

    View full-size slide

  35.  
    Team Collaborationで設定作業を最⼩限に
    すぐにAPIを叩くことができた!

    View full-size slide

  36.  
    accessToken取得‧リフレッシュの⾃動化
    APIをたたくと、Pre-request Scriptが実⾏されて環境変数がこのように更新されます。
    accessTokenを取得しにいっている

    View full-size slide

  37.  
    accessToken取得‧リフレッシュの⾃動化
    accessTokenが期限切れになった場合はリフレッシュを⾏います
    accessTokenを再取得
    ここで期限が切れた

    View full-size slide

  38.  
    forkするメンバー視点
    ● ⼿順は①Collectionのfork②Environmentのfork③Environment
    の⽳埋め だけ
    ● 環境やプロダクトごとに異なる部分はすでにテンプレートで⽤意
    されてて気にする必要がない
    ● アクセストークンの期限切れからの開放!
    開発に集中できる!

    View full-size slide

  39.  
    今後の展望
    ● テストデータの準備が必要なAPIについて、Pre-request Scriptで
    先に必要なAPIを叩いてデータを作成し、⼀発で対象のAPIを叩け
    るようにする
    ○ originalの更新はfork先でpullできるので随時更新できる!
    ● gitと同期をとって、リファレンスの更新からcollectionの更新を
    できるようにする
    ○ https://github.com/freee/freee-api-schema

    View full-size slide

  40. 40
    ⽬次
    01 会社概要
    02 オープンプラットフォーム構想とfreee Public API
    03 freee Public API × Postman Team Collaboration
    04 freee Public API × Postman User Collaboration
    05 まとめ

    View full-size slide

  41.  
    ユーザーさんにもっと気軽に試してほしい
    現時点ではリファレンスページでAPIcallができる

    View full-size slide

  42.  
    ユーザーさんにもっと気軽に試してほしい
    POSTMANでの利⽤は、リファレンスからのimportしかない

    View full-size slide

  43.  
    ユーザーさんにもっと気軽に試してほしい
    Public API Network への公開を準備中

    View full-size slide

  44.  
    ユーザーさんにもっと気軽に試してほしい
    PayPalさんの例:すぐにforkしてはじめられるRun in Postman Buttonと、わかりやすいOverview

    View full-size slide

  45.  
    ユーザーさんにもっと気軽に試してほしい
    PayPalさんの例:認証の⾃動化や必要な変数をcollectionに定義済み

    View full-size slide

  46.  
    なぜPublic API Networkに公開するのか
    ● 認証⾃動化など、リファレンスページ上で実現できない便利な機
    能をユーザーさんに提供し、よりよい開発体験を届ける。
    ● freee Public APIの認知度を⾼め、もっと利⽤してもらう。
    Team Collaborationで作ったPre-request Scriptを
    もとに、ユーザーさんもPOSTMANを使えば
    accessTokenの⾃動リフレッシュ機能を使えるよう
    にできる

    View full-size slide

  47.  
    悩んでいるところ①
    Collectionの更新をどのようにおこなっていくか。
    ● リファレンスの内容を⾒てCollectionを⼿動で修正する
    ○ 最新のリファレンスを取り込んで増えたメソッドを移植するよ
    うな形が⼀番安全だが、⾯倒かつ100%ヒューマンエラーを防げ
    ない
    ● gitと同期をとって、リファレンスの更新からCollectionの更新を
    できるようにする
    ○ https://github.com/freee/freee-api-schema
    ○ 上位プランへの加⼊が必要なので検討中!

    View full-size slide

  48.  
    悩んでいるところ②
    コメント機能をどう運⽤していくか
    ● Collection利⽤者とコミュニケーションをとっていくことで
    Collectionの改善につながる素敵なCollaboration機能なのだが…
    ● 様々な問い合わせがここに来てし
    まうことを懸念。APIに関する問い
    合わせ窓⼝はすでに存在しており、
    そちらに集約したい。
    ● Collectionの設定でコメント不可
    があったらいいな。

    View full-size slide

  49. 49
    ⽬次
    01 会社概要
    02 オープンプラットフォーム構想とfreee Public API
    03 freee Public API × Postman Team Collaboration
    04 freee Public API × Postman User Collaboration
    05 まとめ

    View full-size slide

  50.  
    まとめ
    ● Collaborationを活⽤してfreee Public APIをもっと盛り上げる!
    ○ 社内のAPI開発効率UP!
    ○ ユーザーさんにより良い開発体験を届ける!
    ○ 連携アプリが増えてfreee利⽤者がもっと便利に!

    View full-size slide

  51. スモールビジネスを、世界の主役に。

    View full-size slide