非デベロッパーによるkintone開発

kintoneからZapierへのAPIのトリガーは「新規レコード」なのだが、必ずしも常に新規レコード作成時にAPIが起動するわけではない。

先日、kintoneから新規案件を作成した際に、タイトル名と同じDropboxフォルダを作成することに成功したと報告しました。 APIを使ってkintoneで新規案件を追加した時に、自動的に同じ案件名のフォルダをDropboxに作成する(非デベロッパーによるkintone開発) また同時にWooCommerceから新規オーダーが入った時に、Kintoneに新規案件が作成されるAPI連携にも成功しました。 WooCommerceから新規オーダーが入ればkintoneに新規案件として登録されるAPI連携(非デベロッパーによるkintone開発) ところがこれには落とし穴があるのです。 Woocommerceからの新規オーダー(A) → kintoneでの新規案件レコードの作成(B) → Dropboxフォルダの作成(C) とはならないのです。 A→BはZapier経由で可能ですが、B→Cの際もkintone上で新規レコード作成を手動で行わないとZapier経由で動作はしてくれないのです。しかも困ったことに、WooCommerce側からいったん新規案件を作成してしまうと、B段階でダブりが発生するため新たな案件を起こすことはできないので、結局、Dropbox上に手作業でフォルダを作成しなければなりません。 つまり、WooCommerce経由のプロジェクトは手作業でフォルダを作成、自分で案件を登録する場合は自動でフォルダを作成という困ったことになるのです。 どこの設定画面か忘れたのですが、kintone側のAPIには新規レコード以外にも、編集や削除も設定できる画面があったと思います。現時点でZapierからkintoneを制御できるのは新規レコード作成だけなのですが、複数のワークフローを一気通貫で動作させることができないのは残念です。 もしかしたら直接APIを作成する能力があれば可能かのかもしれませんが、非デベロッパーとしてはこの辺りが限界です。

More »

Kintoneで動的に情報連携ができないことが現時点で最大のネック。誰か解決策知りませんか?

— この記事は非デベロッパーによる開発記事なので、誤りや誤解が予想されます。あくまでも非デベロッパーでも頑張ればここまで出来るという記事として参考にしてください。 — 試用版を使いながらkintoneでできることと、できないことを洗い出していますが、今のところ最大のネックは動的な情報連携ができないことです。これはある面、致命的です。 例えば、プロジェクトというアプリとタスクというアプリを連携させたとします。 プロジェクトには「プロジェクト番号」と「プロジェクト名」を設定します。 タスクには「プロジェクト番号」と「タスク名」「タスク期限」を設定します。 タスクは1プロジェクトに対してN個のタスクが発生します。プロジェクトとタスクはプロジェクト番号をキーにして連結します。   AccessやFileMakerなどでいういわゆるリレーションを張った状態なのですが、例えば、プロジェクトAの下に複数個のタスクを作成したのち、プロジェクトAの名称をBと変更してもタスク1、タスク2のプロジェクト名はプロジェクトAのままです。 もしタスクを作成した後にプロジェクト名を変更したい場合は、タスクを一つひとつ開いて再ルックアップを行い、保存し直すという気の遠くなるような作業が発生してしまいます。つまりプロジェクトとタスクは動的に連動していないのです。 これはもしかすると回避する方法があるのかもしれませんが、今のところ解決策が見つかっておりません。 プロジェクトのようなデータベースの下には様々なDBをぶら下げることが想定されます。タスク、見積書、請求書、取引先、発注一覧・・・。もしマスターになるプロジェクト名を変更しても接続したDBが動的に変わらないのであれば、膨大な手作業が発生することになってしまいます。 これはkintoneの仕様なのか、私の勉強不足なのか判然としないのですが、もし解決先を知っている方がいれば下のコメント欄に書いていただくか、@yokuraki (Twitter)までメッセージをいただければありがたいです。  

More »

WooCommerceから新規オーダーが入ればkintoneに新規案件として登録されるAPI連携(非デベロッパーによるkintone開発)

