Slide 1

Slide 1 text

freee SDKs GA 祭り freee Open Guild #6「freee SDK特集」 1

Slide 2

Slide 2 text

SDK 開発メンバー 2

Slide 3

Slide 3 text

⽇本初の会計システム開発⽤SDK API エコノミーの推進、オープンプラットフォーム構想の⼀環として発表 公式発表資料 3

Slide 4

Slide 4 text

SDK リリース状況 GA = General Availability (正式リリース) 2019年11⽉8⽇時点 上記以外に、 JavaScript SDK が Beta 版として存在 4

Slide 5

Slide 5 text

SDK の位置づけ 公開されている freee API を使いやすくする 開発環境から直接 freee API を操作できる 5

Slide 6

Slide 6 text

SDK 利⽤のメリットは︖ いつもの⾔語、いつもの開発環境から freee API を操作できる 社内Webアプリの機能から freee API を簡単に呼ぶことができる freee の アプリストア にアプリケーションを公開しやすくする 6

Slide 7

Slide 7 text

SDK を利⽤すると SDK を利⽤しない場合 REST API の呼び出しを実⾏するコードを書く必要がある(⽅法は⾔語ごとに異なる) curl -X GET "https://api.freee.co.jp/api/1/reports/trial_pl?company_id=3316&fiscal_year=2019" -H "accept: application/json" -H "Authorization: Bearer abcdefghijklmnopqrstuvwxyz01234567890xxxxxxxxxxxxxxxxxxxxx" SDK を利⽤(C#の場合) SDK で準備されているメソッドを実⾏するだけ(例: 試算表取得 GetTrialPlAsync ) var trialPl = await accountingClient.TrialBalance.GetTrialPlAsync(companyId, 2019); 7

Slide 8

Slide 8 text

SDK の開発で⼼がけたこと freee API スキーマに準拠 https://github.com/freee/freee-api-schema 各⾔語の流儀にしたがう SDK は公式パッケージマネージャから配布する $ dotnet add package Freee.Accounting.Sdk --version 1.0.0 jp.co.freee freee-accounting-sdk 1.0.0 8

Slide 9

Slide 9 text

SDK 開発の流れ API からジェネレータで SDK を⽣成する SDK のソースコードは GitHub に公開 ⽣成した SDK から⾃動でパッケージを公開 9

Slide 10

Slide 10 text

会計freee SDKs 10

Slide 11

Slide 11 text

会計freee SDK の構成(⾔語共通) GitHub で OSS として公開 ソースコード 各種サンプル README サンプルの実⾏⽅法 導⼊⽅法、など Issueテンプレート コントリビューションガイド CI/CD コンフィグレーション 11

Slide 12

Slide 12 text

会計freee C# SDK 12

Slide 13

Slide 13 text

会計freee C# SDK freee/freee-accounting-sdk-csharp 13

Slide 14

Slide 14 text

SDKの⽣成(C#) C# のコードの⽣成に向いていた AutoRest を採⽤ 現⾏: 利⽤できる OpenAPI のバージョンは 2.x まで 将来: OpenAPI 3.x 対応について検討中 14

Slide 15

Slide 15 text

パッケージ⽣成・公開(C#) C#のパッケージマネージャである NuGet で公開 Freee.Accounting.Sdk Freee.OAuth.AspNetCore Azure Pipelines を使って⾃動リリース︕ GitHubでリリースタグが設定されたら、ビルドし NuGet へ登録 15

Slide 16

Slide 16 text

使い⽅(C#) サンプルコード コンソールアプリ x 4 ウェブアプリ ASP.NET Core MVC をベースにした実装⽅法を README で解説 詳しくはGitHubリポジトリへ︕ 16

Slide 17

Slide 17 text

使い⽅(C#)コンソールサンプル 取得したアクセストークン を利⽤して実⾏ 17

Slide 18

Slide 18 text

使い⽅(C#)ウェブアプリサンプル ウェブアプリ向けには OAuth2 認証処理のライブラリも作成済み︕ 18

Slide 19

Slide 19 text

デモ(C#) by C#開発担当 @shibayan 19

Slide 20

Slide 20 text

会計freee Java SDK 20

Slide 21

Slide 21 text

会計freee Java SDK freee/freee-accounting-sdk-java 21

Slide 22

Slide 22 text

SDKの⽣成(Java) C# 版と同様に AutoRest を採⽤ 現⾏: OpenAPI 2.x から⽣成 将来: C# 版と同様、いずれ OpenAPI 3.x 対応したい 22

Slide 23

Slide 23 text

パッケージ⽣成・公開(Java) Java のパッケージリポジトリである Maven セントラルリポジトリ で公開 jp.co.freee » freee-accounting-sdk Azure Pipelines を使って⾃動ビルド、デプロイ GitHubでリリースタグが設定されたら、ビルドし Sonatype Nexus Repository Manager のステージングへデプロイ Sonatype で確認後、リリース 23

Slide 24

Slide 24 text

使い⽅(Java) サンプルコード コンソールアプリ ウェブアプリ Spring Boot をベースにした実装⽅法を README で解説 詳しくはGitHubリポジトリへ︕ 24

Slide 25

Slide 25 text

使い⽅(Java)コンソールサンプル 取得したアクセストークン を利⽤して実⾏ 25

Slide 26

Slide 26 text

使い⽅(Java)ウェブアプリサンプル Spring Boot で、 OAuth2 認証および SDK による情報取得を実装 26

Slide 27

Slide 27 text

デモ(Java) by Java開発担当 @statemachine 27

Slide 28

Slide 28 text

会計freee PHP SDK Preview 28

Slide 29

Slide 29 text

会計freee PHP SDK freee/freee-accounting-sdk-php 29

Slide 30

Slide 30 text

SDKの⽣成(PHP) OpenAPI 3.x から⽣成したかったため、 OpenAPI Generator を採⽤ Swagger Codegen と⽐較の末、 freee API スキーマと相性の良いほうを採択 30

Slide 31

Slide 31 text

パッケージ公開(PHP) PHPのパッケージマネージャである Composer (Packagist) で公開 freee/freee-accounting-sdk (preview) GitHub でリリースタグを打つだけでリリース完了 初回に GitHub hook に Packagist を登録するだけ 31

Slide 32

Slide 32 text

使い⽅(PHP) サンプルコード コンソールアプリ ウェブアプリ Laravel をベースにした実装⽅法を README で解説 詳しくはGitHubリポジトリへ︕ 32

Slide 33

Slide 33 text

使い⽅(PHP)コンソールサンプル 取得したアクセストークン を利⽤して、Laravel のコンソールアプリとして実⾏ 33

Slide 34

Slide 34 text

使い⽅(Java)ウェブアプリサンプル Laravel で、Socialite を利⽤した OAuth2 認証、および SDK による情報取得を実装 34

Slide 35

Slide 35 text

デモ(PHP) by 開発担当 @dz_ 35

Slide 36

Slide 36 text

ロードマップ 36

Slide 37

Slide 37 text

ロードマップ OpenAPI 3.x 対応(C#, Java) PHP SDK: 近⽇ GA 予定 勉強会、ハンズオンなどを通じて導⼊⽀援 37

Slide 38

Slide 38 text

ご清聴ありがとうございました︕ Let's API Economy! 38