Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28 Next »

Technical onboarding

Integration Testing Plan

Features that can be used

Level of Assurance - RDIMS 19532524

Statement of Sensitivity - RDIMS 19532575

This guide will help your team integrate Cost Recovery Service Management (CRSM) requirements into your Workload Management (WLM) platform. There are checklists to make sure required data points are captured, as well as descriptions of the various features and UI components that are available for you to use.

Prerequisite: - Following information needs to be obtained through MTOA and CRSM before onboarding CRSM through WLM. For more information, refer to the CRSM Onboarding Guide.

(1) Service Id

Service ID created by MTOA for LoB

(2) Attribute Id

Attributed Id created by MTOA for LoB service. Please note AttributeId is NOT the same as service attributesID.

(3) API Key and JWT token to access MTAPI

API Key and JWT token created by MTOA for LoB

(4) Service Standard

Service Standard created by CRSM for LoB

(5) Service Attributes

Service Attributes created by CRSM for LoB

How to verify the above information:

On CRSM Service Inventory Service, it contains all the information regarding those attributes.

https://wwwappstestext.tc.gc.ca/Corp-Serv-Gen/5/siapi-isapi-dev/swagger/

(1) To check CRSM Service Id, Attributes, and LOB Request Type relationship, we can use following endpoint of SIAPI: api/v2/attributes/byservice/{serviceId}

(2) To Check CRSm Service Id, AttributesId, and ServiceAttributesId relationship, we can use following endpoint of SIAPI: pi/v2/serviceattribute/serviceId={serviceId}

Step 1:

After verifying the information above, LOB can further plug those information into LOV for LO, please note, How to plug those information into LoV or whether LOB needs to plug those information into LOB is pure LOB design decision. We here is just providing the recommendation here.

[
  {
    "id": "022",  <--- This should be RequestTypeId mapping to VR request Type
    "listOfValueType": "VesselRegistryReqeustCRSMServiceMapping",
    "valueTextEnglish": "First Registry", <--- This can be copied from Service Inventory under Service Attributes
    "valueTextFrench": "First Registry",
    "order": 1,
    "customValue1": "",
    "customValue2": null,
    "parentList": null,
    "isTypeActive": true,
    "isValueActive": true,
    "searchCriteria": null,
    "ownerShips": [
      {
        "businessName": null,
        "businessOwner": null,
        "businessContactEmail": null,
        "businessContactPhone": null
      }
    ],
    "customProperties": [
	  {
        "ServiceId": "9999",
        "AttributeId": "-1",
        "ServiceAttributeId": "3596"
      }
	]
  },
  {
    "id": "044",
    "listOfValueType": "VesselRegistryReqeustCRSMServiceMapping",
    "valueTextEnglish": "Renewal",
    "valueTextFrench": "Renewal",
    "order": 2,
    "customValue1": "",
    "customValue2": null,
    "parentList": null,
    "isTypeActive": true,
    "isValueActive": true,
    "searchCriteria": null,
    "ownerShips": [
      {
        "businessName": null,
        "businessOwner": null,
        "businessContactEmail": null,
        "businessContactPhone": null
      }
    ],
    "customProperties": [
      {
        "ServiceId": "9999",
        "AttributeId": "-1",
        "ServiceAttributeId": "3598"
      }
	]
  }
]
 

After storing those information above, LoB can use the following sample demo portal project to start the development to onboard with WLM and integrate with CRSM: WLM Demo Portal Repos

Step 2:

LoB just needs to send following piece of information in topper level of details of Work Item when creating WorkItem, and remaining communication between CRSM will be auto handled by WLM.

RequestTypeId, ServiceId, AttributeId

For Example:
{"RequestTypeId":"022","ServiceId":"9999","AttributeId":-1}

The following diagram illustrates how those independent systems work together internally.

Existing Reference Architecture

Please see attached CRSM Integration Doc for details. As always, please feel free to contact with MOLE team for further help needed.

