support-easyvista-b2b-xapi
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
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": ""
}