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パラメータが入っていない記述ミスがありますのでご注意ください。