support-easyvista-b2b-xapi

(0 reviews)

home

Overview

Service that interface with ITSM (IT Service Management) system in Fidelidade for ticket management.

For more information on each of these functionalities, please refer to the description of each resource on the left navigation pane.

Tickets

  • incidents
  • service requests
  • change requests
  • document attachments

For more information about EasyVista's REST API please find its official documentation at https://wiki.easyvista.com/xwiki/bin/view/Documentation/WebService+REST

API flow

This service exposes Easyvista ITSM system functions by accessing the backend (external partner) through Web Proxy.

Consumers

support-easyvista-soap-xapi
SAF (Informational)

Use Cases

• View a list of tickets : GET /requests

• View a ticket : GET /requests/{rfc-number}

• Create a ticket : POST /requests

• Update a ticket : PUT /requests/{rfc-number}

• Close a ticket : PUT /actions/{rfc-number}

• Upload Document: POST /requests/{rfc-number}/documents

• Retrieve reports: GET /internalqueries


Create Request (Incidente/pedido/evento)

METHOD: POST

CONTENT-TYPE: application/json

Request Body (JSON) - Exemplo

{
 "requests" :
 [{

  "Catalog_Code" : "MON",
  "AssetID" : "",
  "AssetTag" : "",
  "Urgency_ID" : "1",
  "Severity_ID" : "40",
  "External_reference" : "ID_777",
  "Requestor_Mail" : "pepe.garden@fidelidade.pt",
  "Requestor_Name" : "",
  "Location_ID" : "",
  "Location_Code" : "",
  "Department_ID" : "",
  "Department_Code" : "",
  "Recipient_ID" : "",
  "Recipient_Identification" : "",
  "Recipient_Mail" : "monitorizacao@easyvista.com",
  "Recipient_Name" : "",
  "Origin" : "3",
  "Description" : "Request created via REST API",
  "ParentRequest" : "",
  "CI_ID" : "",
  "CI_ASSET_TAG" : "",
  "CI_NAME" : "",
  "SUBMIT_DATE" : ""
   }]
}

Response Body (JSON) - Exemplo

{
  "HREF": "https:///api/v1//requests/"
}

Documentação adicional de erros

https://wiki.easyvista.com/xwiki/bin/view/Documentation/REST+API+-+Create+an+incident-request


Update request (Incidente/pedido/evento)

METHOD: PUT

CONTENT-TYPE: application/json

Request Body (JSON) - Exemplo

{
  "URGENCY_ID" : "2"
}

Response Body (JSON)

{
 "HREF": "https:///api/v1//requests/"
}

Response Erro (JSON) - Exemplo

{
  "errorCode": 400,
  "correlationId": "d5a05d90-f44c-11ea-aecc-005056b5a42f",
  "timeStamp": "2020-09-11T17:35:42Z",
  "description": "A Bad Request Error has occurred",
  "detailedDescription": "Required header 'client_secret' not specified",
  "externalError": null
}

Consulta request (Incidente/pedido/evento)

METHOD: GET

CONTENT-TYPE: application/json

Request Body (JSON)

vazio

Response Body (JSON) - Exemplo:

