Newer Version Available

This content describes an older version of this product. View Latest

SignupRequest

Represents a request for a new sign-up. This object is available in API version 27.0 and later.

You’re limited to 20 sign-ups per day. To make additional sign-ups, log a support case in the Salesforce Partner Community. For product, specify Platform. For topic, specify AppExchange & Managed Packages.

Note

Supported Calls

create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), undelete()

Fields

Field Name Details
AuthCode
Type
string
Properties
Create, Filter, Group, Sort
Description
A one-time authorization code that can be exchanged for an OAuth access token and refresh token using standard Salesforce APIs. It’s used with ConnectedAppCallbackUrl and ConnectedAppConsumerKey when the specified connected app hasn’t been configured with an X.509 certificate. The system provides this read-only field after the sign-up request has been processed. This field is available in API version 29.0 and later.
Company
Type
string
Properties
Create, Filter, Group, Sort
Description
The name of the company requesting the trial sign-up.
ConnectedAppCallbackUrl
Type
string
Properties
Create, Filter, Group, Sort
Description
When used with ConnectedAppConsumerKey, specifies a connected app that’s approved automatically during the sign-up creation. This field is available in API version 28.0 and later.
ConnectedAppConsumerKey
Type
string
Properties
Create, Filter, Group, Sort
Description
When used with ConnectedAppCallbackUrl, specifies a connected app that’s approved automatically during the sign-up creation. This field is available in API version 28.0 and later.
Country
Type
string
Properties
Create, Filter, Group, Sort
Description
The default value is the country of the requesting org. To override the default, enter the two-character, uppercase ISO-3166 country code (Alpha-2 code). A complete list of the codes is located at https://www.iso.org/obp/ui/#search. The language of the trial org is auto-determined based on the value of this field.
CreatedOrgId
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The 15-character org ID of the trial org created. The system provides this read-only field after the sign-up request has been processed.
CreatedOrgInstance
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The server instance of the new trial org, for example, “na8.” This field is available in API version 29.0 and later.
Edition
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The Salesforce template that is used to create the trial org. Possible values are Partner Group, Professional, Partner Professional, Sales Enterprise, Professional TSO, Enterprise, Partner Enterprise, Service Professional, Enterprise TSO, Developer, and Partner Developer. This field is available in API version 35.0 and later.
ErrorCode
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The error code if the sign-up request isn’t successful. The system provides this read-only field for support purposes.
FirstName
Type
string
Properties
Create, Filter, Nillable, Sort
Description
The first name of the admin user for the trial sign-up.
LastName
Type
string
Properties
Create, Filter, Group, Sort
Description
The last name of the admin user for the trial sign-up.
PreferredLanguage
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the trial org being created. Specify the language using a language code listed under Fully Supported Languages in Supported Languages in Salesforce Help. For example, use zh_CN for simplified Chinese. The value you select overrides the language set by the locale. If you specify an invalid language, the org defaults to the default language of the country. Likewise, if you specify a language that isn’t supported by the Salesforce edition associated with your trial template, the trial org defaults to the default language of the country. This field is available in API version 35.0 and later.
ResolvedTemplateId
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Populated during the sign-up request and for internal use by Salesforce. This field is available in API version 35.0 and later.
ShouldConnectToEnvHub
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
When set to true, the trial org is connected to the Environment Hub. The sign-up must take place in the hub main org or a spoke org. This field is available in API version 35.0 and later.
SignupEmail
Type
email
Properties
Create, Filter, Group, Sort
Description
The email address of the admin user for the trial sign-up.
SignupSource
Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
A user-specified description of the trial sign-up, up to 60 characters. This field is available in API version 36.0 and later.
Status
Type
picklist
Properties
Defaulted on create, Filter, Group, Sort, Update
Description
The status of the request. Possible values are New, In Progress, Error, or Success. The default is New.
Subdomain
Type
string
Properties
Create, Filter, Group, Sort
Description
The My Domain name for the new trial org used in the org’s login and application URLs. In Developer Edition orgs, your name must contain at least 3 characters and no more than 27 characters. In all other editions, it must be at least 3 characters and no more than 34 characters. It can include letters, numbers, and hyphens, but you can’t start the name with a hyphen.

If you don’t choose a My Domain during sign-up, Salesforce assigns one for you based on your company name. If you don’t like the one we set, you can change it.

For details, see My Domain in Salesforce Help.

SuppressSignupEmails
Type
boolean
Properties
Filter, Group, Nillable, Sort
Description
When set to true, no sign-up emails are sent when the trial org is created. This field is used for the Proxy Signup feature and is available in API version 29.0 and later.
TemplateId
Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
The 15-character ID of the Trialforce template that is the basis for the trial sign-up. Salesforce must approve the template. If you don’t specify an edition, a template ID is required.
TrialDays
Type
anyType
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
The duration of the trial sign-up in days. Must be equal to or less than the trial days for the approved Trialforce template. If not provided, it defaults to the trial duration specified for the Trialforce template.
TrialSourceOrgId
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The 15-character org ID of the Trialforce Source Organization (TSO) from which the Trialforce template was created.
Username
Type
string
Properties
Create, Filter, Group, Sort
Description
The username of the admin user for the trial sign-up. It must follow the address convention specified in RFC822: www.w3.org/Protocols/rfc822/#z10.

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.

Here are the variables to specify in this example.

  • 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-1034 Can’t create the org. Contact Salesforce Customer Support for assistance.
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:
  • Indicate a valid callback URL.
  • If indicated, be sure to provide both a Consumer Key and callback URL.
S-1018 Invalid My Domain (subdomain) name. Select a name that doesn’t:
  • Contain double hyphens
  • End in a hyphen
  • Include restricted words
  • Exceed 40 characters (33 for Developer Edition)
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.
VR-0001 Can’t create the scratch org. Try again later.
VR-0002 Can’t create the scratch org. Check that the release value is valid. If no release value was specified, contact Salesforce Customer Support.
VR-0003 Can’t create the scratch org. Check that the release value is valid. If no release value was specified, contact Salesforce Customer Support.

Associated Objects

This object has the following associated objects. Unless noted, they’re available in the same API version as this object.