Implement Integration Namespaces

REST Services

REST integration services are used to integrate the external API with the current solution. The external API could be integrated by adding the specification as an API dependency or not.

Below is an example of the implementation of a REST service which is called GetExternalCustomer and belongs to the integration namespace cus .

// Make a HTTP request to an operation. The path and query pathParmamidentifier must the same types and name as they are defined in the API dependency specification.
                    const response = await this.apis.apiDependencyName.OperationId({pathParmamidentifier: “value1”});
                    
                    // Check whether the call was successful and, if it is, give the name of the customer as output
                    if (response.status === 200) {
                    // Initialize the output entity
                    this.output = this.factory.entity.cus.RestServiceIdentifier_Output();
                    // Initialize the output property
                    this.output.property1 = response.body.property1;
                
Attention: Properties of type String with format Date must be initialized like this: strProperty = "2019-09-01". Additionally, properties of type String with format Date-Time must be initialized like this: strProperty = new Date("2019-09-01").toISOString(). Where the date structure is strictly "<year>-<month>-<day>".

Use API Binding CA value to make external requests using request utility

When creating external calls to APIs you can retrieve the API binding option and if it contains a ca_cert property, you can use it to construct an SSLConfig object that can be used when making external API calls.
public async execute(): Promise<void> {
                    
                    // get binding of petstore API
                    const apiBinding = await this.apiBindings.getPetstore();
                    
                    // make the request using the custom ca_cert defined in the api binding
                    await this.util.request.get('www.google.com', {param1: 'val'}, {header1: 'val'}, { ca_cert: bind.ca_cert});
                    }

Use API Binding CA value when making API facade operations calls

If your API dependency's API binding already contains ca_cert value, then this ca_cert value will be implicitly used to make external API facade operation calls.