Code Day's Night

ichikawayのブログ

ZOHO APIからデータを更新する方法

ZOHO APIからデータを更新する方法の紹介です。
今回は、PotentialsというZOHO CRMの種類のレコードを更新します。

まずはじめに、APIを使うためのチケットを発行します。
下記のURLに必要なEmail IDとPasswordを入れてブラウザでアクセスすればチケットとよばれる認証キーが発行されます。

    https://accounts.zoho.com/apiauthtoken/nb/create?SCOPE=ZohoCRM/crmapi&EMAIL_ID=hoge@example.com&PASSWORD=xxxxxx&DISPLAY_NAME="testmode1"
    

レコード情報の取得

認証キーが発行されたら、更新の前にまずはレコードが取得できるか試してみましょう。

https://crm.zoho.com/crm/private/xml/Potentials/getRecords?authtoken=aaaaaaaaaaaaaaaaaaaaaaaaaaaaa&scope=crmapi

このauthtokenに先ほど発行されたキーをセットすると、Potentialsのレコードが取得できます。Potentialsを使ってない場合は、使っているLeadsやContacts、Productsなどに変更してください。


レコードの更新

最後に、レコードを更新します。更新するキーと値をxml形式で送ります。(なぜかGETリクエストで送って更新・・)

https://crm.zoho.com/crm/private/xml/Potentials/updateRecords?newFormat=1&authtoken=aaaaaaaaaaaaaaaaa&scope=crmapi&id=123456789&xmlData=<Potentials><row no="1"><FL val="キー">更新したい値</FL></row></Potentials>

updateRecordsというAPIを使って更新します。セットするパラメータは、

  • authtoken: 認証キー
  • id: レコードのID
  • xmlData: 更新用のXML

xmlDataにセットしているのは、

<Potentials>
  <row no="1">
    <FL val="キー">更新したい値</FL>
  </row>
</Potentials>

というようなXMLです。Potentialsの情報でval="キー"というカラムの値を更新します。

更新は差分で更新されるので、該当レコードの他のカラムには影響しません。

重要なのは、idで該当レコードIDを指定して、更新XMLを送ることです。

ZOHO APIマニュアルに詳しいことは書いてありますが、サンプルURLの幾つかにidパラメータが入っていない記述ミスがありますのでご注意ください。

www.zoho.com