Defining SuiteSignOn Connection Points
Connection points are the locations in the NetSuite user interface that provide access to your application. Every application integrated through SuiteSignOn can have multiple connection points.
To set up connection points for your application, define the following on the SuiteSignOn page:
-
URL - Enter the URL for the external application landing page to appear in the connection point. This page must be secure, with an https:// URL. SuiteSignOn is not supported for http:// sites. You can specify a unique URL for each connection point.
-
Integration Variables - You can optionally define one or more field values to be passed as context in the initial HTTP call from NetSuite to your application, before authentication. For an example of this call, see NetSuite HTTP Outbound Call.
-
You do not need to specify integration variables if context is included in the URL.
-
Both static and dynamic field values are supported.
-
To specify a static value, use a format like
q=value
, as in the following examples:customer_id=12345
first=John
last=Smith
mid=Jay
-
To specify a dynamic value, use a format like
q={field_id}
, as in the following examples:customer_id ={id}
first={firstname}
last= {lastname}
mid = {middlename}
-
To specify a null value, use a format like
q=
-
-
Variables can include spaces. Static variables cannot include commas within values.
-
You can use comma-separated values or carriage return-separated values to specify multiple values.
-
You cannot use social security numbers, passwords, or credit card numbers as integration variables, because of the potential security risks. If you do so, they will not be returned.
-
For subtab connection points, standard and custom fields on the form for the specified record type can be used as integration variables. You cannot use fields that are not included on the form. If a referenced field has no value, no value is passed as an integration variable.
-
For portlet, Suitelet, and user event connection points, see Defining Integration Variables for Connection Points. This section provides detailed information regarding the use of static and dynamic integration variables in these connection points.
-
-
Display Type - Choose Subtab, Portlet, Suitelet, or User Event.
-
Display Context - Choose the name of the subtab, portlet, Suitelet, or user event script to be used for SuiteSignOn access.
A subtab, portlet script, Suitelet, or user event script must already exist in your account to be included in the dropdown list. See Creating a Custom Subtab Connection Point, Creating a Portlet Connection Point, Creating a Suitelet Connection Point, and Creating a User Event Connection Point.
-
Record Type - (Subtabs only) Choose the record type for each subtab connection point. Custom record types are available for their associated subtabs.
If you want to show the external application in a custom subtab on multiple record types (for example, on contacts, customers, and partners), you must add multiple connection points, with the same Display Type and Display Context, and a varying Record Type for each.
Important:Be sure to click Add after you enter each connection point.
Defining Integration Variables for Connection Points
You can define both static and dynamic integration variables for portlet, Suitelet, and user event connection points.
If you want to define dynamic integration variables for either of these connection types, you must do so in the portlet, Suitelet, or user event JavaScript file. You cannot define dynamic integration variables in the Integration Variables field on the SuiteSignOn record.
The following code sample shows a portlet script that is used to get the email address of the currently logged-in NetSuite user. The value of the email address can then be passed to the URL as a dynamic integration variable.
/**
*@NApiVersion 2.x
*@NScriptType Portlet
*/
define(['N/runtime','N/sso'], function(runtime, sso) {
function render(context) {
context.portlet.title = 'My Integrated Application!!';
var email = runtime.getCurrentUser().email;
var url = sso.generateSuiteSignOnToken({suiteSignOnId: 'customsso_myApp'});
url = url + '&partner=NetSuite' + '&email=' + email;
var content = '<iframe src="'+url+'" align="center" style="width: 100%;height: 600px; margin:0;border:0;padding:0"></iframe>';
context.portlet.html = content;
}
return {
render: render
};
});
The following screenshot shows that you could have used the Integration Variables field on the SuiteSignOn record to define the partner
integration variable, which is static. You could not have used the Integration Variables field to define a dynamic integration variable, such as the email
variable in the preceding script.