API
Il est possible d’obtenir les données de Cienapps par l’entremise d’API. La présente documentation élabore sur les différentes sources d’informations disponibles et les opérations possibles. Pour de plus amples renseignements sur la disponibilité et l’accessibilité, veuillez communiquer avec votre responsable (chargé de comptes / chargé de projets).
Prérequis
Cette section élabore sur les conditions essentielles à l’activation et l’utilisation des APIs.
Module
Le module Activation des déclencheurs d’API
doit être activée dans votre Cienapps. Il permet l’ajout des notifications pour informer sur les données modifiées lors des événements tels que: sur enregistrement d’une soumission, commande, bon de travail.
Installation de Node.js
Sur votre serveur (serveur client), notre équipe doit procéder à l’installation de JSNode et de la dernière version de l’application. C’est la même application utilisée dans le cadre du clic droit pour l’accès au catalogue de Cieblink.
Clé d’API
Dans la configuration générale, pour les administrateurs de Cienapps, une clé d’API doit être créée avec les autorisations requises. Cette clé doit être transmise au partenaire souhaitant utiliser ce service.
Note importante: par défaut, il est nécessaire d’indiquer la lecture et l'écriture. L'écriture permet de transférer les éléments de notifications en archive après lecture. Voir plus loin dans la documentation.
Les routes d’API
Cette section élabore sur les différentes routes d’API disponible avec le format d’appel et le fonctionnement.
Format d’appel
Les données sont gérées sous format JSON (get/post)
Header
Chaque header doit posséder la clé d’API spécifiée lors des appels d’API.
“ApiToken”: “clé_API_ici”
Fonctionnement
Après obtention des données sous format JSON, le membre ‘SyncID’ contient le ID de la notification. Après utilisation, il faut appeler l’API /sync/confirm
avec un array contenant ce ID. Cela permet de retirer la notification après une lecture. Voir la section plus ci-dessous pour de plus amples détails.
Liste des commandes (https://serveur:port/api/sync/order/list) - GET
Cet API permet d’obtenir la liste des commandes ayant été modifiés. Voici les différents champs disponibles avec les détails.
Membre | Type de données | Exemple | Description de l’information |
Order_Number | Integer 4/8 bytes | 15000, 745837,... | Numéro de la commande |
Order_DateCreate | String “YYYYMMDD” | “20231101”,”19991231” | Date de création |
Order_DateDue | String “YYYYMMDD” | “20231101”,”19991231” | Date d’échéance |
Order_Step_Desc | String | “PARTIAL INVOICING” | Étape de la commande |
Order_SalesRep_FullName | String | “EVE BEAUCHEMIN” | Nom complet du vendeur |
Order_SalesRep_UserName | String | “EBEAUCHEMIN” | Nom d’utilisateur Cienapps |
Order_Rep_FullName | String | “JEAN-MARC PAQUIN” | Nom du représentant |
Order_Rep_UserName | String | “JPAQUIN” | Nom d’utilisateur Cienapps |
Order_Title | String | “CONDOMIUM WITH 3 FLOORS” | Titre |
Order_Reference_PO | String | “U27 (H3) 22-02756” | Référence d’achat |
Order_Reference | String | “KITCHEN 3 PIECES” | Référence |
Order_Quotation_Number | Array of Integer | 84738,95837,95938,... | Liste des no de soumissions liées à la commande |
Customer_First_Name | String | “JOHN” | Prénom client |
Customer_Last_Name | String | “DOE” | Nom de famille client |
Customer_Company_Name | String | “ENTREPRISE MASSON INC” | Dénomination commerciale |
Customer_Main_Phone | String | “(418) 555-6666” | Numéro de téléphone |
Customer_Address | String | “999 BEACH BLVD” | Adresse |
Customer_City | String | “MONTREAL” | Ville |
Customer_PostalCode | String “X0X 0X0” | “S0S 2P0” | Code postal |
Customer_DateCreate | String Date UTC | "2023-08-07 16:29:54.245" | Date création client |
Customer_Rep | String | “JEANNE DOE” | Représentant client |
Customer_Origin | String | “REPUTATION” | Provenance du client |
SyncID | Integer | 11,48393,… | ID de la notification |
Exemple
[ {
"Order_Number": 4700,
"Order_DateCreate": "20231103",
"Order_DateDue": "20231106",
"Order_Step_Desc": "04 -INVOICED",
"Order_Reference_PO": null,
"Order_Reference": "ANDREW - CUT OUT SINK HO",
"Order_SalesRep_FullName": "TJ DECARIA",
"Order_SalesRep_UserName": "TJDECARIA",
"Order_Rep_FullName": "WILL DOE",
"Order_Rep_UserName": "WDDOE",
"Order_Title": "ANDREW - CUT OUT SINK HOLE NOV 3, 2023",
"Customer_Last_Name": "ANDREW DOE",
"Customer_First_Name": null,
"Customer_Company_Name": null,
"Customer_Address": "5239 FIND ME",
"Customer_City": "MONTREAL",
"Customer_PostalCode": "V9L 5J2",
"Customer_DateCreate": "2017-11-08 00:00:00.000",
"Customer_Rep": "WILL DOE",
"Customer_Main_Phone": "(250) 111-2222",
"Customer_Origin": "REFERAL FROM CONTRACTOR / DESIGNER",
"SyncID": 11,
"Order_Quotation_Number": [ 6122 ]
} ]
Liste des soumissions (https://serveur:port/api/sync/quotation/list) - GET
Cet API permet d’obtenir la liste des commandes ayant été modifiés. Voici les différents champs disponibles avec les détails.
Membre | Type de données | Exemple | Description de l’information |
Quotation_Number | Integer 4/8 bytes | 15000, 745837,... | Numéro de la soumission |
Quotation_DateCreate | String “YYYYMMDD” | “20231101”,”19991231” | Date de création |
Quotation_DateClose | String “YYYYMMDD” | “20231101”,”19991231” | Date de fermeture |
Quotation_DateValidate | String “YYYYMMDD” | “20231101”,”19991231” | Date de validation |
Quotation_Step_Desc | String | “1-STEP FIRST MEETING” | Étape de la soumission |
Quotation_SalesRep_FullName | String | “EVE BEAUCHEMIN” | Nom complet du vendeur |
Quotation_SalesRep_UserName | String | “EBEAUCHEMIN” | Nom d’utilisateur Cienapps |
Quotation_Rep_FullName | String | “JEAN-MARC PAQUIN” | Nom du représentant |
Quotation_Rep_UserName | String | “JPAQUIN” | Nom d’utilisateur Cienapps |
Quotation_Title | String | “CONDOMIUM WITH 3 FLOORS” | Titre |
Quotation_Reference_PO | String | “AUTUMN 2023” | Référence d’achat |
Quotation_Reference | String | “KITCHEN” | Référence |
Customer_First_Name | String | “JOHN” | Prénom client |
Customer_Last_Name | String | “DOE” | Nom de famille client |
Customer_Company_Name | String | “ENTREPRISE MASSON INC” | Dénomination commerciale |
Customer_Main_Phone | String | “(418) 555-6666” | Numéro de téléphone |
Customer_Address | String | “999 BEACH BLVD” | Adresse |
Customer_City | String | “MONTREAL” | Ville |
Customer_PostalCode | String “X0X 0X0” | “S0S 2P0” | Code postal |
Customer_DateCreate | String Date UTC | "2023-08-07 16:29:54.245" | Date création client |
Customer_Rep | String | “JEANNE DOE” | Représentant client |
Customer_Origin | String | “REPUTATION” | Provenance du client |
SyncID | Integer | 11,48393,… | ID de la notification |
Exemple
[
{
"Quotation_Number": 6139,
"Quotation_DateCreate": "20231110",
"Quotation_DateClose": "20231110",
"Quotation_DateValidate": "20231124",
"Quotation_Reference_PO": null,
"Quotation_Reference": "SUNCRAFT 12345 WOODRUSH",
"Quotation_Step_Desc": "02 - QUOTING STAGE",
"Quotation_SalesRep_FullName": "MARII ALIKI",
"Quotation_SalesRep_UserName": "MALLIKIKI",
"Quotation_Rep_FullName": "VLADISLAV HELLO",
"Quotation_Rep_UserName": "VHELLO",
"Quotation_Title": "SUNCRAFT 12345 WOODRUSH",
"Customer_Last_Name": "SUNKRAFT CHEESE CONSTRUCTION",
"Customer_First_Name": null,
"Customer_Company_Name": null,
"Customer_Address": "PO BOX 9458 ",
"Customer_City": "DUNCAN",
"Customer_PostalCode": "V9L S0S",
"Customer_DateCreate": "2016-03-30 00:00:00.000",
"Customer_Rep": "VLADISLAV HELLO",
"Customer_Main_Phone": "(250) 748-1234",
"Customer_Origin": "CONTRACTOR / MAINTENANCE DEPARTMENT",
"SyncID": 12
}
]
Liste des bons de travail (https://serveur:port/api/sync/workorder/list) - GET
Cet API permet d’obtenir la liste des bons de travail ayant été modifiés. Voici les différents champs disponibles avec les détails.
Membre | Type de données | Exemple | Description de l’information |
WorkOrder_Number | String | “5610-2”,”748-91”,... | Numéro du bon de travail |
WorkOrder_Order_Number | Integer 4 bytes | 5610,748 | Commande liée au BT |
WorkOrder_Step_Desc | String | “03 PROCESSING COMPLETED” | Étape du BT |
WorkOrder_DateDue | String “YYYY-MM-DD” | “20231101”,”19991231” | Date d’échéance |
WorkOrder_DateDelivery | String “YYYY-MM-DD” | “20231101”,”19991231” | Date de livraison |
WorkOrder_BackOrder | Boolean | True, False | Présence de produit en BO sur le bon de travail |
Customer_First_Name | String | “JOHN” | Prénom client |
Customer_Last_Name | String | “DOE” | Nom de famille client |
Customer_Company_Name | String | “ENTREPRISE MASSON INC” | Dénomination commerciale |
Customer_Main_Phone | String | “(418) 555-6666” | Numéro de téléphone |
Customer_Address | String | “999 BEACH BLVD” | Adresse |
Customer_City | String | “MONTREAL” | Ville |
Customer_PostalCode | String “X0X 0X0” | “S0S 2P0” | Code postal |
Customer_DateCreate | String Date UTC | "2023-08-07 16:29:54.245" | Date création client |
Customer_Rep | String | “JEANNE DOE” | Représentant client |
Customer_Origin | String | “REPUTATION” | Provenance du client |
WorkOrder_IDCust_Delivery | Integer 4 bytes | 43648 | ID différent de 0 en cas de présence d’une adresse de livraison différente de celle du client |
Customer_Delivery_FullName | String | “PHILIPPE THÉBERGE” | Nom complet de la personne recevant la livraison |
Customer_Delivery_Main_Phone | String | “(456) 123-9837 | Numéro de tél, principale de la personne recevant la livraison |
Customer_Delivery_Address | String | “758 BEACH BLVD” | Adresse de la personne recevant la livraison |
Customer_Delivery_City | String | “MERCIER” | Ville de la personne recevant la livraison |
Customer_Delivery_PostalCode | String “X0X0X0” | “S0S2P9” | Code postal de la personne recevant la livraison |
WorkOrder_DateInstallation | String “YYYY-MM-DD” | “20231101”,”19991231” | Date d’installation |
WorkOrder_Team_Delivery | String | “SHIPPING” | Équipe de livraison |
WorkOrder_Team_Installation | String | “INSTALLATION” | Équipe d’installation |
WorkOrder_Workflow | String | “JOB WITHOUT FINISHING” | Workflow |
SyncID | Integer | 11,48393,… | ID de la notification |
Exemple
[
{
"WorkOrder_Order_Number": 7953,
"WorkOrder_Number": "4704-1",
"AncienSoumission": 4704,
"WorkOrder_BackOrder": 0,
"WorkOrder_Step_Desc": "01 READY FOR PROCESSING - DO NOT OR",
"Customer_Last_Name": "YOUBOBO GENERAL STORE",
"Customer_First_Name": "CARRIE",
"Customer_Company_Name": "CAEKCEASAR",
"Customer_Address": "3455 FIND ME HWY",
"Customer_City": "CEDAR",
"Customer_PostalCode": "V9X1T8",
"Customer_DateCreate": "2023-11-08 00:00:00.000",
"Customer_Rep": "MARII ALIKIKI",
"Customer_Main_Phone": "(250) 616-1234",
"Customer_Origin": "REFERAL FROM CONTRACTOR / DESIGNER",
"WorkOrder_DateDue": "20231116",
"WorkOrder_DateDelivery": "20240102",
"WorkOrder_IDCust_Delivery": 0,
"WorkOrder_DateInstallation": "20240102",
"WorkOrder_Workflow": "JOB WITH FINISHING (PAINT OR STAIN)",
"Customer_Delivery_FullName": null,
"Customer_Delivery_Main_Phone": null,
"Customer_Delivery_Address": null,
"Customer_Delivery_City": null,
"Customer_Delivery_PostalCode": null,
"WorkOrder_Team_Delivery": "CAPACITY",
"WorkOrder_Team_Installation": "",
"WorkOrder_Close": 0,
"WorkOrder_Close_Date": null,
"SyncID": 13
}
]
Confirmer la lecture de Cietification (https://serveur:port/api/sync/confirm) - POST
Cet API permet de confirmer la lecture de cietifications (notifications) après appel d’un des API (workorder/list, quotation/list, order/list). Le traitement appelé par l’API retire la notification de la liste et le transfère dans un fichier d’historique. Dans le cas de cet API, le partenaire consommateur doit avoir la permission en écriture.
Lors de l’appel de cet API, il faut alimenter un tableau d’array des ID de cietifications reçus dans l’appel des API. Ces ID proviennent du champ SyncID retourné par chaque API.
{
"SyncID": [11,12,13]
}
Le token d’API doit aussi être indiqué dans le header de l’appel