Projet

Général

Profil

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

  • POST /dpark/<slug>/link/
{
  '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

  • 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>",
}

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" 
}

Formats disponibles : PDF HTML TXT