uploadFileメソッド

目的

このメソッドを使用すると、ファイルをデータに添付できます。

リクエストURL

XML形式:
https://crm.zoho.com/crm/private/xml/Leads/uploadFile?authtoken=Auth Token&scope=crmapi&id=Record Id&content=File Input Stream

JSON形式:
https://crm.zoho.com/crm/private/json/Leads/uploadFile?authtoken=Auth Token&scope=crmapi&id=Record Id&content=File Input Stream

 リクエストパラメーター

パラメーターデータ型説明
authtoken*文字列Zoho認証情報の認証に使用する、暗号化された英数字の文字列。
scope*文字列値をcrmapiと指定してください。
id*文字列ファイルを添付する必要がある「record」または「note」の一意のIDを指定してください。
contentFileInputStreamファイルのファイル入力ストリームを渡してください。
attachmentUrl文字列URLをデータに添付してください。

* - 必須パラメーター

重要:

  • ファイルの合計サイズは20 MBを超えないようにしてください。
  • プログラムでリクエストできるuploadFileの呼び出しは、1分あたり60回までです。APIユーザーが60回を超える呼び出しをリクエストすると、APIアクセスが5分間ブロックされます。 
  • サイズが20MBを超えると、「ファイルのサイズは20MBを超えることはできません」というエラーメッセージが表示されます。この制限は、attachmentUrlを介して添付されたURLには適用されません。
  • 添付ファイルは、[データの詳細]ページの[添付ファイル]セクションで使用できるようになります。
  • ファイルは、レポート、ダッシュボード、売上予測を除くすべてのタブのデータに添付できます。
  • パラメーターattachmentURLを使用する場合、URLを介して添付されるため、コンテンツは必要ありません。
    attachmentUrlの使用例:crm/private/xml/Leads/uploadFile?authtoken=*****&scope=crmapi&id=<entity_id>&attachmentUrl=<insert_ URL>

データにファイルをアップロードするJavaコード

このプログラムをJava環境で実行すると、ファイルをデータにアップロードできます。

プログラムで値を指定する必要があるもの:
  • 認証トークン
  • データのID
  • 上述の形式で指定したuploadFileリクエストURL
  • ファイルパス(ファイルの場所)

import java.io.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.methods.multipart.Part;
import org.apache.commons.httpclient.methods.multipart.FilePart;
import org.apache.commons.httpclient.methods.multipart.StringPart;
import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
import org.apache.commons.httpclient.methods.multipart.PartSource;
import org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource;

public class UploadFile
{
      public static void main(String a[])
      {
            try
            {
                  String auth_token = "USER AUTH TOKEN"; 
                  String auth_scope = "crmapi";
                  String targetURL = "https://crm.zoho.com/crm/private/xml/Leads/uploadFile";
                  String recordId = "RECORD ID";
                  String file = "FILE NAME";
                  File f = new File(file);
                  FileInputStream fis = new FileInputStream(f);
                  ByteArrayOutputStream bos = new ByteArrayOutputStream();
                  int c;
                  while ((c = fis.read()) != -1)
                  {
                        bos.write(c);
                  }
                  byte[] fbArray = bos.toByteArray();
                  targetURL = targetURL + "?authtoken="+ auth_token +"&scope="+ auth_scope;
                  PartSource ps = new ByteArrayPartSource(file,fbArray);
                  PostMethod post =new PostMethod(targetURL);
                  Part[] fields = { new FilePart("content",ps), new StringPart("id", recordId), };
                  post.setRequestEntity(new MultipartRequestEntity(fields,post.getParams()));
                  HttpClient httpclient = new HttpClient();
                  httpclient.executeMethod(post);
                  String postResp = post.getResponseBodyAsString();
                  System.out.println("postResp===========> : "+postResp);
            }
            catch(Exception e)
            {
                  e.printStackTrace();
            }
      }
}

レスポンス例

<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/crm/private/xml/Leads/uploadFile">
      <result>
            <message>File has been attached successfully</message>
            <recorddetail>
                  <FL val="Id">335751000000578001</FL>
                  <FL val="Created Time">2012-06-20 14:57:34</FL>
                  <FL val="Modified Time">2012-06-20 14:57:34</FL>
                  <FL val="Created By"><![CDATA[krrish]]></FL>
                  <FL val="Modified By"><![CDATA[krrish]]></FL>
            </recorddetail>
      </result>
</response>

データのストレージ上限

無料プランで使用可能なデフォルトの空きストレージは、組織アカウントあたり1GBです。この無料の1GBに加えて、以下の各有料プランのデータストレージ制限がユーザーごとに適用されます。

  • プロフェッショナルプラン:ユーザーライセンスあたり512MB
  • スタンダードプラン:ユーザーライセンスあたり512MB
  • エンタープライズプラン:ユーザーライセンスあたり1GB
  • Zoho CRM Plus:ユーザーライセンスあたり1GB
  • 追加ファイルストレージ:5GB/月単位で購入可能
    既存ユーザーの場合、改定後の価格は次の請求サイクルから適用されます。