SignupRequest
サポートされているコール
create()、delete()、describeLayout()、describeSObjects()、getDeleted()、getUpdated()、query()、retrieve()、undelete()
項目
| 項目名 | 詳細 |
|---|---|
| AuthCode |
|
| Company |
|
| ConnectedAppCallbackUrl |
|
| ConnectedAppConsumerKey |
|
| Country |
|
| CreatedOrgId |
|
| CreatedOrgInstance |
|
| Edition |
|
| ErrorCode |
|
| FirstName |
|
| LastName |
|
| PreferredLanguage |
|
| ResolvedTemplateId | |
| ShouldConnectToEnvHub | |
| SignupEmail |
|
| SignupSource |
|
| Status |
|
| Subdomain |
|
| SuppressSignupEmails |
|
| TemplateId |
|
| TrialDays |
|
| TrialSourceOrgId |
|
| Username |
|
使用方法
Java クラスでは REST API を使用して SignupRequest オブジェクトを作成します。Trialforce 管理組織に対して認証を行い、要求を SignupRequest オブジェクトにポスト送信します。
この例で指定する変数を次に示します。
- SERVER — Trialforce 管理組織 (TMO) のホストサーバ名 (“yourInstance.salesforce.com” など)。
- USERNAME — TMO の管理ユーザ名。
- PASSWORD — TMO の管理パスワードとセキュリティトークンを連結したもの。セキュリティトークンを含むメールを受け取るには、Salesforce の個人設定から、[私のセキュリティトークンのリセット] を選択し、[セキュリティトークンのリセット] をクリックします。
- CLIENT_ID — Salesforce の [設定] から、[クイック検索] ボックスに「アプリケーション」と入力し、[アプリケーション] を選択し、[接続アプリケーション] の下にある [新規] をクリックします。必須項目に値を入力し ([コールバック URL] は必須ですが、使用されていないので最初は任意の有効な URL に設定できます)、[選択した OAuth 範囲] セレクタで OAuth 範囲としてフルアクセスを選択し、[保存] をクリックします。次に [コンシューマ鍵] の値をコピーし、この変数に使用します。
- CLIENT_SECRET — 同じページで [クリックして公開] をクリックします。次に [コンシューマの秘密] の値をコピーし、この変数に使用します。
1public class IsvSignupDriver {
2 private static final String SERVER = server_name:port;
3 private static final String USERNAME = tmo_username;
4 private static final String PASSWORD = tmo_passwordsecurity_token;
5 private static final String CLIENT_ID = consumer_key;
6 private static final String CLIENT_SECRET = consumer_secret;
7
8 private static SignupRequestInfo signupRequest = null;
9
10 public static String createSignupRequest (SignupRequestInfo sr)
11 throws JSONException, IOException {
12 JSONObject createResponse = null;
13 signupRequest = sr;
14 JSONObject loginResponse = login(SERVER, USERNAME, PASSWORD);
15 String instanceUrl = loginResponse.getString("instance_url");
16 String accessToken = loginResponse.getString("access_token");
17 createResponse = create(instanceUrl, accessToken);
18 System.out.println("Created SignupRequest object: " + createResponse + "\n");
19 return createResponse.toString();
20 }
21
22 /* Authenticates to the TMO using the required credentials */
23
24 private static JSONObject login(String server, String username, String password)
25 throws ClientProtocolException, IOException, JSONException {
26 String authEndPoint = server + "/services/oauth2/token";
27 HttpClient httpclient = new DefaultHttpClient();
28 try {
29 HttpPost post = new HttpPost(authEndPoint);
30
31 List<NameValuePair> params = new ArrayList<NameValuePair>();
32 params.add(new BasicNameValuePair("grant_type", "password"));
33 params.add(new BasicNameValuePair("client_id", CLIENT_ID));
34 params.add(new BasicNameValuePair("client_secret", CLIENT_SECRET));
35 params.add(new BasicNameValuePair("username", username));
36 params.add(new BasicNameValuePair("password", password));
37 post.setEntity(new UrlEncodedFormEntity(params, Consts.UTF_8));
38
39 BasicResponseHandler handler = new BasicResponseHandler();
40 String response = httpclient.execute(post, handler);
41 return new JSONObject(response);
42 } finally {
43 httpclient.getConnectionManager().shutdown();
44 }
45 }
46 /* Posts a request to the SignupRequest object */
47
48 private static JSONObject create(String instanceUrl, String accessToken)
49 throws ClientProtocolException, IOException, JSONException {
50 HttpClient httpClient = new DefaultHttpClient();
51 try {
52 HttpPost post = new HttpPost(instanceUrl +
53 "/services/data/v27.0/sobjects/SignupRequest/");
54 post.setHeader("Authorization", "Bearer " + accessToken);
55 post.setHeader("Content-Type", "application/json");
56
57 JSONObject requestBody = new JSONObject();
58 requestBody.put("TemplateId", signupRequest.getTemplateID());
59 requestBody.put("SignupEmail", signupRequest.getEmail());
60 requestBody.put("username", signupRequest.getUsername());
61 requestBody.put("Country", "US");
62 requestBody.put("Company", signupRequest.getCompanyName());
63 requestBody.put("lastName", signupRequest.getLastName());
64
65 StringEntity entity = new StringEntity(requestBody.toString());
66 post.setEntity(entity);
67 BasicResponseHandler handler = new BasicResponseHandler();
68 String response = httpClient.execute(post, handler);
69 return new JSONObject(response);
70 } finally {
71 httpClient.getConnectionManager().shutdown();
72 }
73 }
74}エラーコード
サインアップが失敗した場合、システムで原因の特定に役立つエラーコードが生成されます。次の表は最も重要なエラーコードの一覧です。
| エラーコード | 説明 |
|---|---|
| C-1007 | ユーザ名が重複しています。 |
| C-1015 | 新しい組織の私のドメイン (サブドメイン) 設定を構成するときにエラーが発生しました。Salesforce サポートにお問い合わせください。 |
| C-1016 | プロキシサインアップの OAuth 接続アプリケーションを設定しているときにエラーが発生しました。接続アプリケーションに有効なコンシューマキー、コールバック URL、および期限が切れていない証明書 (該当する場合) があることを確認してください。 |
| C-1018 | サインアップ中に無効なサブドメイン値が指定されました。 |
| C-1019 | サブドメインが使用中です。新しいサブドメイン値を選択してください。 |
| C-1020 | テンプレートが見つかりません。テンプレートが存在しないか削除されました。 |
| C-1033 | テンプレートのバージョンが正しくありません。 |
| C-9999 | 汎用の致命的なエラーです。Salesforce サポートにお問い合わせください。 |
| S-1006 | メールアドレスが無効です (メールアドレス形式が不正)。 |
| S-1014 | サインアッププロセスでパラメータが無効か不足しています。次のような解決策が可能です。
|
| S-1018 | 私のドメイン (サブドメイン) 名が無効です。次の条件に該当しない名前を選択してください。
|
| S-1019 | 私のドメイン (サブドメイン) はすでに使用されています。 |
| S-1026 | 名前空間が無効です。名前空間の場合、先頭を文字にする、連続するアンダースコアを使用しない、制限付きまたは予約された名前空間にできない、15 文字以内にするという制約があります。 |
| T-0001 | テンプレート ID が無効です (形式が 0TTxxxxxxxxxxxx ではない)。 |
| T-0002 |
テンプレートが見つかりません。テンプレートが存在しないか削除されました。 |
| T-0003 | Salesforce でテンプレートの使用が承認されていません。 |
関連付けられたオブジェクト
このオブジェクトには次の関連するオブジェクトがあります。特に記載がない限り、これらはこのオブジェクトと同じ API バージョンで使用できます。
- SignupRequestFeed
- このオブジェクトにはフィード追跡を使用できます。
- SignupRequestHistory
- オブジェクトの追跡項目について履歴を利用できます。
- SignupRequestOwnerSharingRule
- このオブジェクトには共有ルールを使用できます。
- SignupRequestShare
- このオブジェクトには共有を使用できます。