{
"HREF": "https://DOMAIN/api/v1/ACCOUNT/requests/idPROCESSO",
"ANALYTICAL_CHARGE_PATH": "",
"AVAILABLE_FIELD_1": "",
"AVAILABLE_FIELD_2": "",
"AVAILABLE_FIELD_3": "",
"AVAILABLE_FIELD_4": "",
"AVAILABLE_FIELD_5": "",
"AVAILABLE_FIELD_6": "",
"BUDGET_EFFECTIVE": "",
"BUDGET_ID": "",
"BUDGET_PLANNED": "",
"CAN_BE_DUPLICATED": "0",
"CLICK2GET_INSTALL_RESULT": "",
"COMMENT": {
  "HREF": "[https://DOMAIN/api/v1/ACCOUNT/requests/comment/idPROCESSO](https://DOMAIN/api/v1/ACCOUNT/requests/comment/idPROCESSO)"
},
"CREATION_DATE_UT": "2020-05-20 20:19:22.11",
"DELAY": "",
"DEPARTMENT_PATH": "",
"DESCRIPTION": {
"HREF": " [https://DOMAIN/api/v1/ACCOUNTrequests/description/idPROCESSO](https://DOMAIN/api/v1/ACCOUNTrequests/description/idPROCESSO)"
},
"DYNAMIC_DETAILS": {
"HREF": " [https://DOMAIN/api/v1/ACCOUNT/requests/dynamic_details/idPROCESSO](https://DOMAIN/api/v1/ACCOUNT/requests/dynamic_details/idPROCESSO)"
},
"EFFECTIVE_CHANGE_DATE_END": "",
"EFFECTIVE_CHANGE_DATE_START": "",
"END_DATE_UT": "",
"ESTIMATED_NET_PRICE": "",
"ESTIMATED_PERCENT_COMPLETE": "",
"EXPECTED_DATE_UT": "",
"EXPECTED_DURATION": "",
"EXPECTED_END_DATE_UT": "",
"EXPECTED_START_DATE_UT": "",
"EXTERNAL_REFERENCE": "",
"FIRST_CALL_RESOLUTION": "0",
"HOUR_PER_DAY": "",
"IMPUTATION_DATE": "",
"INITIAL_SD_CATALOG_PATH": "",
"IS_FINANCIAL_COMPTED": "1",
"IS_MAJOR_INCIDENT": "",
"IS_TEMPLATE": "0",
"KNOWN_PROBLEMS_PATH": "",
"LAST_UPDATE": "",
"LOCATION_PATH": "",
"MARK_1": "",
"MARK_2": "",
"MAX_RESOLUTION_DATE_UT": "",
"MS_PROJECT_IMPORT_VALIDATION_WAITING": "",
"NET_PRICE": "",
"NOT_DEDUCED_CALL": "",
"STATUS": {
"HREF": " [https://DOMAIN/api/v1/ACCOUNT/status/STATUS_Id](https://DOMAIN/api/v1/ACCOUNT/status/STATUS_Id)",
"STATUS_EN": "STATUS",
"STATUS_GUID": "STATUS_GUID"
}
}

Documentação adicional de erros

https://wiki.easyvista.com/xwiki/bin/view/Documentation/REST+API+-+See+an+incident-request


Consulta de histórico do request (Incidente/pedido/evento)

METHOD: GET

CONTENT-TYPE: application/json

Request Body (JSON)

vazio

Response Body (JSON)

