Newer Version Available
SignupRequest
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), undelete()
Fields
| Field Name | Details |
|---|---|
| AuthCode |
|
| Company |
|
| ConnectedAppCallbackUrl |
|
| ConnectedAppConsumerKey |
|
| Country |
|
| CreatedOrgId |
|
| CreatedOrgInstance |
|
| Edition |
|
| ErrorCode |
|
| FirstName |
|
| LastName |
|
| PreferredLanguage |
|
| ResolvedTemplateId | |
| ShouldConnectToEnvHub | |
| SignupEmail |
|
| SignupSource |
|
| Status |
|
| Subdomain |
|
| SuppressSignupEmails |
|
| TemplateId |
|
| TrialDays |
|
| TrialSourceOrgId |
|
| Username |
|
Usage
The Java class uses REST API to create a SignupRequest object. It authenticates to the Trialforce Management Organization (TMO) and then posts a request to the SignupRequest object.
- SERVER—The name of the host server for the TMO, for example, yourInstance.salesforce.com.
- USERNAME—The admin username for the TMO.
- PASSWORD—The concatenation of the admin password and the security token for the TMO. To get an email with the security token, from your personal settings in Salesforce, select Reset My Security Token and click Reset Security Token.
- CLIENT_ID—From Setup in Salesforce, in the Quick Find box, enter Apps, and then select Apps. Under Connected Apps, click New. Enter values for the required fields (Callback URL is required, but you can initially set it to any valid URL because it’s not used). Grant full access for the OAuth scopes in the Selected OAuth Scopes selector, and click Save. Then copy the value of Consumer Key and use it for this variable.
- CLIENT_SECRET—On the same page, click Click to reveal. Then copy the value of Consumer Secret and use it for this variable.
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}Error Codes
If the sign-up fails, the system generates an error code that can help you identify the cause. This table shows the most important error codes.
| Error Code | Description |
|---|---|
| C-1007 | Duplicate username. |
| C-1015 | Error while establishing the new org’s My Domain (subdomain) settings. Contact Salesforce support for assistance. |
| C-1016 | Error while configuring the OAuth connected app for Proxy Signup. Verify that your connected app has a valid consumer key, callback URL, and unexpired certificate (if applicable). |
| C-1018 | Invalid subdomain value provided during sign-up. |
| C-1019 | Subdomain in use. Choose a new subdomain value. |
| C-1020 | Template not found. Either the template doesn’t exist or it was deleted. |
| C-1033 | Template is the wrong version. |
| C-9999 | Generic fatal error. Contact Salesforce Customer Support for assistance. |
| S-1006 | Invalid email address (not in a proper email address format). |
| S-1014 | Invalid or missing parameters during the sign-up process. Possible solutions include:
|
| S-1018 | Invalid My Domain (subdomain) name. Select a name that doesn’t:
|
| S-1019 | My Domain (subdomain) already in use. |
| S-1026 | Invalid namespace. A namespace must begin with a letter, can’t contain consecutive underscores, can’t be a restricted or reserved namespace, and must be 15 characters or fewer. |
| T-0001 | Template ID not valid (not in the format 0TTxxxxxxxxxxxx). |
| T-0002 |
Template not found. Either the template doesn't exist or it was deleted. |
| T-0003 | Template not approved for use by Salesforce. Contact Salesforce Customer Support for assistance. |
| T-0004 | The Trialforce Source Organization (TSO) for the template doesn’t exist or has expired. |
Associated Objects
This object has the following associated objects. Unless noted, they’re available in the same API version as this object.
- SignupRequestFeed
- Feed tracking is available for the object.
- SignupRequestHistory
- History is available for tracked fields of the object.
- SignupRequestOwnerSharingRule
- Sharing rules are available for the object.
- SignupRequestShare
- Sharing is available for the object.