@extends('documentation.webservice.squelette') @section('titre') {{ __("API") }} @endsection @section('menu') {{-- --}} @endsection @section('contenu')

Activités / lots

Description

Donne la liste des activités / lots.


Appels possibles
Verbe HTTP Adresse Description
/api/activities Liste des activités
/api/activity/act_id Détail d'une activité par identifiant "act_id"
/api/activity/act_correspondance Détail d'une activité par correspondance "act_correspondance"
Exemples

http://elan_providers/api/activities
http://elan_providers/api/activity/1
http://elan_providers/api/activity_bycorresp/x2301


Liste des champs
Champ Type Description
act_idINTEGERIdentifiant interne ELAN de l'activité
act_nameFrVARCHAR(255)Désignation
act_activeINTEGERActivité active oui/non (0/1)
act_correspondanceVARCHAR(255)Correspondance

Exemple json retour

[
{
"act_id": 1,
"act_nameFr": "Electricité",
"act_active": 1,
"act_correspondance": null
},
{
"act_id": 2,
"act_nameFr": "Plomberie",
"act_active": 1,
"act_correspondance": null
},
...

Sites

Description

Donne la liste des sites.


Appels possibles
Verbe HTTP Adresse Description
/api/sites Liste des sites
/api/site/sit_id Détail d'un site par identifiant "sit_id"
/api/site_bycode/sit_codee Détail d'un site par code
Exemples

http://elan_providers/api/sites
http://elan_providers/api/site/1
http://elan_providers/api/site_bycode/698


Liste des champs
ChampTypeDescription
sit_idINTEGERIdentifiant interne ELAN du site
sit_nameVARCHAR(255)Désignation
sit_codeVARCHAR(30)Code du site (code du client)
sit_address1VARCHAR(255)Adresse ligne 1
sit_address2VARCHAR(255)Adresse ligne 2
sit_phoneVARCHAR(20)N° de téléphone du site
sit_emailVARCHAR(255)email principal du site
sig_idINTEGERidentifiant enseigne de rattachement
sit_activeINTEGERactif oui/non (0/1)
sit_latFLOATcoordonnées latitude
sit_lngFLOATcoordonnées longitude
sit_portableVARCHAR(20)tel portable responsable du site
sit_zipCodeVARCHAR(10)code postal
sit_cityVARCHAR(255)ville
cou_nameFrVARCHAR(255)pays
sig_socialReasonVARCHAR(255)raison sociale enseigne de rattachement

Exemple json retour

[
{
"sit_id": 3,
"sit_name": "AGDE CC ESPACE GD CAP",
"sit_code": "373",
"sit_address1": "BOULEVARD .....",
"sit_address2": "",
"sit_phone": "04 67 98 90 54",
"sit_email": "",
"sig_id": 3,
"sit_active": 1,
"sit_lat": "43.29878000",
"sit_lng": "3.47443000",
"sit_formattedAddress": "Boulevard Maurice, ........., 34300 Agde, France",
"sit_portable": null,
"sit_zipCode": "34306",
"sit_city": "AGDE",
"cou_nameFr": "FRANCE",
"sig_socialReason": "ENSEIGNE 1"
},
...

Statuts paramétrés

Description

Donne la liste des statuts par défaut paramétrés dans l'application.
Les valeurs de ces statuts par défaut sont utiles pour la création de demandes de devis et de commandes.


Appels possibles
Verbe HTTP Adresse Description
/api/status_params Liste des statuts par défaut paramétrés
/api/status_param/staPar_id Détail par identifiant "staPar_id"
/api/status_param_bycode/staPar_code Détail d'un statut paramétré
Exemples

http://elan_providers/api/status_params
http://elan_providers/api/status_param/1
http://elan_providers/api/status_param_bycode/sta_defaut_proreq


Liste des champs
ChampTypeDescription
staPar_idINTEGERIdentifiant interne ELAN
staPar_typeVARCHAR(30)Type de statut:
intervention / provider_quote / provider_request / provider_invoice / customer_quote / customer_invoice
staPar_codeVARCHAR(30)Code du paramètre statut interne ELAN
staPar_descriptionFrVARCHAR(255)Description du paramètre
staPar_valueINTEGERValeur du statut (identifiant)

Exemple json retour

[
{
"staPar_id": 1,
"staPar_type": "intervention",
"staPar_code": "sta_defaut_admin",
"staPar_descriptionFr": "Statut par défaut création de DI en admin",
"staPar_value": "200"
},
...

A noter:

L'utilisation des statuts par défaut est importante lors de la création d'une demande de devis ou de la création d'une commande.
Pour une commande, utiliser la valeur de sta_defaut_client_quo pour une demande de devis et la valeur de sta_defaut_client_req pour une commande.

Interventions (consultation)

Description

Permet de consulter la liste des interventions et de réaliser une nouvelle demande.
Dans ELAN, une demande de devis ou une commande est référencée comme "une demande d'intervention".


Appels possibles
Verbe HTTP Adresse Description
/api/interventions Liste des interventions
/api/intervention/int_id Détail intervention par identifiant "int_id"
/api/intervention_bynumber/int_number Détail d'une intervention par numéro
/api/intervention_bycustomerref/int_number Détail d'une intervention par N° de référence client
Exemples

http://elan_providers/api/interventions
http://elan_providers/api/intervention/1
http://elan_providers/api/intervention_bynumber/23030002
http://elan_providers/api/intervention_bycustomerref/R8633325


Liste des champs
ChampTypeDescription
int_idINTEGERIdentifiant interne de l'intervention dans ELAN
int_numberVARCHAR(30)Numéro de DI
sta_idINTEGERCode statut de la DI
sta_nameFrVARCHAR(255)Libellé statut de la DI
sig_idINTEGERIdentifiant enseigne de rattachement
sig_socialReasonVARCHAR(255)Raison sociale enseigne de rattachement
sit_idINTEGERIdentifiant interne ELAN du site
sit_nameVARCHAR(255)Désignation
sit_codeVARCHAR(30)Code du site (code du client)
sit_zipCodeVARCHAR(10)code postal
sit_cityVARCHAR(255)ville
act_idINTEGERIdentifiant interne ELAN de l'activité
act_nameFrVARCHAR(255)Désignation
int_titleVARCHAR(255)Titre de la DI
int_desiredPlanningDateDATEDate de planification souhaitée
int_closingDateDATEDate de clôture
int_customerRefVARCHAR(255)Référence client de la demande d'intervention
int_urgencyINTEGERurgence oui/non (0/1)
int_createdDateDATEDate de création de la DI
int_planningDateFLOATDate de planification de la DI
int_achievementDateVARCHAR(20)Date de réalisation de la DI
int_categoryVARCHAR(255)Catégorie
con_idINTEGERIdentifiant contrat de maintenance préventive
con_descriptionVARCHAR(255)Nom du contrat maintenance préventive

Exemple json retour

[
{
"int_id": 12,
"int_number": "1811002",
"sta_id": 214,
"sta_nameFr": "Réalisée",
"sig_id": 3,
"sig_socialReason": "JULES SAS",
"sit_id": 324,
"sit_name": "ST-QUENTIN CV R. SELLERIE",
"sit_code": "174",
"sit_zipCode": "02108",
"sit_city": "SAINT QUENTIN",
"act_id": 1,
"act_nameFr": "Electricité",
"int_title": "Interrupteur coincé",
"int_desiredPlanningDate": "2018-11-20",
"int_closingDate": null,
"int_customerRef": "83753",
"int_urgency": 0,
"int_createdDate": "2018-11-19T23:00:00.000000Z",
"int_planningDate": "2018-11-20",
"int_achievementDate": "2018-11-20",
"int_category": "",
"con_id": null,
"con_description": null
},
...

Effectuer une commande ou une demande de devis

Description

Permet d'ajouter une demande de devis ou de passer une commande dans ELAN.
La demande sera référencée comme une "Demande d'intervention" dans ELAN avec un statut particulier ("Nouvelle demande de devis" ou "Nouvelle commande").


Appels possibles
Verbe HTTP Adresse Description
/api/interventions Ajout d'une demande d'intervention

Exemples


http://elan_providers/api/interventions


Liste des champs attendus dans la requête d'appel
ChampTypeDescriptionObligatoire
sit_idINTEGERIdentifiant interne ELAN du siteoui
act_idINTEGERIdentifiant interne ELAN de l'activitéoui
actDet_idINTEGERIdentifiant interne ELAN de la sous-activiténon
int_titleVARCHAR(255)Titre de la DIoui
int_descriptionTEXTEDescription de la demandeoui
int_urgencyINTEGERUrgence oui/non, valeurs 0 ou 1 oui
type_requestCHAR(1)Demande de devis ou commande ?
D : demande de devis
C : Commande
oui
int_customerRefVARCHAR(255)Référence client de la demande d'intervention (sans espaces ni caractères spéciaux)
Cette référence doit être unique. Vous ne pouvez pas effectuer deux demandes avec la même réference.
oui
int_datePossibleDATEIntervention possible à partir du YYYY-MM-DDnon
int_dateLaterDATEIntervention au plus tard le YYYY-MM-DDnon
int_desiredPlanningDateDATEDate de planification souhaitée le YYYY-MM-DDnon
int_desiredDateReturnDATEDate retour souhaitée du devis le YYYY-MM-DD non
con_idINTEGERIdentifiant contrat de maintenance préventivenon
int_categoryVARCHAR(255)Catégorie de la demandenon
equSit_idINTEGERIdentifiant équipement du sitenon
equSit_serialNumberVARCHAR(255)N° de série équipement non
equSit_internalNumber VARCHAR(255)N° interne équipement non
Les champs peuvent être envoyés dans le body en format JSON (Content-Type=application/json) ou en tant que "params".

Liste des codes retour possibles
Code Description
200 Statut HTTP 200 OK
En cas de succès le JSON renvoyé est
{ "success": true, "int_number": "22120001", "int_id": 23665 }
403 Statut HTTP 403 Forbidden si mauvais token ou mauvaise code-site-ws
409 Statut HTTP 409 Conflict
Lors de l'appel, ELAN va vérifier:
- si une demande a déjà été faite et si elle a abouti pour le couple sit_id, act_id lors des 30 dernières secondes.
- si la réference int_customerRef existe déjà
Si c'est le cas, le werservice va renvoyer le statut HTTP 409 Conflict.
400 Statut HTTP 400 Bad Request
Lorsque l'on détecte une erreur dans les données :
Un champ obligatoire n'est pas renseigné
Le code site sit_code n’existe pas
Le code activité act_id n’existe pas
Le code sous-activité actDet_id n’existe pas (si renseigné)
La société de facturation (billing_company) n'est pas effectée par défaut pour le site.

Exemple:
{ "error": "NOMCHAMP non reconnu." }
Exemple champs JSON dans le BODY

{
    "sit_id":"373",
    "act_id":"2",
    "actdET_id":"2",
    "int_title":"Pb plomberie 3",
    "int_description":"Grosse fuite 3",
    "int_urgency":0,
    "type_request":"D",
    "int_customerRef":"W028401443",
    "int_datePossible":"2022-10-16",
    "int_dateLater":"2022-10-20",
    "int_desiredPlanningDate":"2022-10-16",
    "int_desiredDateReturn":"2022-10-16",
    "con_id":"",
    "int_category":"",
    "equSit_id":"",
    "equSit_serialNumber":"",
    "equSit_internalNumber":""
    }

Important

Les champs sit_id et act_id peuvent être récupérés via les webservices GET.
Pour le site, vous devez normalement avoir un code site client, vous pouvez récupérer le sit_id correspondant dans ELAN en appelant le webservice GET ..../api/site_bycode/XXX. Pour l'activité (act_id), vous devrez avoir une table de correspondante pour affecter la bonne valeur.

Une demande d'intervention doit impérativement être rattachée à une société de facturation. Le site concerné par la demande doit donc avoir une société de facturation affectée par défaut. Dans le cas contraire, le webService va renvoyer une Erreur 400. Ce paramétrage se fait au niveau de la gestion interne Elan providers.

A noter

Une fois la commande ou la demande de devis effectuée, vous pouvez ajouter un ou plusieurs fichiers joints à la demande (cf paragraphes suivants).

Ajout de fichier joint

Description

Lors d'une commande ou d'une demande de devis, vous avez la possibilité d'ajouter un ou plusieurs fichiers joints.
Cela peut être des photos ou des documents PDF.


Appels possibles
Verbe HTTP Adresse Description
/api/intervention_addfile Ajout d'un fichier joint
Headers
Content-Type multipart/form-data
Exemples


http://elan_providers/api/intervention_addfile


Liste des champs attendus dans la requête d'appel
NB : Les champs doivent être passés dans le Body en type "form-data"
ChampTypeDescriptionObligatoire
int_idINTEGERIdentifiant interventionoui
intFil_fileFILEFichier à ajouteroui
intFil_descriptionVARCHAR(255)Description du fichieroui
intFil_categoryINTEGERCatégorie du fichier joint
1 : photo / image
6 : demande intervention (pdf)
3 : autres documents
oui

Liste des codes retour possibles
Code Description
200 Statut HTTP 200 OK
En cas de succès le JSON renvoyé est
{ "success": true, "intFil_id": "123453" }
403 Statut HTTP 403 Forbidden si mauvais token ou mauvaise code-site-ws ou mauvais int_id (non autorisé)
409 Statut HTTP 409 Conflict
Lors de l'appel, ELAN va vérifier si un fichier avec le même nom original a déjà été inséré pour cette intervention.
Si c'est le cas, le werservice va renvoyer le statut HTTP 409 Conflict.
{ "error": "Already inserted." }
400 Statut HTTP 400 Bad Request
Lorsque l'on détecte une erreur sur le champ int_id

Ajout de fichier joint au format BASE64

Description

Lors d'une commande ou d'une demande de devis, vous avez la possibilité d'ajouter un ou plusieurs fichiers joints au format BASE64
Cela peut être des photos ou des documents PDF.


Appels possibles
Verbe HTTP Adresse Description
/api/intervention_addfile_base64 Ajout d'un fichier joint
Headers
Content-Type multipart/form-data
Exemples


http://elan_providers/api/intervention_addfile


Liste des champs attendus dans la requête d'appel
NB : Les champs doivent être passés dans le Body en type "form-data"
ChampTypeDescriptionObligatoire
int_idINTEGERIdentifiant interventionoui
intFil_fileTEXTFichier à ajouter encodé en base64oui
intFil_descriptionVARCHAR(255)Description du fichieroui
intFil_categoryINTEGERCatégorie du fichier joint
1 : photo / image
6 : demande intervention (pdf)
3 : autres documents
oui
file_extensionCHAR(3)Extension du fichier jointoui

Liste des codes retour possibles
Code Description
200 Statut HTTP 200 OK
En cas de succès le JSON renvoyé est
{ "success": true, "intFil_id": "123453" }
403 Statut HTTP 403 Forbidden si mauvais token ou mauvaise code-site-ws ou mauvais int_id (non autorisé)
409 Statut HTTP 409 Conflict
Lors de l'appel, ELAN va vérifier si un fichier avec le même nom original a déjà été inséré pour cette intervention.
Si c'est le cas, le werservice va renvoyer le statut HTTP 409 Conflict.
{ "error": "Already inserted." }
400 Statut HTTP 400 Bad Request
Lorsque l'on détecte une erreur sur le champ int_id
@endsection