> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superoffice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# NSPluginUrlResponse

> To be able to respond with more than just a true/false, but also an explanation. Such an explanation can be displayed on for instance a disabled “Place Order” button. In addition, an URL can be returned, which the GUI should navigate to/display if it is non-blank. The URL can be an SoProtocol or HTTP or HTTPS.

To be able to respond with more than just a true/false, but also an explanation. Such an explanation can be displayed on for instance a disabled “Place Order” button. In addition, an URL can be returned, which the GUI should navigate to/display if it is non-blank. The URL can be an SoProtocol or HTTP or HTTPS.

## Constructors

### NSPluginUrlResponse()

```crmscript theme={null}
NSPluginUrlResponse
```

Initializes a new instance of the NSPluginUrlResponse class.

## Methods

## GetChanges()

```crmscript theme={null}
NSChangedData GetChanges()
```

**Returns:** [CRMScript.NetServer.NSChangedData](CRMScript.NetServer.NSChangedData) - Table name/record ID of data changed by this method, that the client may need to reload.

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
NSChangedData changes = thing.GetChanges();
```

## GetErrorCode()

```crmscript theme={null}
String GetErrorCode()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - An error code, if available.

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
String errorCode = thing.GetErrorCode();
```

## GetIsOk()

```crmscript theme={null}
Bool GetIsOk()
```

**Returns:** [CRMScript.Global.Bool](CRMScript.Global.Bool) - Answer to the question / An indication if the operation went well.

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
Bool isOk = thing.GetIsOk();
```

## GetTechExplanation()

```crmscript theme={null}
String GetTechExplanation()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - Always in English.

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
String techExplanation = thing.GetTechExplanation();
```

## GetUrl()

```crmscript theme={null}
String GetUrl()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - URL that the GUI should navigate to/open, if non-blank. The GUI cannot enforce any rules subsequent to opening the requested URL.

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
String url = thing.GetUrl();
```

## GetUserExplanation()

```crmscript theme={null}
String GetUserExplanation()
```

**Returns:** [CRMScript.Global.String](CRMScript.Global.String) - A localized explanation to the answer.

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
String userExplanation = thing.GetUserExplanation();
```

## SetChanges(NSChangedData)

```crmscript theme={null}
Void SetChanges(NSChangedData changes)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
NSChangedData changes;
thing.SetChanges(changes);
```

## SetErrorCode(String)

```crmscript theme={null}
Void SetErrorCode(String errorCode)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
String errorCode;
thing.SetErrorCode(errorCode);
```

## SetIsOk(Bool)

```crmscript theme={null}
Void SetIsOk(Bool isOk)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
Bool isOk;
thing.SetIsOk(isOk);
```

## SetTechExplanation(String)

```crmscript theme={null}
Void SetTechExplanation(String techExplanation)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
String techExplanation;
thing.SetTechExplanation(techExplanation);
```

## SetUrl(String)

```crmscript theme={null}
Void SetUrl(String url)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
String url;
thing.SetUrl(url);
```

## SetUserExplanation(String)

```crmscript theme={null}
Void SetUserExplanation(String userExplanation)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSPluginUrlResponse thing;
String userExplanation;
thing.SetUserExplanation(userExplanation);
```


## Related topics

- [NSQuoteAgent](/en/automation/crmscript/reference/CRMScript.NetServer.NSQuoteAgent.md)
- [SuperOffice.WebApi.Data.PluginUrlResponse](/en/api/reference/webapi/SuperOffice.WebApi.Data.PluginUrlResponse.md)
- [NSPluginResponse](/en/automation/crmscript/reference/CRMScript.NetServer.NSPluginResponse.md)
- [PluginResponseInfo](/en/api/plugins/erp-connectors/api/pluginresponseinfo.md)
- [SuperOffice.WebApi.Agents.QuoteAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.QuoteAgent.md)
