La propiedad “model” relaciona los Estados y los Campos Adicionales de AFLS, el archivo de configuración tiene el siguiente JSON para model:
{
"model": [
{
"reference": "",
"services": [
0
],
"state": {
"key": "",
"mapping": [
{
"value": "",
"id": 0
}
]
},
"additionalFields": [
{
"id": 0,
"field": {
"key": "",
"searchBy": ""
},
"mapping": [
{
"id": 0,
"value": ""
}
],
"value": {
"id": 0,
"value": ""
}
}
]
}
],
"workOrder": [],
"client": [],
"company": [],
"priority": [],
"service": []
}
En secciones anteriores se crearon relaciones entre las propiedades de AFLS y ServiceNow
| Propiedad en AFLS | Propiedad en ServiceNow |
|---|---|
| subject | short_description |
| description | description |
| service | N/A |
| priority | priority |
| client | caller |
| company | company |
| state | state |
| location | location |
| note | work_notes |
1. Con ayuda de un administrador de Aranda Field Service (AFLS) obtenga los IDs de los servicios que se integrarán, los servicios deben estar relacionados a un mismo modelo.
**Servicio:** 15 - Mantenimiento preventivo
2. Escriba los valores en la propiedad “model.services” del archivo de configuración:
{
"model": [
{
"reference": "",
"services": [15],
"state": {},
"additionalFields": []
}
]
}
3. Obtenga el nombre de la propiedad State en ServiceNow y escriba su nombre en la propiedad “model.state.key” en el archivo de configuración : “state”
{
"model": [
{
"state": {
"key": "state",
"mapping": [
]
},
"services": [
15
],
"additionalFields": []
}
]
}
4. En Aranda Field Service (AFLS) se maneja 5 estados:
* Open
* Process
* StandBy
* Executed
* Cancel
A cada uno de los estados se asocian **Sub-Estados**, que permiten una transición entre los estados, para la integración es necesario relacionar los sub-estados con los estados de ServiceNow. Con ayuda de un administrador de **AFLS** obtenga los IDs de los ***Sub-Estados***.
| Sub-Estado AFLS | ID |
|---|---|
| New | 187 |
| In Progress | 188 |
| On Hold | 189 |
| Resolved | 190 |
| Closed | 191 |
5. Obtenga los valores para la propiedad State de ServiceNow.
| State ServiceNow | VALUE SERVICENOW |
|---|---|
| New | 1 |
| In Progress | 2 |
| On Hold | 3 |
| Resolved | 5 |
| Closed | 6 |
6. Los Sub-Estados de AFLS se relaciona con la propiedad State de ServiceNow. Establezca una equivalencia entre los valores para los Estados de la siguiente forma:
| State ServiceNow | Tipo de registro AFLS | ID Tipo de registro AFLS | VALUE Channel SERVICENOW |
|---|---|---|---|
| New | New | 187 | 1 |
| In Progress | In Progress | 188 | 2 |
| On Hold | On Hold | 189 | 3 |
| Resolved | Resolved | 190 | 5 |
| Closed | Closed | 191 | 6 |
7. Escriba los valores en la propiedad “model.state” del archivo de configuración:
{
"model": [
{
"state": {
"key": "state",
"mapping": [
{
"value": "1",
"id": 187
},
{
"value": "2",
"id": 188
},
{
"value": "3",
"id": 189
},
{
"value": "5",
"id": 190
},
{
"value": "6",
"id": 191
}
]
},
"services": [
15
],
"additionalFields": []
}
]
}
En AFLS y ServiceNow se permite la creación de campos adicionales, si desea incluir algunos de ellos en la integración siga las instrucciones a continuación.
1. Se recomienda crear una tabla con los campos que desea agregar en la integración de la siguiente forma:
| campo en ServiceNow | campo en AFLS | Id campo SERVICENOW | Id campo AFLS |
|---|---|---|---|
| campo numérico | campo numérico | u_campo_num | 286 |
| texto corto | texto corto | u_texto_corto | 287 |
| ciudades | ciudades | u_glide_list | 288 |
| item de configuración | item de configuración | u_reference_12 | 298 |
13. Escriba la relación en el archivo de configuración
{
"model": [
{
"state": {
"key": "state",
"mapping": [
{
"value": "1",
"id": 187
},
{
"value": "2",
"id": 188
},
{
"value": "3",
"id": 189
},
{
"value": "5",
"id": 190
},
{
"value": "6",
"id": 191
}
]
},
"services": [
15
],
"additionalFields": [
{
"id": 286,
"value": "un valor que quiero que sea constante",
"field": {
"key": "u_campo_num"
}
},
{
"id": 287,
"field": {
"key": "u_texto_corto"
}
},
{
"id": 288,
"field": {
"key": "u_glide_list"
}
},
{
"id": 298,
"field": {
"key": "u_reference_12"
}
}
]
}
]
}
Tenga en cuanta que para los campos tipo reference es requerida la propiedad searchBy que indica la propiedad por la cual se buscará en la tabla de ServiceNow.
- El campo u_reference_12 es un campo de tipo referencia a la tabla de item_configuration, por lo tanto se debe indicar que la búsqueda se realizará por el campo u_name que es el campo que contiene el nombre del item de configuración.
- El campo u_glide_list es un campo de tipo choice, no es necesario indicar la propiedad searchBy, el API de ServiceNow para los campo choice recibe el valor de value de la entidad “sys_choice_“, debido a esto se relacionaran valores en AFLS y ServiceNow.
Valores a relacionar del campo u_glide_list de ServiceNow y el campo ciudades de AFLS:
| Campo “u_glide_list” ServiceNow | VALUE SERVICENOW |
|---|---|
| Bogota | 1 |
| Bucaramanga | 2 |
| Santa marta | 3 |
| Ciudades en AFLS | ID |
|---|---|
| Bogota | 16 |
| Bucaramanga | 17 |
| Santa marta | 18 |
14. Para completar la configuración en los tipos Choice y Reference hay que agregar la propiedad mapping para ambos casos y la propiedad searchBy para el tipo Reference.
{
"model": [
{
"state": {
"key": "state",
"mapping": [
{
"value": "1",
"id": 187
},
{
"value": "2",
"id": 188
},
{
"value": "3",
"id": 189
},
{
"value": "5",
"id": 190
},
{
"value": "6",
"id": 191
}
]
},
"services": [
15
],
"additionalFields": [
{
"id": 286,
"field": {
"key": "u_campo_num"
}
},
{
"id": 287,
"field": {
"key": "u_texto_corto"
}
},
{
"id": 288,
"field": {
"key": "u_glide_list"
},
"mapping": [
{
"id": 16,
"value": "1"
},
{
"id": 17,
"value": "2"
},
{
"id": 18,
"value": "3"
}
]
},
{
"id": 298,
"field": {
"key": "u_reference_12",
"SearchBy": "u_name"
}
}
]
}
]
}