Automation Center API
L’API Automation Center fournit des points de terminaison pour créer et mettre à jour des données relatives aux robots, aux processus et aux tâches d’exécution. En tirant parti de cette API, vous pouvez intégrer et refléter les détails de vos workflows d’automatisation dans le tableau de Centre d'automatisation bord.
- Robots : agents logiciels qui exécutent des processus de bot. Les robots RPA peuvent fonctionner en mode assisté ou non assisté.
- Processus : instances de workflows RPA exécutés sur un robot spécifique. Pour identifier de manière unique un processus, l’ID du processus et l’ID du robot doivent être spécifiés.
- Exécutions : tâches individuelles effectuées au sein d’un processus, telles que le transfert d’informations d’une ressource à une autre (comme la copie de données d’e-mails dans une feuille de calcul).
Comment utiliser l’API :
Vous pouvez utiliser l’API pour envoyer des données à partir d’outils RPA tiers, y compris des robots, des processus et des exécutions.Centre d'automatisation
- Envoyez les données du robot.
- Envoyer les données de processus liées au robot envoyé.
- Envoyez des données d’exécution qui référencent le robot et le processus correspondants.Remarque :Les données d’exécution sans son robot et son processus associés déjà capturés Centre d'automatisation n’apparaîtront pas sur le tableau de bord.
- Conservation des événements : les événements créés à l’aide de cette API sont automatiquement supprimés de votre instance après 14 jours (paramètre par défaut).
- Limites d’enregistrement : chaque appel d’API peut gérer un maximum de 2 000 enregistrements. Cette limite ne peut pas être modifiée.
- Suppression d’événement : cette API ne prend pas en charge la suppression d’événement.
Cette API nécessite que le module d’extension Centre d'automatisation soit actif et que l’utilisateur ait le 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 d’automatiser les processus. Elles apparaissent dans les tableaux de bord Vue d’ensemble et Exécution de Centre d’automatisation pour mesurer et surveiller la sortie 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. Par 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 |
|---|---|
| nom du département | 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 : JJ-MM-AAAA 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 et peut contenir n’importe ServiceNow 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 de 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 valides (sensibles à 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 se trouve 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 stockée dans le champ d’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 se trouve 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 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 se trouve dans le champ internal_name de la table Source d’automatisation [sn_ac_automation_source]. Cette valeur est 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]. Type de données : chaîne Format : JJ-MM-AAAA HH :MM :SS |
| État | Types d’événements de robot et d’exécution uniquement. État de l’événement associé. Valeurs valides pour le robot (sensibles à la casse) :
Valeurs possibles pour l’exécution (sensibles à 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 | Type d’événement de processus uniquement. Obligatoire. État du processus. Valeurs possibles (sensibles à 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 et peut contenir n’importe ServiceNow 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 valides (sensibles à la casse) :
Cette valeur est stockée dans les tables suivantes en fonction du type d’événement :
Type de données : chaîne Valeur 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 la 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 la 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 d’échec, des informations supplémentaires sont fournies. Type de données : objet Par exemple, si un champ obligatoire est manquant dans les enregistrements 1, 2 et 3, un message similaire au suivant est renvoyé : |
Demande cURL
L’exemple de code suivant montre comment publier trois enregistrements de type é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 publier trois enregistrements de type é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 é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 l’ensemble eventName « processus ». Les paramètres obligatoires nécessaires pour créer un processus sont les suivants : 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 transmettant le status paramètre défini 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 pour un robot ainsi que l’ensemble eventName sur « robot ». Les paramètres obligatoires nécessaires pour créer 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 ainsi que l’ensemble eventName sur « exécution ». Les paramètres obligatoires nécessaires pour créer une exécution sont les suivants : 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