Automation Center API
L'API Automation Center vous permet de créer et de mettre à jour des processus, des robots et des tâches d'exécution.
À l’aide de cette API, vous pouvez définir des automatisations de bout en bout pour les tâches répétitives, puis gérer et surveiller ces tâches.
- Robots : agents logiciels qui exécutent un processus de bot. Les robots RPA peuvent exécuter des tâches assistées ou non assistées.
- Processus : instance d’un RPA sur un robot spécifique. Il est responsable de l’exécution des tâches. Pour identifier un processus de façon unique, vous devez spécifier à la fois l’ID du processus et l’ID du robot.
- Exécution : tâche spécifique à exécuter dans un processus robot, telle que la copie d’informations d’une ressource et leur copie vers une autre, comme lors de la copie d’informations provenant d’e-mails vers une feuille de calcul.
En règle générale, vous devez d’abord créer un robot, puis tous les processus associés à ce robot, mais cela n’est pas appliqué par l’API. Vous devez toutefois créer le robot et le processus avant d’essayer d’exécuter des tâches pour eux, sinon la demande de tâche échouera.
- Vous ne pouvez pas supprimer un événement à l’aide de cette API. Par défaut, les événements sont automatiquement supprimés d’une instance après 14 jours.
- Vous pouvez transmettre un maximum de 2 000 enregistrements par appel. Cette valeur n’est pas modifiable.
Cette API nécessite que le module d’extension Automation Center soit actif et que l’utilisateur dispose du rôle sn_as.automation_technical_user ou sn_ac.automation_admin.
Automation Center - POST /sn_ac/automation/rpa
Crée des événements de robot, de processus et d’exécution.
Ces événements permettent l’automatisation des processus. Ils s’affichent dans les tableaux de bord Vue d’ensemble et Exécution d’Automation Center pour mesurer et surveiller les résultats de plusieurs fournisseurs RPA.
Format d'URL
URL versionnée : /api/sn_ac/{api_version}/automation/rpa
URL par défaut : /api/sn_ac/v1/automation/rpa
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| Néant |
| Nom | Description |
|---|---|
| DepartmentName | Types d’événements de processus et de robot uniquement. Nom du département auquel l’événement appartient. Cette valeur est stockée dans les tables suivantes en fonction du type d’événement :
Type de données : chaîne |
| domainId | Sys_id du domaine auquel l’événement appartient. Cette valeur est stockée dans les tables suivantes en fonction du type d’événement :
Type de données : chaîne |
| endtime | Type d’événement d’exécution uniquement. Heure de fin de l’exécution. Cette valeur est stockée dans le champ end_time de la table Exécution de l’automatisation [sn_ac_automation_execution]. Format : AAAA-MM-JJ HH :MM :SS Type de données : chaîne |
| environnement | Type d’événement d’exécution uniquement. Environnement de l’exécution, tel qu’une URL. Cette valeur est stockée dans le champ Environnement de la table Exécution de l’automatisation [sn_ac_automation_execution]. Remarque : Cette valeur n’est pas utilisée par l’instance ServiceNow et peut contenir n’importe quelle valeur requise par votre implémentation. Type de données : chaîne |
| errorMessage | Type d’événement d’exécution uniquement. Nom du journal des messages d’erreur. Cette valeur est stockée dans le champ Message de la table Exécution de l’automatisation [sn_ac_automation_execution]. Type de données : chaîne |
| eventName | Requis. Nom du type d’événement. Cette valeur détermine le type d’événement à traiter. Valeurs valides (sensibles à la casse) :
Type de données : chaîne |
| ID | Requis. Identificateur numérique unique de l’événement associé. Cette valeur est stockée dans les tables suivantes en fonction du type d’événement :
Type de données : nombre entier |
| nom | Types d’événements de processus et de robot uniquement. Obligatoire. Nom de l’événement. Cette valeur est stockée dans les tables suivantes en fonction du type d’événement :
Type de données : chaîne |
| priorité | Type d’événement d’exécution uniquement. Priorité de l’exécution. Valeurs possibles (sensible à la casse) : Cette valeur est stockée dans le champ de priorité de la table Exécution de l’automatisation [sn_ac_automation_execution].
Type de données : chaîne Par défaut : Aucun - non affiché dans le tableau de bord |
| processId | Type d’événement d’exécution uniquement. Obligatoire. Identificateur unique du processus sur lequel exécuter l’exécution. Cette valeur est située dans le champ correlation_id de l’enregistrement de processus correspondant dans la table Processus de bot de base [cmdb_ci_base_rpa_process]. Cette valeur est ensuite stockée dans le champ Automatisation de la table Exécution de l’automatisation [sn_ac_automation_execution]. Type de données : chaîne |
| ID robot | Type d’événement d’exécution uniquement. Obligatoire. Identificateur unique du robot sur lequel exécuter l’exécution. Cette valeur est située dans le champ correlation_id de l’enregistrement de robot correspondant dans la table Robot de base [cmdb_ci_base_rpa_robot]. Cette valeur est ensuite stockée dans le champ robot de la table Exécution de l’automatisation [sn_ac_automation_execution]. Type de données : chaîne |
| source | Requis. Source à laquelle l’événement appartient, telle que « servicenow_rpa ». Cette valeur est située dans le champ internal_name de la table Source d’automatisation [sn_ac_automation_source]. Cette valeur est ensuite stockée dans les tables suivantes en fonction du type d’événement :
Type de données : chaîne |
| starttime | Type d’événement d’exécution uniquement. Heure de début de l’exécution. Cette valeur est stockée dans le champ start_time de la table Exécution de l’automatisation [sn_ac_automation_execution]. Format : AAAA-MM-JJ HH :MM :SS Type de données : chaîne |
| État | Types de robot et d’événement d’exécution uniquement. État de l’événement associé. Valeurs possibles pour robot (sensible à la casse) :
Valeurs possibles pour l’exécution (sensible à la casse) :
Cette valeur est stockée dans les tables suivantes en fonction du type d’événement :
Type de données : chaîne |
| statut | Traiter le type d’événement uniquement. Obligatoire. État du processus. Valeurs possibles (sensible à la casse) : Cette valeur est stockée dans le champ life_cycle_stage_status de la table Processus de bot de base [cmdb_ci_base_rpa_process].
Type de données : chaîne |
| triggeredBy | Type d’événement d’exécution uniquement. Source du déclencheur de l’exécution. Cette valeur est stockée dans le champ trigger_by de la table Exécution de l’automatisation [sn_ac_automation_execution]. Remarque : Cette valeur n’est pas utilisée par l’instance ServiceNow et peut contenir n’importe quelle valeur requise par votre implémentation. Type de données : chaîne |
| type | Types d’événements de processus et de robot uniquement. Requis pour le processus, facultatif pour le robot. Type de traitement à effectuer. Valeurs possibles (sensible à la casse) :
Cette valeur est stockée dans les tables suivantes en fonction du type d’événement :
Type de données : chaîne Par défaut : Non assisté pour le robot |
| version | Type d’événement de robot uniquement. Version du robot. Cette valeur est stockée dans le champ Version de la table Robot de base [cmdb_ci_base_rpa_robot]. Type de données : chaîne |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir une liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| Content-Type | Format de données du corps de la demande. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir une liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 400 | Échec. La demande a été rejetée en raison de champs obligatoires manquants ou la demande contient des valeurs non valides. Le message d’erreur associé décrit la raison de l’échec. |
Paramètres du corps de réponse
| Nom | Description |
|---|---|
| résultat | Vide si la demande aboutit. En cas de défaillance, des informations supplémentaires sont fournies. Type de données : objet
Par exemple, si les enregistrements 1, 2 et 3 n’ont pas tous un champ obligatoire, un message similaire au suivant est renvoyé : |
Demande cURL
L’exemple de code suivant montre comment publier trois enregistrements de type d’événement de robot.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 8001,
name: "Quotes system Automation Robot",
state: "Available",
status: "In Use",
version: 5.6,
departmentName: "Customer Support",
type: "Unattended",
source: "servicenow_rpa",
eventName: "robot"
},
{
id: 8002,
name: "Invoice Matching Robot",
state: "Responsive",
status: "In Maintenance",
version: 3,
departmentName: "HR",
type: "Unattended",
source: "servicenow_rpa",
eventName: "robot"
},
{
id: 8003,
name: "Data Reconciliation Robot",
state: "Busy",
status: "Retired",
version: 2,
departmentName: "Finance",
type: "Unattended",
source: "servicenow_rpa",
eventName: "robot"
}]
} "\
--user "username":"password"
Ce point de terminaison renvoie uniquement un code d’état HTTP en cas de réussite, et un code d’état HTTP et un message d’erreur en cas d’échec.
None
Demande cURL
L’exemple de code suivant montre comment valider trois enregistrements de type d’événement de processus.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 9001,
name: "RPA Execution Process",
status: "In Maintenance",
type: "Attended",
departmentName: "Customer Support",
source: "servicenow_rpa",
eventName: "process"
},
{
id: 9002,
name: "Customer Onboarding",
status: "In Use",
type: "Attended",
departmentName: "Finance",
source: "servicenow_rpa",
eventName: "process"
},
{
id: 9003,
name: "Data Reconciliation",
status: "Retired",
type: "Unattended",
departmentName: "HR",
source: "servicenow_rpa",
eventName: "process"
}]
}" \
--user "username":"password"
Ce point de terminaison renvoie uniquement un code d’état HTTP en cas de réussite, et un code d’état HTTP et un message d’erreur en cas d’échec.
None
Demande cURL
L’exemple de code suivant montre comment publier trois enregistrements de type d’événement d’exécution.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 7001,
name: "Customer Onboarding",
starttime: "2022-03-18 00:49:13",
endtime: "2022-03-20 00:58:03",
state: "Running",
priority: "Critical",
environment: "system",
triggeredBy: "Schedule",
processId: 9001,
robotId: 8001,
source: "servicenow_rpa",
eventName: "execution"
},
{
id: 7002,
name: "Data Reconciliation",
starttime: "2022-04-30 00:19:11",
endtime: "2022-05-02 00:41:35",
state: "Error",
priority: "Low",
environment: "system",
triggeredBy: "API",
processId: 9002,
robotId: 8002,
source: "servicenow_rpa",
eventName: "execution"
},
{
id: 7003,
name: "Customer Onboarding",
starttime: "2022-01-22 02:38:53",
endtime: "2022-01-23 02:50:44",
state: "Queued",
priority: "Moderate",
environment: "system",
triggeredBy: "Schedule",
processId: 9003,
robotId: 8003,
source: "servicenow_rpa",
eventName: "execution"
}]
} "\
--user "username":"password"
Ce point de terminaison renvoie uniquement un code d’état HTTP en cas de réussite, et un code d’état HTTP et un message d’erreur en cas d’échec.
None
Demande cURL
L’exemple de code suivant montre comment créer ou mettre à jour un processus. Vous créez un processus en transmettant tous les paramètres obligatoires pour qu’un processus s’exécute avec le eventName paramètre défini sur « processus ». Les paramètres obligatoires nécessaires à la création d’un processus sont : id, type, namestatus, et source.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 9001,
name: "RPA Execution Process",
status: "In Maintenance",
type: "Attended",
departmentName: "Customer Support",
source: "servicenow_rpa",
eventName: "process"
}]
} "\
--user "username":"password"
Ce point de terminaison renvoie uniquement un code d’état HTTP en cas de réussite, et un code d’état HTTP et un message d’erreur en cas d’échec.
None
Demande cURL
L’exemple de code suivant montre comment publier un processus. Vous pouvez publier un processus en passant le status jeu de paramètres sur « Publié ».
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 9002,
name: "RPA Execution Process",
status: "Published",
type: "Attended",
departmentName: "Customer Support",
source: "servicenow_rpa",
eventName: "process"
}]
} "\
--user "username":"password"
Ce point de terminaison renvoie uniquement un code d’état HTTP en cas de réussite, et un code d’état HTTP et un message d’erreur en cas d’échec.
None
Demande cURL
L’exemple de code suivant montre comment créer ou mettre à jour un robot. Vous créez un robot en transmettant tous les paramètres obligatoires d’un robot avec le eventName réglage sur « robot ». Les paramètres obligatoires nécessaires à la création d’un robot sont : id, status, nameet source.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 8001,
name: "Quotes system Automation Robot",
state: "Available",
status: "In Use",
version: 5.6,
departmentName: "Customer Support",
type: "Unattended",
source: "servicenow_rpa",
eventName: "robot"
} "\
--user "username":"password"
Ce point de terminaison renvoie uniquement un code d’état HTTP en cas de réussite, et un code d’état HTTP et un message d’erreur en cas d’échec.
None
Demande cURL
L’exemple de code suivant montre comment créer ou mettre à jour une exécution. Vous créez une exécution en transmettant tous les paramètres obligatoires d’une exécution avec le eventName réglage sur « exécution ». Les paramètres obligatoires nécessaires à la création d’une exécution sont : id, processId, robotIdet source.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 7001,
name: "Customer Onboarding",
starttime: "2022-03-18 00:49:13",
endtime: "2022-03-20 00:58:03",
state: "Running",
priority: "Critical",
environment: "http://acqa.servicenow.com",
triggeredBy: "Schedule",
processId: 9001,
robotId: 8001,
source: "servicenow_rpa",
eventName: "execution",
errorMessage:"Error due to Inactivity"
}]
} "\
--user "username":"password"
Ce point de terminaison renvoie uniquement un code d’état HTTP en cas de réussite, et un code d’état HTTP et un message d’erreur en cas d’échec.
None