You are Done!


Enhancements/Updates: During the CRSM integration with Vessel Registry(LOB 001). We found some interesting stuff that would be helpful and avoid the hiccups for other lines of business to consider or implement. The following are the important to consider:

  • Payment event and expected values from LOB:

  When you update or save payment details from your application before or after a service request is completed to generate remissions or invoicing on the CRSM side, WLM expects the following values to be provided to update the payment table in WLM.  Once we receive the payment details, then the WLM forward the same to the CRSM side via service bus to generate invoicing.

    The details are: Work Item ID, Payment Receipt Number, and Payment Amount

If you are using WLM v2 endpoints, you might need to pass additional information like invoice number and transaction ID

  • How to add or edit new statuses:

   First, find out the list of value types available in LOV by calling the endpoint:

https://ncdlistofvalueapp01.azurewebsites.net/api/v2/ListOfValueTypes?showOnlyActivated=false

Once you identify the corresponding status has been available in the list and is active, then get the list of values for the value type,

 

For example: A list of value types for “VesselREgistryRequestStatus” is enabled. 

image-20240416-214548.png

You can now get the actual list of values for “VesselRegistryRequestStatus” using the below endpoint:

https://ncdlistofvalueapp01.azurewebsites.net/api/v2/ListOfValues?ListOfValueType=VesselRegistryRequestStatus

If you would like to add the new status to an existing one, you need to call the PUT endpoint.

image-20240416-214612.png

You need to add the LOB status in “MTOAStatus” by querying it first as like below, once you get the list, you need to add custom properties as highlighted in RED below:

image-20240416-214628.png

You need to pass the LineOfBusinessId, ListOfValueType, LOBStatusId and ServiceId:

https://ncdlistofvalueapp01.azurewebsites.net/api/v2/ListOfValues?ListOfValueType=MTOAStatus

A common list of statuses that MTAPI maintains for MTOAStatus are listed in this excel sheet attached here:

In order to find out the MTAPI supported status for MTOAStatus by calling the below endpoint:

https://wwwappstestext.tc.gc.ca/Saf-Sec-Sur/13/MTAPI-INT/api/v1/servicerequests/statuses?serviceId=500

image-20240416-215454.png

  • How to evaluate service performance:

Service performance will be automatically calculated when a WorkItem is completed from the application side. To verify whether the service performance has been created from the CRSM side by calling the below SPAPI endpoint, and needs to pass the external request ID as like below:

image-20240417-143901.png

Important Note: Make sure, the MTAPI status is changed to “Completed“ and “ServiceCategoryCode“ should be marked as “END“ as like in below screenshot:

image-20240417-144431.png

  • How to evaluate remissions:

Remissions can be evaluated either when a Work Item is completed or they can be completed at a later date provided by payment amount and receipt number from the application. The main important to keep in mind is to verify whether the invoice has been generated for the Work Item.  You can verify the status of invoicing from MTAPI by using the below API call in MTAPI:

image-20240417-145550.png

  • Implementation of using generic system id:

To get a generic system ID, you need to contact MTAPI by providing the generic user email ID to register with MTAPI, MTAPI will provide you the generic system user ID for the corresponding generic user email.

For example:

The generic system user email id for LOB 001 is: vessel_reg.user@tc.gc.ca

The user ID will be: 22021, keep in mind, that each environment will have a different user ID generated, you need to contact MTAPI to provide different ids for other environments.

To get/update these values, you need to use LOVService swagger by passing the “LineOfBusiness” in one of the GET calls:

Note: If your line of business is integrated with CRSM, the “isEnabled” flag should be turned ON, and if your LOB wants to use a generic system ID, you need to update the values as like shown in the “CustomProperties” below:

image-20240417-151255.png

  • How to reach MTAPI platform in case of any issues/failures:

  • Need to update LOV values in ListOfValueService.

  • No labels