DPark¶
Variables¶
Abonnement¶
Label |
Description |
Obligatoire |
firstnames |
Prénoms |
O |
lastname |
Nom |
O |
filenumber |
Numero de dossier |
O |
badgenumber |
Numero de badge |
N |
cardnumber |
Numero de carte |
N |
Adresse¶
Label |
Description |
Obligatoire |
address_complement1 |
Premier complément d'adresse |
N |
address_complement2 |
Second complément d'adresse |
N |
address_streetno |
Numero de rue |
N |
address_streetext |
Extension numero de rue (BIS, TER, ...) |
N |
address_streetname |
Nom de la rue |
N |
address_sticode |
Code STI de l'adresse |
O |
address_zipcode |
Code postal |
O |
address_locality |
Localité |
O |
Recherche de dossier¶
Requête¶
- GET /dpark/<slug>/search/
{
'firstname': 'foo'
'lastname': 'bar',
'filenumber': '123456789'
'badgenumber': '123456789'
'cardnumber': '123456789'
}
Réponse¶
Cas passant¶
{
"err": 0
}
Cas non passant¶
{
"err": 1,
"code": "unknown-file",
"msg": "Dossier inconnu"
}
code
est un code intelligible simplifié
msg
est le message exact retourné par DPark si disponible, ou en cas d'erreur autre le code et le message
La table des codes:
Code DPark |
Code WS |
02 |
unknown-file |
03 |
not-requester-file |
04 |
support-number-unknown |
05 |
badge-number-unknown |
autre |
other-error |
Récupération informations dossier¶
Requête¶
- GET /dpark/<slug>/infos/<nameid>/
Avec nameid
étant form_user_name_identifier_0
Réponse¶
Cas passant¶
{
"data": [
{
"adresse_boitepostalelieudit": null,
"adresse_codepostal": "31000",
"adresse_codesti": "315553609666",
"adresse_etageescalierappartement": null,
"adresse_extension": 1,
"adresse_immeublebatimentresidence": null,
"adresse_localite": "TOULOUSE",
"adresse_nomvoie": "All\u00e9es Jean Jaur\u00e8s",
"adresse_numerovoie": 80,
"adresse_quartier": "PERI",
"demande_datedebutabo": "20180625",
"demande_datefinabo": "20190624",
"demande_delaiautorise": 30,
"demande_immatvehicule1": "CX453AD",
"demande_immatvehicule2": null,
"demande_marquevehicule1": "CITROEN",
"demande_marquevehicule2": null,
"demande_modelevehicule1": "GS",
"demande_modelevehicule2": null,
"demande_numerodossier": 22952,
"demandeur_civilite": 1,
"demandeur_email": "foo@bar.org",
"demandeur_nomusuel": "Mercier",
"demandeur_prenom": "Eric",
"demandeur_telephonefixe": "0611111111",
"demandeur_telephoneportable": null
},
],
"err": 0
Cas non passant¶
{
"data": null,
"err": 1,
"err_desc": "Dossier inconnu"
}
Appairage¶
Requête¶
{
'nameid': 'abcdefg'
'firstname': 'foo'
'lastname': 'bar',
'filenumber': '123456789'
'badgenumber': '123456789'
'cardnumber': '123456789'
}
Réponse¶
Cas passant¶
{
"err": 0
}
Cas non passant¶
{
"err": 1,
"code": "unknown-file",
"msg": "Dossier inconnu"
}
code
est un code intelligible simplifié
msg
est le message exact retourné par DPark si disponible, ou en cas d'erreur autre le code et le message
La table des codes:
Code DPark |
Code WS |
02 |
unknown-file |
03 |
not-requester-file |
04 |
support-number-unknown |
05 |
badge-number-unknown |
autre |
other-error |
Désappairage¶
Requête¶
Nom |
Obligatoire |
Valeurs possibles |
Description |
nameid |
O |
|
Idientifiant publik de l'utilisateur |
filenumber |
|
|
Numéro de dossier |
- POST /dpark/<slug>/unlink/
{
'nameid': 'abcdefg'
}
Si filenumber
présent, l'utilisateur sera désappairé que par rapport au numéro de dossier correspondant.
Réponse¶
Cas passant¶
{
"data": True,
"err": 0
}
Cas non passant¶
{
"data": null,
"err": 1,
"err_desc": "No pairing exists" # exemple de description d'erreur
}
Vérification éligibilité adresse¶
Requête¶
Nom |
Obligatoire |
Valeurs possibles |
Description |
address_sticode |
O |
|
Code STI |
address_locality |
O |
|
Nom de la localité |
address_zipcode |
O |
|
Code postal |
address_complement1 |
|
|
Premier complement d'adresse: etage appartememt, escalier |
address_complement2 |
|
|
Second complement d'adresse: immeuble, batiment, residence |
address_streetno |
|
|
Numero de rue |
address_streetext |
|
|
Numero d'extension de rue |
address_streetname |
|
|
Nom de rue |
|
- GET /dpark/<slug>/address-eligibility/
{
"address_complement1": "Apt 212",
"address_complement2": "Batiment A",
"address_streetno": "33",
"address_streetext": "1", # (Vide, BIS, TER, QUATER)
"address_streetname": "Rue du Cheval Blanc",
"address_sticode": "37446",
"address_zipcode": "44300",
"address_locality": "Nantes"
}
Les extensions d'adresse¶
identifiant |
text |
1 |
Vide |
2 |
BIS |
3 |
TER |
4 |
QUATER |
Réponse¶
Cas passant¶
{
"data": True,
"address": {
"address_zipcode": "31000",
"address_streetext": 1,
"address_complement2": null,
"address_complement1": null,
"address_locality": "Toulouse",
"address_streetno": 13,
"address_streetname": "Rue des Abeilles",
"address_sticode": "315550016038",
"address_place": null,
"address_district": "Dupuy"
},
"desc": null,
"err": 0,
}
Cas non passant¶
{
"data": False,
"desc": "Erreur extension"
}
Vérification du délais d’autorisation de renouvellement¶
Requête¶
Nom |
Obligatoire |
Valeurs possibles |
Description |
filenumber |
O |
|
Numéro de dossier |
firstnames |
O |
|
Prénoms de l'abonné |
lastname |
O |
|
Nom de l'abonne |
badgenumber |
|
|
Numéro de badge |
cardnumber |
|
|
Numéro de carte |
- GET /dpark/<slug>/check-renewal-time/
Réponse¶
Cas passant¶
{
"data": True,
"err": 0
}
Cas non passant¶
{
"data": null,
"err": 1,
"err_desc": "Renouvellement hors délai"
}
Vérification d'un doublon de création¶
Requête¶
Nom |
Obligatoire |
Valeurs possibles |
Description |
applicant_firstnames |
O |
|
Prénoms du demandeur |
applicant_lastname |
O |
|
Nom du demandeur |
address_complement1 |
N |
|
Premier complément d'adresse |
address_complement2 |
N |
|
Second complément d'adresse |
address_streetno |
N |
|
Numero de rue |
address_streetext |
N |
|
Extension numero de rue (BIS, TER, ...) |
address_streetname |
N |
|
Nom de la rue |
address_sticode |
O |
|
Code STI de l'adresse |
address_zipcode |
O |
|
Code postal |
address_locality |
O |
|
Localité |
- GET /dpark/<slug>/check-creation-duplicate/
Réponse¶
Cas passant¶
- pas de doublon:
{
"data": True,
"desc": "<message retour de D-PARK>",
"err": 0
}
- doublon ou autre problème:
{
"data": False,
"desc": "<message retour de D-PARK>",
"err": 0
}
Cas non passant¶
{
"err": 1,
"err_desc": "<erreur d'utilisation du web-service>",
}
Vérification d’un doublon de renouvellement¶
Requête¶
Nom |
Obligatoire |
Valeurs possibles |
Description |
filenumber |
O |
|
Numéro de dossier |
firstnames |
O |
|
Prénoms de l'abonné |
lastname |
O |
|
Nom de l'abonne |
badgenumber |
|
|
Numéro de badge |
cardnumber |
|
|
Numéro de carte |
- GET /dpark/<slug>/check-renewal-duplicate/
Réponse¶
Cas passant¶
Cas non passant¶
{
"err": 1,
"err_desc": "<erreur d'utilisation du web-service>",
}
Enregistrement d'une demande (renouvellement/inscription)¶
Variables relatives au demandeur¶
Nom |
Obligatoire |
Valeurs possibles |
Description |
applicant_title |
O |
1 ou 2 |
Civilité du demandeur. 1 pour Monsieur, 2 pour Madame |
applicant_lastname |
O |
|
Nom du demandeur |
applicant_firstnames |
O |
|
Prénoms du demandeur |
applicant_phone |
|
|
Téléphone fixe du demandeur |
applicant_mobilephone |
|
|
Téléphone mobile du demandeur |
applicant_email |
O |
|
Courriel du demandeur |
Variables relatives à l'adresse du demandeur¶
Nom |
Obligatoire |
Valeurs possibles |
Description |
address_complement1 |
|
|
Etage, escalier ou numero d'appartement |
address_complement2 |
|
|
Immeuble, batiment ou residence |
address_streetno |
|
|
Numero de voie |
address_streetext |
|
1,2,3,4 |
Extension de rue avec 1 pour Vide, 2 pour BIS, 3 pour TER et 4 pour QUATER |
address_streetname |
|
|
Nom de la voie |
address_sticode |
O |
|
Code STI de l'adresse |
address_place |
|
|
Boite postale, lieu-dit |
address_zipcode |
O |
|
Code postal |
address_locality |
O |
|
Localité |
address_district |
O |
|
Quartier |
Variables relatives à la demande¶
Nom |
Obligatoire |
Valeurs possibles |
Description |
application_id |
O |
|
Numero de la demande |
application_type |
O |
1,2 |
Type de demande avec 1 pour Badge et 2 pour Carte |
filenumber |
|
|
Numéro de dossier Dpark. Si renseigné, la demande est un renouvellement |
application_car1_exemption |
O |
|
Cas d'éligibilité du véhicule 1 (cf cas éligibilité) |
application_car1_model |
O |
|
Modele du véhicule 1 |
application_car1_brand |
O |
|
Marque du véhicule 1 |
application_car1_plate |
O |
|
Immatriculation du véhicule 1 |
application_car2_exemption |
|
|
Cas d'éligibilité du véhicule 2 (cf cas éligibilité) |
application_car2_model |
|
|
Modele du véhicule 2 |
application_car2_brand |
|
|
Marque du véhicule 2 |
application_car2_plate |
|
|
Immatriculation du véhicule 2 |
application_thirdparty_subscription |
O |
un booléen |
Abonnement tiers, ne pas envoyer de chaîne "True" ou "true" ou "False" ou "false" |
application_payment_type |
O |
1,5,10 |
Type de paiement, avec 1 pour chèque, 5 pour prélèvement mensualisé et 10 pour carte bancaire via internet |
application_bank_name |
|
|
Nom de la banque du demandeur |
application_bank_address1 |
|
|
Ligne 1 de l'adresse de la banque |
application_bank_address2 |
|
|
Ligne 2 de l'adresse de la banque |
application_bank_zipcode |
|
|
Code postal de la banque |
application_bank_city |
|
|
Ville ou se situe l'agence bancaire |
application_bank_iban |
|
|
Numéro IBAN du compte bancaire |
application_bank_bic |
|
|
Numéro d'identification de la banque |
Cas d'éligibilité¶
Code |
Description |
2 |
Cas 2: Véhicule location longue durée |
6 |
Cas 1: Vehicule de fonction |
8 |
Cas 0: Normal |
10 |
Cas 5: véhicule préte longue durée |
11 |
Cas 6: meme foyer fiscal + parents |
17 |
Cas 7 : Plaisanciers Port St Sauveur |
Requête¶
- POST /dpark/<slug>/register/
Exemple de payload
{
"address_complement1": "",
"address_complement2": "",
"address_district": "PERI",
"address_locality": "Toulouse",
"address_sticode": "315553609651",
"address_streetext": "1",
"address_streetname": "",
"address_streetno": "16",
"address_zipcode": "31000",
"applicant_email": "sh@eggs.org",
"applicant_firstnames": "Spam Ham",
"applicant_lastname": "EGGS",
"applicant_mobilephone": "0655443322",
"applicant_phone": "",
"applicant_title": "1",
"application_car1_brand": "Peugeot",
"application_car1_exemption": "8",
"application_car1_model": "206",
"application_car1_plate": "AA777ZZ",
"application_id": "12-4",
"application_payment_type": "10",
"application_thirdparty_subscription": false,
"application_type": 1
}
Réponse¶
Cas passant¶
{
"data": {
"numerodossier": "22334",
"numerodemande": "59492"
},
"err": 0
}
Cas non passant¶
{
"err": 1,
"err_desc": "Dossier incomplet"
}
Recuperation des infos de paiement¶
Requête¶
- GET /dpark/<slug>/payment-info/<nameid>/
Il est possible de filtrer les données remontées par numero de dossier
.
GET /dpark/<slug>/payment-info/<nameid>/?filenumber=123456
Réponse¶
Cas passant¶
{
"data": [
{
"typepaiement_text": "Carte Bancaire via Internet",
"numerodemande": 61718,
"montant": 135,
"numeroteledossierphase1": "E-8-N5UTAK6P",
"typepaiement": 10
}
],
"err": 0
}
Cas non passant¶
{
"data": [],
"err": 0
}
Notification de paiement¶
Requête¶
Nom |
Obligatoire |
Valeurs possible |
Description |
application_external_id |
O |
|
Numero de teledossier |
application_id |
O |
|
Numero de demande |
filenumer |
O |
|
Numero de dossier |
nameid |
O |
|
Identifiant de l'utilisateur |
total_amount |
O |
|
Montant total |
transaction_datetime |
O |
|
Date et heure de la transaction |
transaction_id |
O |
|
Numero de transaction |
exemple de payload
{
'application_external_id': 'E-8-N5UTAK6P',
'application_id': '61718',
'filenumber': '23644',
'nameid': '6ec77aa7b2a04acf9339da553f16d91c',
'total_amount': '135',
'transaction_datetime': '2018-07-16T10:23',
'transaction_id': '987654321'
}
Réponse¶
Cas passant¶
{
"data": True,
"err": 0
}
Cas non passant¶
{
"err_class": "passerelle.utils.jsonresponse.APIError",
"err_desc": "Deja paye",
"data": null,
"err": 1
}
Envoi de fichiers¶
Codification des pièces justificatives¶
Identifiant |
Code |
Description |
justif_domicile |
2 |
Justificatif de domicile (<3 mois) |
assurance |
4 |
Attestation d'assurance (Conducteur principal) |
cartegrise |
6 |
Carte grise |
carte_medecin |
8 |
Carte d'ordre des medecins |
immat_artisanat_d1 |
9 |
Immatriculation Chambre Métiers et de l'Artisanat ( D1 ) |
agrement |
10 |
Agrément : Assoc ou Entreprise |
attest_employeur |
11 |
Attestation employeur (Usage privé et pro ) |
taxe_habitat |
13 |
Taxe d'Habitation ou Bail ou Acte notarié |
abt_transport |
14 |
Abt Annuel transport en commun ( Tisséo, SNCF actif pro) |
contrat_locvehicule |
16 |
Contrat de location (Véhicule) |
impot_revenu |
17 |
Impôt sur le revenu |
carteverte |
18 |
Attestation d'Assurance (Carte Verte) |
decla_impot |
19 |
Déclaration Impôt revenu (Enfant rattaché) |
assurance_pro |
20 |
Attestation d'Assurance (Usage Professionnel) |
cotis_urssaf |
21 |
Cotisation à l’URSSAF |
ordonnance |
22 |
Ordonnance (Attest sur l'honneur Médecin) |
attest_employeurpro |
25 |
Attestation Employeur (Usage Pro du Véhicule Perso) |
attest_honneur |
26 |
Attestation sur l'honneur (Professionnel de l’Urgence) |
attest_cpam |
27 |
Attestation CPAM avec le numéro de conventionnement (TAP) |
cartegrise_qe |
28 |
Carte grise avec mention de la qualité électrique |
contrat_livraison |
29 |
Contrat de livraison entre le pro et le commerce ou attest livraison régulière (signature du pro et du commerçant) |
immat_artisanat |
30 |
Immatriculation au registre des métiers et de l'artisanat ou au registre du commerce |
immat_artisanat_ape |
31 |
Immatriculation au registre des métiers et de l'artisanat ou au registre du commerce (avec mention code APE) |
contrat_amarrage |
32 |
Le contrat de location d'un poste d'amarrage |
facture_amarrage |
33 |
Facture de paiement pour l'amarrage et charge |
Explication sur la nomenclature des variables¶
Les variables de fichiers se construisent comme tel:
- <identifiant>[,<suffixe>]: avec comme contenu le raw de la variable de fichier.
Avec identifiant
déterminant le type de fichier. La ,<suffixe>
est optionnel et permet de différencier les fichiers d'un même type et peut être n'importe quoi, la virgule est importante, elle sépare le type du suffixe.
Cela signifie que si l'on veut envoyer un justificatif de domicile
et plusieurs carte grise
, on aura la configuration suivante dans le workflow:
Nom |
Valeur |
Type |
cartegrise,vehicule1 |
form_var_vehicule1_carte_grise_raw |
python |
cartegrise,vehicule2 |
form_var_vehicule2_carte_grise_raw |
python |
justif_domicile |
form_var_justif_domicile_raw |
python |
Requête¶
Nom |
Obligatoire |
Valeurs possibles |
Description |
application_external_id |
O |
|
Numéro de télédossier reçu lors de l'enregistrement de la demande e.g E-8-0AA666BB |
application_id |
O |
|
Numéro de demande e.g 59492 |
doctype,whatever |
|
|
variable raw du champ fichier |
anotherdoctype,whatever |
|
|
variable raw du champ fichier |
NB: Le nombre de fichier à envoyer est calculé par le connecteur.
- POST /dpark/<slug>/send-files/
{
"application_external_id": "E-8-0AA666BB",
"application_id": "59492",
"justif_domicile,whocares": {
"content": "dGhpcyBpcyBteSBzZWNvbmQgcHJvb2Ygb2YgYWRkcmVzcw==",
"content_type": "application/pdf",
"filename": "address_proof.pdf"
}
}
Réponse¶
Cas passant¶
{
"data": {
"result": True,
},
"err": 0
}
Cas non passant¶
{
"data": null,
"err": 1,
"err_desc": "Numéro de demande introuvable"
}