/
MTAPI Release Notes 1.6.0

MTAPI Release Notes 1.6.0

myTC Account documentation now available through TC confluence : myTC Account

Targeted Environments

Version 1.6.0 - SMGS# ticket: C242682

Jun 24, 2021 - PROD Release

Jun 9, 2021 - MTOA-INT, MTOA-TEST, KANGA-INT, KANGA-TEST

Jun 14, 2021 - MTOA-INT, MTOA-TEST, KANGA-INT, KANGA-TEST, MTOA-ACC

 

Release Notes 1.6.0

  • New Business System APIs

    • GET /api/v1/business-systems/{id} - Retrieves the business system for a given stakeholder

    • PUT /api/v1/business-systems - Stores the business system using Business System DTO object

  • New api GET /api/v2/users/{id}/services - Get only services where the user is active. 

  • New api GET /api/v1/servicerequests/{id}/audit-history - Retrieve the audit history of a service request for a given service request Id.

  • New api POST /api/v1/services/deactivate-user - Set a future deactivation of a user from a given service.

  • Service Artifacts

    • This release contains a new set of APIs for adding, updating, retrieving, and deleting Service Artifacts which are JSON-based form contents for Accelerated Forms. Service Artifacts are stored in the TC219_SERVICE_ARTIFACT table. Each Service Artifact has a service ID, alias name, version, and the content of the form in JSON.

  • Renamed the OutageNotice to Notice

    • Old APIs

    • New APIs

  • Renamed GET /api/v1/services/{id}/outage-notices to GET /api/v1/services/{id}/notices

  • Renamed GET /api/v1/users/{id}/outage-notices to GET /api/v1/users/{id}/notices

  • Made changes to some apis to maintain correct audits by using current user instead of the system user.

  • Added Regulated Entities to Service Request data - All APIs that retrieve a list of Service Requests should have a new optional parameter "IncludeRegulatedEntities" which would add all the RegulatedEntities related to that Service Request.

    • Impacted Endpoints

      [GET] v1/servicerequests/{serviceRequestId} [GET] v1/users/{userId}/servicerequests [GET] v1/services/{serviceId}/servicerequests [GET] v1/app/servicerequests [GET] v1/tempservicerequests/{serviceRequestId} ?????? [GET] v1/servicerequests?guid={guid} [GET] v1/servicerequests/query [PUT] v1/servicerequests
    • Impacted APIs

      Task<ICollection<ServiceRequest>> Get<T>(int userId) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> Get<T>(int userId, int page, int pageSize) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> Get<T>(int userId, int serviceId) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> Get<T>(int userId, int serviceId, int page, int pageSize) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> GetByServiceId<T>(int serviceId) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> GetByServiceId<T>(int serviceId, int organizationId) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> GetByServiceId<T>(int serviceId, int page, int pageSize) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> GetByServiceId<T>(int serviceId, int organizationId, int page, int pageSize) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> GetByServices<T>(ICollection<int> serviceIds, int page, int pageSizes) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> GetByServiceIdFilteredByUser<T>(int serviceId, int userId) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> GetByServiceIdFilteredByUser<T>(int serviceId, int organizationId, int userId) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> GetByServiceIdFilteredByUser<T>(int serviceId, int userId, int page, int pageSize) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> GetByServiceIdFilteredByUser<T>(int serviceId, int organizationId, int userId, int page, int pageSize) where T : IServiceRequestMetadata; Task<ServiceRequest> GetById<T>(int serviceRequestId) where T : IServiceRequestMetadata; Task<ICollection<ServiceRequest>> ExecuteQuery<T>(ServiceRequestQuery serviceRequestQuery) where T : IServiceRequestMetadata; Task<ServiceRequest> Update(BaseServiceRequest serviceRequest);
  • Hide the validator link in the swagger page of the MTAPI

  • Changes to the FileAttachmentsController to include MTAPI Statuses along with exceptions from this controller

  • Enabled logging into the MTOA database

  • Made changes to Service Request end-points to include MTAPI Statuses along with exceptions thrown from each end-point. MTAPI status codes used in service request controller are documented on MTAPI Response Codes page on confluence.

  • Added support for JWT-SECRET encryption

  • MS Power App interop

    • Customized the response type for the PUT v1/servicerequests to ensure ServiceRequestDTO object is returned

    • Customized the response type for the POST v2/servicerequest to ensure ServiceRequestCreationResult object is returned

  • Added more restrictions to only enable MTOA key to retrieve all service preferences

  • Exceptions with MTAPI statuses in EmailNotificationController's end-points to ensure proper handling of the exception. In the case of AuthorizationException, to match http status code 403 (Forbidden) now MTAPI status code "Forbidden" is being passed in response

  • Added support for JWT tokens about to expire email notifications and addressed code issue that prevented emails from being sent

  • Added security check for GET /api/v1/servicerequests/{id}/status-history to only allow service to retrieve its related status history

  • Added security for the GET /api/v1/servicerequests/{id}/status-history-ex to only allow service to retrieve its related status history

  • Add security check for GET /api/v1/servicerequests/status-history to only allow service to retrieve its related status history.

  • Addressed security issue of the update status-history-ex api

    • Addressed security issue of PUT /api/v1/servicerequests/status-history-ex api

    • Resolved an issue with AllowUserAndService

    • Implemented new method to get service request by history entry id : GetServiceRequestIdByHistoryEntryId

  • Added security check to the api end point GET v1/servicerequests/status-history-ex to ensure secure retrieval of the SR status history by GUID

  • Addressed an issue when an API call is made for a user and service enrolled in a organization where business system information does not exist in database. Fixed api/v1/users/{id}/organizations for a given user and service.

  • Oracle Library Upgrade to version 19.11.0

  • BUG 8825: GET /api/v1/organizations - duplicate orgs returned when associated with multiple services

  • Bug #8743: GET /api/v1/permissions/{permissionId}/services/{serviceId}/users/{userId} - need to change responses for various permutations

  • Bug #8733: GET /api/v1/services/{id}/organizations - orgs not sorted

  • Bug #8327: GET /servicerequests/{id}/invoices - invoices not sorted by Id

  • Bug #8723: GET /api/v1/users/{id}/organizations - orgs not sorted

  • Bug #8902: POST /api/v1/outage-notices - outage notices can be created when start time = end time

  • Bug #8705: GET /api/v1/servicerequests/statuses - items not sorted

  • Bug #8667: POST /api/v1/file-attachments - some edge cases return 500

  • Bug #8342: GET /api/v1/notification-template - templates not sorted

  • Bug #8734: GET /api/v1/services/{id}/activities - activities not sorted

  • Bug #8359: PUT /api/v1/artifacts/{id} - response should throw an error message when serviceRequestId is invalid

  • Bug #8344: GET /api/v1/account/enrollments - enrollments not sorted

  • Bug #8244: DELETE /outage-notices/{id} - a typo in error message/response body

  • Bug #8219: POST /api/v1/account/initiate-recovery - should check for existing mbuns

  • Bug #8703: GET /api/v1/organizations/{id}/users - users not sorted

  • Bug #9109: POST /api/v1/servicerequests/query - returns SRs when the filter containing invalid PlaceOfSupply and/or Status

  • Bug #8099: GET /api/v1/servicerequests/{id}/user-assignments - should be sorted by UA Id ascendingly

  • Bug #7986: GET /api/v1/account/enrollments returns 200 if using SVMMS key to retrieve RTMR user enrollments

  • Bug #8933: QA Test- Date and Time Put updates are not reapplied to the Service Request.

  • Bug #9091: CRSM SR successive status updates cause a collision and throws an error.

  • Bug #9532: CRSM -A system user is returned after a status update and Get /api/v1/servicerequests/{{Id}}/status-history-ex

  • Bug #9479: QA Test -Notices don't allow users to make edit changes after the start date/time, prior to the end date/time

  • Bug #6310: Outage notice can be created or updated without Service ID using POST and PUT call

  • Bug #9697: Portal - updating phone or email of external user with address coordinate causing 503

  • Bug #9621: MTOA Portal - ACC/PROD - under "My Services" enrolled services should be grouped if IsLogicalGrouping property is set to false

  • Bug #9903: QA Platform test - a Put after new CRSM 236 SR Post throws a 400 and db related errors

  • Bug #9931: QA Platform test - GET /api/v1/servicerequests displays 236 service requests as ServiceStandardId "0"

  • Bug #9713: GET /api/v1/servicerequests/status-history-ex - extended history of RTMR SR can be retrieved using SVMMS key

  • Bug #9714: PUT /api/v1/servicerequests/status-history-ex - extended history of RTMR SR can be retrieved using SVMMS key

  • Bug #10014: QA Platform test - Service 239 Put's can be added into a 263 Service Request

  • Bug #10019: QA Platform Test - Get Service 230 status history for Activity Planned and and Updated returns nulls for ServiceCategoryCode and ServiceStandardId

 