現在ECサイトをリニューアル中ですが、新しいオーダーが入った時にkintoneでも新規案件を起こさなければなりません。今回、zapierを使ってECサイトから新規オーダーが入れば、kintoneの新規案件が起案されるワークフローを作成してみました。 Zapier側の設定1 まずzapierからWooCommerceとKintoneの連携を行います。WooCommerceはNew Order、KintoneはCreate Recordです。 Zapier画面で表示されるWebhook URLをコピーしておきます。 WooCommerce側の設定 ECサイト側がはWooCommerceを使用します。今回使用したのはWooCommerce Zapier Integrationです。$59の少々値が張るプラグインですが、今のところバグも少なく安定しています。 ①WordPressのプラグイン設定からWooCommerce Zapier Integrationを設定します。イベントはNew Order、New Customer、New Order Status Changeから選べます。ここではNew Orderを選びます。 ②Webhook URLが生成されますので、これをコピーしておき、このフィードに適当な名前をつけておきます。 Zapier側の設定 2 ③Kintoneのアカウントを選択し、Test this Accountでkintoneとの接続を確認します。 ④WooCommerce側は全てのオーダーを対象としますのでフィルタは必要ありません。 ⑤WooCommerce側のフィールドとKintone側のフィールドを接続しています。更新者は必須です。ここの設定で戸惑ったのですが、ここに入力するのはKintoneのログイン名です。KintoneからEdit Profile>Login Nameで表示されるログイン名を記入します。 ⑥Test this ZapでこのAPI連携をテストします。設定が正しければKintoneに新規案件が自動的に生成されるはずです。 ⑦Zapに名前をつけます。 接続結果 WooCommerceから新規オーダーをサブミットします。 Kintone側の案件データベースに新規案件が生成されています。 まとめ ECサイトからのオーダー情報をkintoneで管理することができるので、ECサイトのオーダー管理に威力を発揮すると思います。 ZapierはKintone側のアクションはNew Recordしか対応していません。Edit Recordが提供されれば、オーダー状況がアップデート(在庫確認中、出荷手続き中、出荷済み)されればWooCommerce側をアップデートするという連携も可能になるので、将来のアップデートに期待したいと思います。 kintone側のCustomerフィールドはルックアップフィールドに設定しているのですが、残念ながらzapier経由でルックアップフィールドに値を投入することができません。これはkintone側の仕様かと思いますので、kintoneの改善を期待したいところです。 Zapierは基本的に15分毎にアップデートされますが、WooCommerce Zapier IntegrationはInstance、つまり新規オーダーが入ればリアルタイムにkintoneに反映されます。これはグッドポイントです。 ECサイトの構成上、1オーダーには複数の商品が登録することができますが、今回は1オーダー=1案件という構成になっています。商品ごとにkintone側でもレコードを作成する方法は今後の課題です。

More »

APIを使ってkintoneで新規案件を追加した時に、自動的に同じ案件名のフォルダをDropboxに作成する(非デベロッパーによるkintone開発)

— この記事は非デベロッパーによる開発記事なので、誤りや誤解が予想されます。あくまでも非デベロッパーでも頑張ればここまで出来るという記事として参考にしてください。 — やりたいこと プロジェクト管理をする時、案件名と同じデータフォルダを作成したいということです。わが社ではDropbox上にProjectという名前のフォルダを作成して関連部署と共有しています。 Projectフォルダ内には P2876-Toyota-Web Renewal のようなフォルダが作られており、ここに案件に関するデータを集約するというやり方です。 基本的にプロジェクト担当者がDropbox上にフォルダを作成することになっているのですが、担当者によって作成したり、しなかったりということがあり、データが共有できていないという問題が発生しました。 こうすればできる 今回はkintone—(API)—>Zapier—(API)—>Dropboxという流れで間にZapierをかませます。技術があれば直接kintoneからDropboxのAPIを呼び出すこともできるのでしょうか、私にはそんな実力はないので、Zapier経由で良しとします。 kintone側の設定 アプリの設定画面からAdvanced Settingsをクリックし、API Tokenをクリックします。 GenerateボタンをクリックするとAPI Tokenが生成されます。 PermissionはとりあえずView recordsだけにしておきました。 zapier側の設定 Zapier側ではkintoneとDropboxを選択します。設定はkintoneで新規レコードを作成した時、Dropboxで新規フォルダを作成するというワークフローです。 Zapierで求められるkintoneの情報は 上記で生成したAPI Token サブドメイン:xxxx.cybozu.comのxxxxに当たる部分です ドメイン:cybozu.comですが、契約によってはkintone.comになっているかもしれません アプリ番号:https://xxxxx.cybozu.com/k/18/のようにアプリのURLで表示される番号、ここでは18です。 ZapierでのDropboxの設定は簡単なので割愛します。 実行結果 Kintoneで新規プロジェクトを作成 Dropbox上でフォルダが自動作成!! ご覧のとおり、kintoneで作成した案件名とプロジェクト番号を元にDropbox上にフォルダが生成されています。 ベトナムでは、担当者にアサインをしたとしても本人の意欲の差できちんと決まり事ができる人もいればそうでない人もいます。 フォルダを作るという小さな仕事ですが、これで案件に対応したフォルダは必ず存在するという前提に立つことができるので、仕事の障害がひとつなくなりました。  