{
"HREF": "https://DOMAIN/api/v1/ACCOUNT/requests/idPROCESSO",
"ANALYTICAL_CHARGE_PATH": "",
"AVAILABLE_FIELD_1": "",
"AVAILABLE_FIELD_2": "",
"AVAILABLE_FIELD_3": "",
"AVAILABLE_FIELD_4": "",
"AVAILABLE_FIELD_5": "",
"AVAILABLE_FIELD_6": "",
"BUDGET_EFFECTIVE": "",
"BUDGET_ID": "",
"BUDGET_PLANNED": "",
"CAN_BE_DUPLICATED": "0",
"CLICK2GET_INSTALL_RESULT": "",
"COMMENT": {
"HREF": "[https://DOMAIN/api/v1/ACCOUNT/requests/comment/idPROCESSO](https://DOMAIN/api/v1/ACCOUNT/requests/comment/idPROCESSO)"
},
"CREATION_DATE_UT": "2020-05-20 20:19:22.11",
"DELAY": "",
"DEPARTMENT_PATH": "",
"DESCRIPTION": {
"HREF": " [https://DOMAIN/api/v1/ACCOUNTrequests/description/idPROCESSO](https://DOMAIN/api/v1/ACCOUNTrequests/description/idPROCESSO)"
},
"DYNAMIC_DETAILS": {
"HREF": " [https://DOMAIN/api/v1/ACCOUNT/requests/dynamic_details/idPROCESSO](https://DOMAIN/api/v1/ACCOUNT/requests/dynamic_details/idPROCESSO)"
},
"EFFECTIVE_CHANGE_DATE_END": "",
"EFFECTIVE_CHANGE_DATE_START": "",
"END_DATE_UT": "",
"ESTIMATED_NET_PRICE": "",
"ESTIMATED_PERCENT_COMPLETE": "",
"EXPECTED_DATE_UT": "",
"EXPECTED_DURATION": "",
"EXPECTED_END_DATE_UT": "",
"EXPECTED_START_DATE_UT": "",
"EXTERNAL_REFERENCE": "",
"FIRST_CALL_RESOLUTION": "0",
"HOUR_PER_DAY": "",
"IMPUTATION_DATE": "",
"INITIAL_SD_CATALOG_PATH": "",
"IS_FINANCIAL_COMPTED": "1",
"IS_MAJOR_INCIDENT": "",
"IS_TEMPLATE": "0",
"KNOWN_PROBLEMS_PATH": "",
"LAST_UPDATE": "",
"LOCATION_PATH": "",
"MARK_1": "",
"MARK_2": "",
"MAX_RESOLUTION_DATE_UT": "",
"MS_PROJECT_IMPORT_VALIDATION_WAITING": "",
"NET_PRICE": "",
"NOT_DEDUCED_CALL": "",
"STATUS": {
"HREF": " [https://DOMAIN/api/v1/ACCOUNT/status/STATUS_Id](https://DOMAIN/api/v1/ACCOUNT/status/STATUS_Id)",
"STATUS_EN": "STATUS",
"STATUS_GUID": "STATUS_GUID"
}
}

Documentação adicional de erros

https://wiki.easyvista.com/xwiki/bin/view/Documentation/REST+API+-+See+an+incident-request


Upload Document Attachment

METHOD: POST

CONTENT-TYPE: application/json

Request Body (JSON) - Exemplo

{
  "documents": [{
    "filedata": "SmUgc3VpcyB1biBkb2N1bWVudA==",
    "filename": "document.docx"
  }]
}

Response Body (JSON) - Exemplo

{
  "HREF": "[https://fidelidade-qualif.easyvista.com/api/v1/50005/requests/I200916_0009](https://fidelidade-qualif.easyvista.com/api/v1/50005/requests/I200916_0009)"
}

Documentação adicional de erros

https://wiki.easyvista.com/xwiki/bin/view/Documentation/REST+API+-+Upload+and+attach+a+document+to+an+incident-request


API Actions

Update action (registo de evento relativo a um Incidente/pedido, ex: fechar ticket, suspender ticket)

METHOD: PUT

CONTENT-TYPE: application/json

Request Body (JSON) - Example

{
  "ACTION_LABEL_FR": "Test REST API Patch",
  "ELAPSED_TIME": "2",
  "end_action": {
    "comment": "Reopened via REST API call",
    "choice": "0"
  }
}

Response Body (JSON) - Example

{
  "HREF": "https://{your_server}/api/v1/{your_account}/actions/12345"
}

Documentação adicional de erros

https://wiki.easyvista.com/xwiki/bin/view/Documentation/REST+API+-+Update+an+action


API Assets

A API de Assets inclui: equipment, licenses, contracts.

• Create an asset : POST /assets

• Update an asset : PUT /assets/{asset_id}

• Search an asset : GET /assets?search=asset_tag:{Tag}

Create Asset

METHOD: POST

CONTENT-TYPE: application/json

Request Body (JSON) - Example

{
  "assets":[
  {
    "CATALOG_ID" : "1157",
    "ASSET_TAG" : "AT0051",
    "SERIAL_NUMBER": "SN_TESTE51",
    "E_I_UN_CLASSIFICATION_PO": "SSA_EQP170",
    "E_I_MANUFACTURER": "HP",
    "E_I_CATALOG_CODE": "PORTƁTIL HP ELITEBOOK 840 G2L",
    "E_I_STATUS": "INSTALADO",
    "E_I_LOCATION_CODE" : "FSE000501",
    "E_I_EMPLOYEE_LOGIN" : "F004478",
    "INSTALLATION_DATE" : "12/10/2020",
    "END_OF_WARANTY" : "12/10/2021",
    "ORDER_NUMBER" : "123456",
    "PURCHASE_DATE" : "12/09/2020"
  }
 ]
}