Documentation Updates

MTAPI-SRQL Language Specifications

MTOA NuGet packages Release Notes

Version 0.15.24.164 (2021-06-09) (based on the dev branch) 

  • PBI 10063: MTAPI - CRSM/MITRACK - Extend Service Request Queries”

  • PBI 9306: BusinessSystem API related changes

  • PBI 9568, 9309: Activate / De-ativate Users 

  • PBI 10061: MTAPI - CRSM/MITRACK - Improve Support for Audit
    NOTE = The actual back-end implement is still ongoing in our current sprint (47).  

NuGet Package Breaking change 

  • Outage Notices API signature have changed - might introduce some compile issues.

MTOA Database – Release Note for Version (v1.14)

 

Table

Column

Comments

Table

Column

Comments

YY209_OUTAGE_NOTIFICATION

 

Table renamed to TC228_NOTICE_TEMPLATE

OUTAGE_NOTIFICATION_ID

Column renamed to NOTICE_ID

OUTAGE_START_DTE

Column renamed to NOTICE_START_DTE

OUTAGE_STOP_DTE

Column renamed to NOTICE_STOP_DTE

NOTIFICATION_HEADER_ETXT

Column renamed to NOTICE_HEADER_ETXT

NOTIFICATION_HEADER_FTXT

Column renamed to NOTICE_HEADER_FTXT