More »

kintoneではグローバル変数は使えないのだった。(非デベロッパーによるkintone開発)

— この記事は非デベロッパーによる開発記事なので、誤りや誤解が予想されます。あくまでも非デベロッパーでも頑張ればここまで出来るという記事として参考にしてください。 — 例えば 売り上げ円=売り上げドル/為替レート のような計算が必要な時があります。為替レートの部分がグローバル変数というもので、ここにその日のレートを入れておき、ドル建ての売上高を入れてやれば自動的に円建ての売上高が計算されるというものです。 残念ながらkintoneではグローバル変数は使えません。 これはkintoneでは値を入力して確定する時に、再計算を行って値を投入しているからだと思われます。 そうなると、入力の時期によって計算値が異なってくるという問題が発生しますが、今のところ良い解決策が見つかっていないのが現状です。

More »

Kintoneで自動付番をするのは意外に簡単だった。(非デベロッパーによるKintone開発)

— この記事は非デベロッパーによる開発記事なので、誤りや誤解が予想されます。あくまでも非デベロッパーでも頑張ればここまで出来るという記事として参考にしてください。 — Kintoneでは様々な機能を利用するのにJavaScriptを使っているようです。またそのための開発者フォーラムも用意されています。 今回やりたかったことは案件データベースに自動付番をするという機能。実はこれまで弊社ではFileMaker上で案件ごとにP2877というように番号を付番してきました。この番号がすべての情報の鍵となるのでとても重要なものです。たとえばドロップボックス上には P2877-microsft-web_renewalというようなフォルダ名が作られています。社内でも案件番号で情報をやり取りします。 残念なことにKintoneには標準でインクリメンタルな付番をつける機能が備わっていません。そこでJavaScriptの登場となるのですが、「kintone 自動採番」で検索をしたらあっさり解決策が見つかりました。 自動採番して、レコード登録する Cybozu CDN(CDNってなんだ?)のURLと上記URLから生成したJavaScriptをアプリに登録してやるだけです。 ファイル保存時にこんなアラートが表示されて・・・ 無事に採番されました。 ただし既に会社では2800番代までの数字を使っているので、初期値をどうやれば変更できるのかわかりません。ここは専門家に聞いてみようかと思っています。

More »

ベトナムでもkintoneが使えるようになったので昨日から試用中。なかなか良いんじゃないでしょうか。

もちろんクラウドサービスですから、オンライン契約すれば今までも使うことは出来たのですが、IVS社が総代理店になったのでベトナム国内で契約が可能になったということです。 クラウドサービスオタクのわが社でも試用をはじめてみましたが、よくも悪くも日本的なシステムです。良く言えば真面目に作られている、悪く言えばダサいという感じです。 もしkintoneとは何だと聞かれたら、私の答えは「オンライン版のFileMaker」です。競合するサービスとしてはcaspioやragicなどですね。 これからしばらく試用していきますので、ブログに書いていきたいと思います。

More »