Response Body (JSON) - Example

{
  "HREF": "https://{Server}/api/v1/{Account}/assets/9504"
}

Documentação adicional de erros

https://wiki.easyvista.com/xwiki/bin/view/Documentation/REST+API+-+Create+an+asset

Devem ser utilizados os seguintes estados no campo ASSETS.E_I_STATUS (Easyvista) // STATUS_ASSET (SAP Fujitsu):

  • Estado
  • Instalado
  • Abatido
  • Em stock
  • Em reparação

Update Asset

METHOD: PUT

CONTENT-TYPE: application/json

Request Body (JSON) - Example

{
  "assets":[
   {
    "CATALOG_ID" : "1157",
    "ASSET_TAG" : "AT0051",
    "SERIAL_NUMBER": "SN_TESTE51",
    "E_I_UN_CLASSIFICATION_PO": "SSA_EQP170",
    "E_I_MANUFACTURER": "HP",
    "E_I_CATALOG_CODE": "PORTƁTIL HP ELITEBOOK 840 G2L",
    "E_I_STATUS": "INSTALADO",
    "E_I_LOCATION_CODE" : "FSE000501",
    "E_I_EMPLOYEE_LOGIN" : "F004478",
    "INSTALLATION_DATE" : "12/10/2020",
    "END_OF_WARANTY" : "12/10/2021",
    "ORDER_NUMBER" : "123456",
    "PURCHASE_DATE" : "12/09/2020"
   }
  ]
}

Response Body (JSON) - Example

{
  "HREF": "https://{server}/api/v1/{account}/assets/9504"
}

Documentação adicional de erros

https://wiki.easyvista.com/xwiki/bin/view/Documentation/REST+API+-+Update+an+asset


Search Asset

METHOD: GET

CONTENT-TYPE: application/json

Request Body (JSON) - Example

vazio

Response Body (JSON) - Example

{
  "HREF": "[https://fidelidade-qualif.easyvista.com/api/v1/50005/assets?search=asset_tag:FIG101346_1801](https://fidelidade-qualif.easyvista.com/api/v1/50005/assets?search=asset_tag:FIG101346_1801)",
  "record_count": "1",
  "total_record_count": "1",
  "records": [
    {
        "HREF": "[https://fidelidade-qualif.easyvista.com/api/v1/50005/assets/32270](https://fidelidade-qualif.easyvista.com/api/v1/50005/assets/32270)",
        "ASSET_ID": "32270",
        "ASSET_LABEL": "",
        "ASSET_TAG": "FIG101346_1801",
        "END_OF_WARANTY": "2019-01-04",
        "ENTRY_DATE": "",
        "INSTALLATION_DATE": "2018-01-04",
        "PURCHASE_DATE": "",
        "SERIAL_NUMBER": "8CG7492DSN",
        "LOCATION": {
            "CITY": "LISBOA",
            "LOCATION_CODE": "FSE000105",
            "LOCATION_EN": "[5]",
            "LOCATION_PATH": "[PORTUGAL]/[LISBOA]/[RUA ALEXANDRE HERCULANO, 53 PISO 5]/[5]",
            "HREF": "[https://fidelidade-qualif.easyvista.com/api/v1/50005/locations/9987](https://fidelidade-qualif.easyvista.com/api/v1/50005/locations/9987)",
            "LOCATION_ID": "9987"
        },
        "DEPARTMENT": {
            "DEPARTMENT_CODE": "",
            "DEPARTMENT_EN": "-",
            "DEPARTMENT_PATH": "",
            "DEPARTMENT_ID": "5",
            "DEPARTMENT_LABEL": ""
        },
        "EMPLOYEE": {
            "BEGIN_OF_CONTRACT": "",
            "CELLULAR_NUMBER": "",
            "DEPARTMENT_PATH": "",
            "E_MAIL": "",
            "EMPLOYEE_ID": "",
            "LAST_NAME": "",
            "LOCATION_PATH": "",
            "PHONE_NUMBER": ""
        },
        "CATALOG_ASSET": {
            "ARTICLE_MODEL": "DESKTOP HP ELITEDESK 800 G3 MINI+SUPORTE",
            "HREF": "[https://fidelidade-qualif.easyvista.com/api/v1/50005/catalog-assets/878](https://fidelidade-qualif.easyvista.com/api/v1/50005/catalog-assets/878)",
            "CATALOG_ID": "878",
            "NET_PRICE": "",
            "SMBIOS_NAME": "",
            "TITLE_EN": "",
            "UN_CLASSIFICATION_PATH": "Equipment/Computing/Workstations/Desktop"
        }
    }
  ]
}