NOTIFICATION_BODY_ETXT

Column renamed to NOTICE_BODY_ETXT

NOTIFICATION_BODY_FTXT

Column renamed to NOTICE_BODY_FTXT

YY210_SERVICE_OUTAGE_NOTIF

 

Table renamed to TC229_SERVICE_NOTICE

OUTAGE_NOTIFICATION_ID

Column renamed to NOTICE_ID

 

Data Changes

All reference to Outage Notice in the Permission and Service Permission tables are updated to Notice.

 

MTOA Database – Release Note for Version (v1.16)

 

Table

Comments

Table

Comments

WC204_STAKEHOLDER_HISTORY

New table that will eventually replace AC203_STAKEHOLDER_HISTORY and will store Stakeholder audit history details. Note the database triggers will be released in the next version.

WC205_SERVICE_REQUEST_HISTORY

New table that will eventually replace AC203_STAKEHOLDER_HISTORY and will store Service Request audit history details. Note the database triggers will be released in the next version.

 

Data Changes

No data change in this release.

 

Related content

myTC Account Admin Console Create/Invite New User
myTC Account Admin Console Create/Invite New User
Read with this
MTAPI Release Notes 1.7.0
MTAPI Release Notes 1.7.0
Read with this
MTAPI Release Notes 2.0.0
MTAPI Release Notes 2.0.0
Read with this
MTAPI Release Notes 3.0.0
MTAPI Release Notes 3.0.0
Read with this