Documentação adicional de erros

https://wiki.easyvista.com/xwiki/bin/view/Documentation/REST+API+-+See+a+list+of+assets


APIs Locations

A API de Locations inclui as seguintes entidades: location.

Implementadas as seguintes operaƧƵes da API:

• Create / Update location

Create Location

METHOD: POST

CONTENT-TYPE: application/json

Request Body (JSON) - Example

{
  "LOCATION_CODE": "TST000100",
  "COUNTRY": "PORTUGAL",
  "CITY": "LISBOA",
  "ADDRESS": "SEDE - RUA ALVARO PAIS",
  "ADDRESS_2": "Av. ALVARO PAIS, XX",
  "ZIP_CODE": "1700-45",
  "ACTION": "CRT"
}

Response Body (JSON) - Example

{
  "HREF": "[https://fidelidade-qualif.easyvista.com/api/v1/50005/e-tmp-location/8](https://fidelidade-qualif.easyvista.com/api/v1/50005/e-tmp-location/8)"
}

Documentação adicional de erros

https://wiki.easyvista.com/xwiki/bin/view/Documentation/REST+API+-+Create+a+location


Update Location

METHOD: POST

CONTENT-TYPE: application/json

Request Body (JSON) - Example

{
  "LOCATION_CODE": "TST000100",
  "COUNTRY": "PORTUGAL",
  "CITY": "LISBOA",
  "ADDRESS": "SEDE - RUA ALVARO PAIS",
  "ADDRESS_2": "Av. ALVARO PAIS, XX",
  "ZIP_CODE": "1700-45",
  "ACTION": "UPD"
}

Response Body (JSON) - Example

{
  "HREF": "[https://fidelidade-qualif.easyvista.com/api/v1/50005/e-tmp-location/8](https://fidelidade-qualif.easyvista.com/api/v1/50005/e-tmp-location/8)"
}

Documentação adicional de erros

https://wiki.easyvista.com/xwiki/bin/view/Documentation/REST+API+-+Update+a+location

Communication

This section indicates how the connection with the API is achieved and regarding the output of the same.

Security

The communication with the API is performed over HTTPS, meaning that the communication is encrypted, providing an additional layer of protection when transporting your information.

Moreover, all requests are performed applying a Client ID Enforcement policy, enabling only authorized consumers to access the API resources.

SLA Tiers

The Standard SLA tier allows you to perform up to X requests per minute on the resources of this API.

If your needs exceed these limits, please contact Fidelidade to negotiate access to a higher SLA tier.

Error Handling

Successful requests to the API will return a 2xx status code.

When an error occurs, the API will respond with a status code in the 4xx or 5xx group, enforcing the standard HTTP status codes.

As for the error structure, the API uses a standard structure, that contains the details of the error itself.

Consumers can use the details present in this standard structure to help troubleshoot errors.

In particular, the correlationId can be used by Fidelidade to internally identify the request chain that caused the error.

The following is an example of said structure:

{
  "errorCode": 500,
  "correlationId": "8a9cd990-4888-11ec-8f20-005056b5e555",
  "timeStamp": "2021-11-18T15:59:42Z",
  "description": "The description of the error",
  "detailedDescription": "Further details of the error",
  "externalError": ""
}

Reviews