C@48~q=nMgV zhk03KPWf4Px=2Bi0LUXx`!Es!|2=?$XC0o3Dm-vm`QlsfBK+3~Ps0LL&huZ1hH9Y- z1_56GYlYqAssAh(&PoQZ000)@e}Vw`l1uiV(ZgBR_MiUWS{U#~u#Er!pbJ$7$-ehm zInMLWqE=}C5opq=!IynRAI5~tgMjlx_3jZy=e&CjuFEy4c+IagY@jUMK!Tp1K zUTtO1L(9eYwjCsM0Cgh4Ce3C!Yzz?po;Trx#L&B+$} IgL#F`y=R#z1w4!Vs&&hRUF^AhxKs*!UOf>lEce3gD%l zrNxOGnYlen)1?MO6gjqQTh7N)rBYjL#F|peDDuMg64NGZoC8s>Cobk)^~n7&Azg+= zdV*B1M3ts@zDJwfLX0=tT$?2|G^KvY$Pq}1o9BmFS)IsvveTIeuRqfaz(WZMcgQBF z(R^MgS@OeY)6^jdFvCq2$?~yo+%jt8SBA|K=VCO6H$y-)Cq_YcvCCfqr{ ph?de`WG{(N zsJk~khSP}kw)Vm2`!6R}don3EILq!NwQ1|+r0Q6wPnruILL8#wkfpVr=hwuN65G8$ zd#$E~**PCq)V$Y|zF$**h0=)IK-M;8%aHVHjzsD~K+WikVlyNhleKKAgh_o`mT*Fq z;9EUr@2zxX`3N5-Bdp@qP4D3xkVSN+3g^**?9T`y9wIO7MBA+i^UM-5 3)`m5X1qL>r^yDRt%-TNuKuwvy;cPtVT=S`+ *4HCr6Y3f+cQ0tJZVOv4n!BYUsAa2ChW9c-+@8=N6JLjnldy%b;O1pzhhUBn| zABt~<9e=L~K&Iyw>=$PP4;Ld6H;rhX+AGo6G1Fm^UR{d|)X@k{iG{xawg|7NR5%g| z0={_kg2FIaCDc5~vlnKCb*A{~R;s aj!3mJMnXUfj0+e$%n3-3hdc?c8sde_8e;iTd*O=Uc~N-HRMUkQA$moO zEu~h^7uDMH*E#+Lp;qbl1$Br~eDp*bi+Nh-527V{aQ@k|ZEj9NBRzOX^cYOmt~G+a z78Z5MVJ;2o;$D8F*t~@O!Z*XIqgX0;e -EV|60Q8HlPgbBK}?z zY<<@r8;k|y?TwR4nd|gP(uS~6A{xgJ=l+X0&K1U;3R(X1sp;)&9D&D4S&m_J&{I0h zQi+adnQ@^mT{g}d1Abm*Pw69a##sKM?0r= xBWtO{YjYJ+T_%|xwV zGw3p0v78yJ(M4HE5X 9_CB(rs2~1j*715jjpsC+ ziQn(Cxtb@5uPngci#y)8Wz)s#?;q!wkkAr|OCS6Zos+|sQ~3r-h)zL8S=^qhN_eII zftN}OpgvI7hV?*DBErhH6^8qL#ohOMdR!ulV6icq_T2M;EN<8f^gd_b%Sm6pkb*io z*RTNbC2W{aVsc=sI%{Ze=Ir~u8ptJu$VkaH6^G_IilLKe_2V#VEoLI0HoYr#;@cDl zE6PiydW3=|+&4pZFqD>zYjrH;!KsLn&3W-^98j?!sZkQ{I?H+=a)ic2ltzB|u;Qjv z7xmjwGD+GpjEt}pZLjwqmtu)>f_x+*0M<-igq-uHhTa1_accu_3=~3ymnKb$8p>qy z-dxG-JQLAq&?6=5DA!YBZvSzbG?jITj`hdj$S?(mIFk}W1466euSvS_POq+DF!`Cf zUZP(du5840^B2Can*A(n9| >H97PE;X&}1{~82&t0)znU)V2mAUgU1Yw~}*>O=1 zQWCp=>c!rlSZPyPzrG@z$?gdzunf6r$D! XI zoNGc`#GJHbdK1Ue$Dl3lkT{43PRG-1v(J>6SxQ%RMI<>RDD@OMzjYGTGTSX5L;srlz{$`4h!* znBJ&h%;B+H*LFMD8?bEU04`qMU_5MRO jSLKQPJt=)Xjp3K?*UQ&On3WX(1+)GP>+w~rX zRyQJuzFb3(ZYkhCXvcz%4c?5w=a5riI8hzZ;rp4)P0UQfy~yv4w-EZ>6EY@bD zpm?t}7PG36vqI6)&VJf!RYzF=-7X+AX_D|%wu8xz|I8!97RQ+`SYU`$AwVW$OV$Ue z|Dabzfbx+tGMUvOBheN(gU4n;i&}ydLgPNm1^R9Q>D7hfGKsl;MyLZs! e&vI)!`Sl)OslXWzkoPoTN z$TjCj|GQTEvt;eNX3h?>Z;)y1+1F`Ot!Koc?~hHXx31f_XrR1w1D>ajb-6x>&FZ5+ zMk)UBg2S8XszBj}+N^`^4~+XNlG+YLl<`U^J>fD)1}YytbhwLyvf7hCls}qV)CwlN zxe{%C1^ARjQy_~zME?7yDF(j!@BHwh$8TD0f6=S0_{`dVlRIzf4v5puan0?r$M5ZK zIbN_CQfZQ_V$$5mO!A$(!SeOTp^iuU(v0^8JuDkz;^vtoY-JoAzFv|%5#~t$rHJKU zDQt_r-CBY-YQ~02ul0eqjHXc2T4x4r+mh)l8rQ2FIfbeW|8Z;8bGw1id+O%06P6 h!I6@ zRdONW%uQg~J{!-1o^fMgfxUv(b! J$j;XoHL8Z!g*d~)Qrh39$tF%o8mJ- zzL~$LGYtIt^viYIwh^3_;E*$R)Ez0L%0-|wCo;X>d2f__^_Oi^I+=A^u+Gq_pgZK~ z;EAM3d3|BMH^dpSrf{q&vGxJnxh5l1`jWHJg&Y5#u9PfH?`-QV%I*p zP*aDP0Hww8&ueOvOu~N?YAVvM0ThdBfo>Y$r5!0n^tBH^f%2>h44p4Za<0 2Lih z&av0JKeM|?0Pg!}N! zz01974se(EK?$pZ; r#UTUF!0?uisDFx?`!*)_C*PVK-I-_Ygq@ z@`mTZQSopH`73C9>5t{x{o$ =PR ^S!_$A$J&LW@vp(e*7n9hKwwk#qab~kEx7$crlk=)*D2@pV zM_4Ktr{Qqi5VrQd_4^|Qr@$`bi(C6XE#8#mNN^wpx8!kIUf~`la~e;^%MR4}1$!$& zlC8Vo?4vKbo!~z28$6lYyR3%pgb8Ov%BS#^#^($z$FGRH1^0M?lMLh+!ZK=w87^X| zd0v@9-rNS#+dCil@y;bE^n3+q09XoxHI{Fs(Y-hCj{4I_#$m!*f}k9nAi118(&T)) zPLqdwWR7vY A{YFUMu z_-zLFZD>Qpy@Vo5U#a5)3g7iaDl=IeVB>9#PQJDhf1CVd#sAqQe@AadENDzOB%L8# zw dRvA=Hd29#nEb6D z9(i9I_Z7};Xj|9}`DgkYd0aqY{M6QQ#Ub@ z(jvAPL$-_q&iige&Z7IYdq!F)mwj>}Uc+?tT10P?d{dn+_AN>JcyWecX47=Sa{-(y z0INlx=xS1?$=pbZAL4}I<(@Y7Js&qj8KIs4=D&GpsVDV#n9Zv+aUhDZGp7gd!Ano3 z8(D@97c0}lm~7I&$jMIZvciS6Gc0>wsCEWa73%X$^mMw&H|UB3u%Q=z>raSRpSen1 z6Zy~^L*?!K`%TDbS@cc(926@LLKP15ys%dYNUAmG5r-pZ2_QC7lwgq=-H?;S05{rf zzqu4vk|8j%bO>74ZwziTR_#3`lW- 6p949ebLmsgCe_a&8!5AZ6r!9M8FM``0UbBbraK!Puo#eRi-18PsqCk %ac;oihW$J zLpSJ75dP7kRM8WYt~h}qFhTAl4* b z%_xk&Yeh%57j}u1WVPu%P-2;U=kV=NdKq*Rf6FXDxFIVujXGL@=Z+PDA(pE8Je)iM z6Ja?fwIZz`y{uA|)>pADj=n1M;buBL!X~1?|6z-^!SrmLlN#jI+Ni;H5!-deygyUk zlV6le+5AZ`ThCW%L)=*12l8jt8C3i+!&17bNq3pFLSgKfR5@|+l4)jG_wFo-c^Ln! zC?D#C0>x_;#I_6Tf69?nbpR{4KVY4S7l+QfF-0)MXLXvf$mVBa!Rx|#0hT10pa7HBW5 zn{37R6WKi$qL}9Z@H6x;Z8xFIf0;0+$hBwBioFz2|B`7Nh&!eoX)n-(FiunSR4aae z*yqPloM7T$+P20*y;WLqsKhhT;y^GyBf5S|Uw%Tulf&@igp)^HeCjA3SK^{TT=G5q zrG-oS6@}-=Xz%2xFMGd;T}^61({lyhbtS_1c@Z2pnymKP{6)duvMo%o0W)# iHrGr}q8h~YGxoktPhy?Yx7kILW8)9o+#O@W9C|JB)s&SMfNFy(<9j-H zm-lxo#`U7V^~q@3g*R*NDv_%b{?xCgFUlUQNks;RDwO81Pz4cbN^u`0d`@GYo49q5 zeu#YdK+Q{{f%HnFLK)J3-@)#W2@Nodfvm 3M&)LyK zY-|Y+YUNbF&>OlR7Qi!WC1C_tp;mtnpX-{I@9v1B%I#%T7Z#(QenBbiN2~0*h@+2h zWXA$f8rCMh;;x$ySM^p)XNGN~SYc-<3+P8XWUP5sfDazt4n}~K`F82;2Q`*%SMiR~ z*4=)HSij=+P7yGDgfM-n<$hDwjl1Pxl@mao(ssq@+y#+I$vsV7?%DZJ+Q!aecvpwJ z>@wA2sf*<|I!DkHO6u~bK&7A-cLQ!WdKOpv;yBr;9;mBoHG1n1@K!b3#fbUm({y4^ z?syWdVs`b|w$}QG`$zxroAvAfG-2uQYOkUjgM2!aFTM}u6GACHE=*B01+yI26fE4U zo$(5^A8=AaIG7(X%mY?mFo}dx<9)dCDo(1o^m!jxEj}g8RN@o5#hHd@6 jzaG z^s_Km%X>^qo%h5`;GEclX+L4edEaNnb;$=P2Egxzq7XolbI)iEabk3d@KXh3e{~vb z{y#!QC~#Ajk2cCGmAUX{S$+#T7?bIh>opXaOw0A4#{m z;EKVp_)hlbJE3M_KP|n*`tW+KJaR7{CZh-anc2vU2N9p11e!lGR#M(6FDr!(%7rnF zLL3=XW+~Q!;-UzP^08JvxL*g7ipp1G8f9}F$PiKkl0`IA{P8j{6LAu#RhT*e?CXhV zVnkKY_CfZR`mM34RiFGM|NJ8gp_K3{SP9uvui_m_ip5dzWFl%k(bjP@a46tTRBYbG z2{f(&Y|F(1;bzRCTU6z#IfnosH{7!8q{1^E;1x1nIwD?wtr6fk^I@9kve?|oR$BMi zOCV8JChYyng>=*Y76!wvSt!GxulibTaCRs|9Uhu1Z59@Ey zUF9LiCf)oq>pcSw1{>e%sm}kLWRnv^gzyND(TnAo2BVTmEm)TS^JBq(emr6g)r%2` zY%T@=jRTe#G5o@oBsAD04$VTFdC<%u hE&{ahQ)~{^N(WFIDU!Q z;n5i-8n=D9i42aPiNt4~9gVt^0 Nd<&r-JQuKH zT9{Kuh?;4JltB%m
e;-k`(p*OETI#3M(#sDo!1^-9PC-!^;?-OO6$ zPZo}&oxKKGB~V=c=3NP6&9Fq*77wHdw~)lP!(vZ9z9buDctQZy(xTlHlq&lXk#jE4 zznLfx+9<@^@*%Rh=5OhqD!P<0MPQ~UoMlYD-{&3K>*Y_>j-43*GVj^J>> o_-)9@a0$V@<@vh>WTnY z`E#V*k3CE03Ggs|EzzshG)vO(h(%7XI736xi2lYc;}e&5XhEpWCTWtt0Bj$*JT4$e zKLrI@DjL3YwR02jos*wr*`Qbb=$yI)y40un3K)+x|1KYQV|sIXV!j)C|3)mQ1bN(? zM-`eqvqzPr<8c3vi_CPx(pG#ji(S I43{ovb(1YEgBotCc+Wr@02h^x3YFw&V>_^q4vURz^1}2AfzNT}^uyLKrY462Q z{8I^%wp3WD8_x>SB>l}p!VGE}gLJ>$h@2y!!Ma9PXlx+(8M@3(x6$9rnEB0{RWTAR zH<*ZSm`)nz1FB#fWE3vZQNrn~w~AzNo&6jIH3(lyKczFcdv9TpFr(;Y?jiT$N14P_ z60_NrMhyAdLjhc-jG9(&*trG&!Ic8p6r?7pxl^ym2oZQCYRFN73Rnt)`rou6eEKvK zd4;{d`<2&XJKS#^Oe^Q|Czur#jOgu@$+! h-)9HT>V3+G3DI? $>Nc07C9eG7kKjNiB!8XQHCI$6 dxzBl$%OW2ouDvM;u0SO@{uEF|q+zkowJO<57Q2;B1ZMbS>05?PJBx zPRxToRyv43uD+b?UyUyDUH;4LmTqFRZhu&UlnunOk#_ZYSXR4+`>GIK+c{nH)uc(r zPhnMnOU$gdJmrR+2_MXB(D+HlS$Tx%;K6#;oFmQVUtq?lHldu4f;<>jXVP;m*Pg43 zGv@0Eml?+!Ogv*y>ediZKsZwlj!ky8tFhiH>7X9m ~;ZW5~hZu%lDlfZ-m{IM@!v!rljoVvIW-$JxT( zAzUWsbtAZ `f(-C%io0L2vrrLZVcmUIpo~z`P|>DJ+qk=fBlfmz$7q+VZth0p9k{eS{^urw z@kZpM5lZtKx1T+6Px!Jng}02UbIxc1ar#KY$3Py>)z?$h%hFU&@hr5wN25Lo>(^SD znRkI2K527z2lAQpu(A=JjZ7;6!l*%9MVq|V)yL?Or3&2aj0eL(Eto09wUx?X@;Jc{ zjkF|wgUV_Mz8doMbAJGNJHuVl!bu$rd;!x5{iU;77eoDatf7F51TRth }U)ZYh2N(x?Y4enNxIi{HN5jP+vfy75dvke2YqKM0+ABkF$aQS&7ohvyR0 zhj;ya_Bn0#2S5dMSa;pnviOgm2X3 W#{1& % R$>SdYpsb({s*y7f`5*W&ZgBtr literal 0 HcmV?d00001 diff --git a/public/swaggers/api-historique-vehicule.json b/public/swaggers/api-historique-vehicule.json new file mode 100644 index 000000000..b1b0240bc --- /dev/null +++ b/public/swaggers/api-historique-vehicule.json @@ -0,0 +1,868 @@ +{ + "swagger": "2.0", + "host": "localhost:81", + "basePath": "/", + "schemes": [ + "http" + ], + "info": { + "title": "Api grand publique HistoVec", + "version": "1.0.0" + }, + "tags": [], + "paths": { + "/histovec/api/v1/health": { + "get": { + "operationId": "getHistovecApiV1Health", + "tags": [ + "histovec" + ], + "responses": { + "default": { + "schema": { + "type": "string" + }, + "description": "Successful" + } + } + } + }, + "/histovec/api/v1/version": { + "get": { + "operationId": "getHistovecApiV1Version", + "tags": [ + "histovec" + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/VersionReponse" + }, + "description": "Successful" + } + } + } + }, + "/histovec/api/v1/report_by_code": { + "post": { + "operationId": "postHistovecApiV1Report_by_code", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/Report_by_code_payload" + } + } + ], + "tags": [ + "histovec" + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/ReportResponse" + }, + "description": "Successful" + } + } + } + }, + "/histovec/api/v1/report_by_data": { + "post": { + "operationId": "postHistovecApiV1Report_by_data", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/Report_by_data_payload" + } + } + ], + "tags": [ + "histovec" + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/ReportResponse" + }, + "description": "Successful" + } + } + } + } + }, + "definitions": { + "VersionReponse": { + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version du backend", + "pattern": "^\\d+\\.\\d+\\.\\d+$" + } + } + }, + "vehicule_by_code": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Code HistoVec du rapport HistoVec demandé.", + "pattern": "^(?:[A-Za-z\\d+/]{4})*(?:[A-Za-z\\d+/]{3}=|[A-Za-z\\d+/]{2}==)?-(?:[A-Za-z\\d+/]{4})*(?:[A-Za-z\\d+/]{3}=|[A-Za-z\\d+/]{2}==)?$" + } + }, + "required": [ + "code" + ] + }, + "controles_techniques_option_by_code": { + "type": "object", + "properties": { + "controles_techniques": { + "type": "boolean", + "description": "Récupérer les contrôles techniques du véhicule dans le rapport. Non par défaut." + } + } + }, + "Report_by_code_payload": { + "type": "object", + "properties": { + "vehicule": { + "$ref": "#/definitions/vehicule_by_code" + }, + "options": { + "$ref": "#/definitions/controles_techniques_option_by_code" + } + } + }, + "resp-particulier": { + "type": "object", + "properties": { + "nom_anonymise": { + "type": "string", + "description": "Rubrique C.1 : Nom (anonymisé) dans l’Etat membre d’immatriculation, à la date de délivrance du document, du titulaire du certificat d’immatriculation." + }, + "prenoms_anonymises": { + "type": "string", + "description": "Rubrique C.1 : Prénoms (anonymisés) dans l’Etat membre d’immatriculation, à la date de délivrance du document, du titulaire du certificat d’immatriculation." + }, + "code_postal": { + "type": "string", + "description": "Rubrique C.1 : Code postal de l'adresse dans l’Etat membre d’immatriculation, à la date de délivrance du document, du titulaire du certificat d’immatriculation." + } + } + }, + "resp-personne_morale": { + "type": "object", + "properties": { + "raison_sociale_anonymisee": { + "type": "string", + "description": "Rubrique C.1 : Raison sociale (anonymisée) dans l’Etat membre d’immatriculation, à la date de délivrance du document, du titulaire du certificat d’immatriculation." + }, + "siren_anonymise": { + "type": "string", + "description": "Numéro SIREN (anonymisé) présent dans KBIS de la personne morale." + }, + "code_postal": { + "type": "string", + "description": "Rubrique C.1 : Code postal de l'adresse dans l’Etat membre d’immatriculation, à la date de délivrance du document, du titulaire du certificat d’immatriculation." + } + } + }, + "resp-titulaire": { + "type": "object", + "properties": { + "particulier": { + "$ref": "#/definitions/resp-particulier" + }, + "personne_morale": { + "$ref": "#/definitions/resp-personne_morale" + } + } + }, + "resp-caracteristiques_techniques": { + "type": "object", + "properties": { + "marque": { + "type": "string", + "description": "Rubrique D.1 : Marque du véhicule." + }, + "tvv": { + "type": "string", + "description": "Rubrique D.2 : Type, variante (si disponible), version (si disponible)." + }, + "numero_cnit": { + "type": "string", + "description": "Rubrique D.2.1 : Code national d’identification du type (en cas de réception UE)." + }, + "nom_commercial": { + "type": "string", + "description": "Rubrique D.3 : Dénomination commerciale." + }, + "couleur": { + "type": "string", + "description": "Couleur du véhicule." + }, + "type_de_reception": { + "type": "string", + "description": "Type de réception (en général UE)." + }, + "vin_anonymise": { + "type": "string", + "description": "Rubrique E : Numéro d’identification du véhicule (VIN : Vehicle Identification Number) anonymisé." + }, + "ptta": { + "type": "integer", + "description": "Rubrique F.1 : Masse en charge maximale techniquement admissible (en kg), sauf pour les motocycles, plus communément appelé PT techniquement admissible pour Poids Total Techniquement Admissible.", + "minimum": 0 + }, + "ptac": { + "type": "number", + "description": "Rubrique F.2 : Masse en charge maximale admissible du véhicule en service dans l’Etat membre d’immatriculation (en kg), anciennement appelé PTAC pour Poids Total Autorisé en Charge.", + "minimum": 0 + }, + "ptra": { + "type": "integer", + "description": "Rubrique F.3 : Masse en charge maximale admissible de l’ensemble en service dans l’Etat membre d’immatriculation (en kg), plus communément appelé PTRA pour Poids Total Roulant Autorisé.", + "minimum": 0 + }, + "ptes": { + "type": "integer", + "description": "Rubrique G : Masse du véhicule en service avec carrosserie et dispositif d’attelage en cas de véhicule tracteur de catégorie autre que M1, plus communément appelé PT service pour Poids Total en Service.", + "minimum": 0 + }, + "ptav": { + "type": "integer", + "description": "Rubrique G.1 : Poids à vide national, plus communément appelé PTAV pour Poids Total A Vide.", + "minimum": 0 + }, + "date_emission": { + "type": "string", + "format": "date", + "description": "Rubrique I : Date de l’immatriculation à laquelle se réfère le présent certificat." + }, + "categorie_ue": { + "type": "string", + "description": "Rubrique J : Catégorie du véhicule (UE)." + }, + "genre_national": { + "type": "string", + "description": "Rubrique J.1 : Genre national." + }, + "carrosserie_ue": { + "type": "string", + "description": "Rubrique J.2 : Carrosserie (UE)." + }, + "carrosserie_fr": { + "type": "string", + "description": "Rubrique J.3 : Carrosserie (désignation nationale)." + }, + "numero_de_reception": { + "type": "string", + "description": "Rubrique K : Numéro de réception par type (si disponible)." + }, + "cylindree": { + "type": "number", + "description": "Rubrique P.1 : Cylindrée (en cm3).", + "minimum": 0 + }, + "puissance_nette": { + "type": "number", + "description": "Rubrique P.2 : Puissance nette maximale (en kW) (si disponible).", + "minimum": 0 + }, + "energie": { + "type": "string", + "description": "Rubrique P.3 : Type de carburant ou source d’énergie." + }, + "puissance_cv": { + "type": "integer", + "description": "Rubrique P.6 : Puissance administrative nationale (chevaux fiscaux).", + "minimum": 0 + }, + "rapport_puissance_masse": { + "type": "number", + "description": "Rubrique Q : Rapport puissance / masse en kW/kg (uniquement pour les motocycles).", + "minimum": 0 + }, + "places_assises": { + "type": "integer", + "description": "Rubrique S.1 : Nombre de places assises dans le véhicule.", + "minimum": 0 + }, + "places_debout": { + "type": "integer", + "description": "Rubrique S.2 : Nombre de places debout dans le véhicule.", + "minimum": 0 + }, + "niveau_sonore": { + "type": "integer", + "description": "Rubrique U.1 : Niveau sonore à l’arrêt [en dB(A)].", + "minimum": 0 + }, + "vitesse_du_moteur": { + "type": "integer", + "description": "Rubrique U.2 : Vitesse du moteur (en min-1).", + "minimum": 0 + }, + "emission_co2": { + "type": "integer", + "description": "Rubrique V.7 : Emission de CO2 (en g/km).", + "minimum": 0 + }, + "classe_environnementale_ue": { + "type": "string", + "description": "Rubrique V.9 : Indication de la classe environnementale de réception UE : mention de la version applicable en vertu de la directive 70/220/CEE ou de la directive 88/77/CEE." + } + } + }, + "resp-etat_certificat_immatriculation": { + "type": "object", + "properties": { + "duplicata": { + "type": "boolean", + "description": "Un duplicata a été émis pour ce certificat d'immatriculation." + }, + "annule": { + "type": "boolean", + "description": "Le certificat d'immatriculation est annulé." + }, + "perdu": { + "type": "boolean", + "description": "Le certificat d'immatriculation a été perdu." + }, + "vole": { + "type": "boolean", + "description": "Le certificat d'immatriculation a été volé." + } + } + }, + "resp-certificat_immatriculation": { + "type": "object", + "properties": { + "date_premiere_immatriculation": { + "type": "string", + "format": "date", + "description": "Rubrique B : Date de la première immatriculation du véhicule." + }, + "nombre_de_mois_depuis_date_emission_certificat_immatriculation": { + "type": "integer", + "description": "Nombre de mois depuis la date d'émission du certificat d'immatriculation en cours de validité.", + "minimum": 0 + }, + "numero_immatriculation_anonymisee": { + "type": "string", + "description": "Rubrique A : Numéro d'immatriculation (anonymisé)." + }, + "titulaire": { + "$ref": "#/definitions/resp-titulaire" + }, + "caracteristiques_techniques": { + "$ref": "#/definitions/resp-caracteristiques_techniques" + }, + "etat": { + "$ref": "#/definitions/resp-etat_certificat_immatriculation" + } + } + }, + "resp-procedures_ve": { + "type": "object", + "properties": { + "numero_immatriculation_au_format_fni": { + "type": "boolean", + "description": "Le véhicule possède encore un numéro d'immatriculation au format FNI." + }, + "date_derniere_procedure_ve": { + "type": "string", + "format": "date", + "description": "Date de la dernière procédure VE du véhicule." + }, + "date_fin_derniere_procedure_ve": { + "type": "string", + "format": "date", + "description": "Date de fin de la dernière procédure VE du véhicule." + }, + "apte_a_circuler": { + "type": "boolean", + "description": "Le véhicule est apte à circuler." + }, + "nombre_de_procedures_ve": { + "type": "integer", + "description": "Nombre de procédure(s) VE en cours.", + "minimum": 0 + }, + "procedure_ve_en_cours": { + "type": "boolean", + "description": "Le véhicule a au moins une Procédure VE en cours." + } + } + }, + "resp-etat": { + "type": "object", + "properties": { + "nombre_de_titulaires": { + "type": "integer", + "description": "Nombre de titulaire(s) depuis la date de 1ère immatriculation en France du véhicule (titulaire actuel compris). Seules les immatriculations en France sont comptabilisées.", + "minimum": 0 + }, + "vignette_critair": { + "type": "string", + "description": "Numéro de la vignette Critair.", + "enum": [ + "1", + "2", + "3", + "4", + "5", + "ELECTRIQUE", + "NON_CLASSE" + ] + }, + "vole": { + "type": "boolean", + "description": "Le véhicule a été volé." + }, + "procedures_ve": { + "$ref": "#/definitions/resp-procedures_ve" + } + } + }, + "resp-element_historique_vehicule": { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date", + "description": "Date de l'opération." + }, + "date_annulation": { + "type": "string", + "format": "date", + "description": "Présent lors d'une opération annulant une précédente opération de l'historique. Date de l'annulation de l'opération précédente." + }, + "type": { + "type": "string", + "description": "Type de l'opération." + }, + "numero_agrement_expert": { + "type": "string", + "description": "Numéro d'agrément de l'expert (si l'opération a nécessité la venue d'un expert)." + } + } + }, + "resp-historique_vehicule": { + "type": "array", + "description": "Historique des opérations du véhicule.", + "items": { + "$ref": "#/definitions/resp-element_historique_vehicule" + } + }, + "resp-import_en_france": { + "type": "object", + "properties": { + "vehicule_importe_depuis_etranger": { + "type": "boolean", + "description": "Véhicule ayant déjà roulé à l'étranger avant." + }, + "date_import": { + "type": "string", + "format": "date", + "description": "Date d'import en France, que le véhicule soit neuf ou importé depuis l'étranger." + }, + "date_premiere_immatriculation_etranger": { + "type": "string", + "format": "date", + "description": "Date de première immatriculation à l'étranger, avant d'arriver en France." + } + } + }, + "resp-suspension": { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date", + "description": "Date de la suspension du véhicule." + }, + "motif": { + "type": "string", + "description": "Motif de la suspension du véhicule." + }, + "remise_du_titre": { + "type": "boolean", + "description": "Remise du certificat d'immatriculation aux forces de l'ordre." + }, + "retrait_du_titre": { + "type": "boolean", + "description": "Retrait de l'autorisation de circuler du véhicule." + } + } + }, + "resp-suspensions": { + "type": "array", + "description": "Liste des suspensions en cours sur le véhicule.", + "items": { + "$ref": "#/definitions/resp-suspension" + } + }, + "resp-declaration_valant_saisie": { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date", + "description": "Date de la déclaration valant saisie du véhicule." + }, + "nom_personne_morale": { + "type": "string", + "description": "Nom de la personne morale ayant effectué la déclaration valant saisie du véhicule." + } + } + }, + "resp-declarations_valant_saisie": { + "type": "array", + "description": "Liste des déclarations valant saisie en cours sur le véhicule.", + "items": { + "$ref": "#/definitions/resp-declaration_valant_saisie" + } + }, + "resp-gage": { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date", + "description": "Date du gage du véhicule." + }, + "nom_creancier": { + "type": "string", + "description": "Nom du créancier du gage du véhicule." + } + } + }, + "resp-gages": { + "type": "array", + "description": "Liste des gages en cours sur le véhicule.", + "items": { + "$ref": "#/definitions/resp-gage" + } + }, + "resp-ove": { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date", + "description": "Date de l'OVE du véhicule." + } + } + }, + "resp-oves": { + "type": "array", + "description": "Liste des oppositions en cours dues à un Véhicule Endommagé.", + "items": { + "$ref": "#/definitions/resp-ove" + } + }, + "resp-ovei": { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date", + "description": "Date de l'OVEI du véhicule." + } + } + }, + "resp-oveis": { + "type": "array", + "description": "Liste des oppositions en cours dues à un véhicule économiquement irréparable.", + "items": { + "$ref": "#/definitions/resp-ovei" + } + }, + "resp-otci": { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date", + "description": "Date de l'OTCI du véhicule." + } + } + }, + "resp-otcis": { + "type": "array", + "description": "Liste des oppositions au transfert du certificat d'immatriculation en cours.", + "items": { + "$ref": "#/definitions/resp-otci" + } + }, + "resp-otci_pv": { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date", + "description": "Date de l'OTCI PV du véhicule." + } + } + }, + "resp-otcis_pv": { + "type": "array", + "description": "Liste des oppositions au transfert du certificat d'immatriculation en cours dues à un PV non payé.", + "items": { + "$ref": "#/definitions/resp-otci_pv" + } + }, + "resp-opposition": { + "type": "object", + "properties": { + "oves": { + "$ref": "#/definitions/resp-oves" + }, + "oveis": { + "$ref": "#/definitions/resp-oveis" + }, + "otcis": { + "$ref": "#/definitions/resp-otcis" + }, + "otcis_pv": { + "$ref": "#/definitions/resp-otcis_pv" + } + } + }, + "situation_administrative": { + "type": "object", + "description": "Liste des anomalies en cours sur le véhicule.", + "properties": { + "suspensions": { + "$ref": "#/definitions/resp-suspensions" + }, + "declarations_valant_saisie": { + "$ref": "#/definitions/resp-declarations_valant_saisie" + }, + "gages": { + "$ref": "#/definitions/resp-gages" + }, + "opposition": { + "$ref": "#/definitions/resp-opposition" + } + } + }, + "resp-vehicule": { + "type": "object", + "properties": { + "date_mise_a_jour": { + "type": "string", + "format": "date", + "description": "Date de mise à jour de la donnée du rapport HistoVec." + }, + "certificat_immatriculation": { + "$ref": "#/definitions/resp-certificat_immatriculation" + }, + "etat": { + "$ref": "#/definitions/resp-etat" + }, + "historique": { + "$ref": "#/definitions/resp-historique_vehicule" + }, + "import_en_france": { + "$ref": "#/definitions/resp-import_en_france" + }, + "situation_administrative": { + "$ref": "#/definitions/situation_administrative" + } + } + }, + "resp-element_historique_controles_techniques": { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date", + "description": "Date du contrôle technique." + }, + "nature": { + "type": "string", + "description": "Code représentant la nature du contrôle technique (pour plus de détail, voir le champ \"nature_libelle\").", + "enum": [ + "VTP", + "VTC", + "CV", + "CVC" + ] + }, + "nature_libelle": { + "type": "string", + "description": "Descriptif textuel de la nature du contrôle technique." + }, + "resultat": { + "type": "string", + "description": "Code représentant le résultat du contrôle technique (pour plus de détail, voir le champ \"resultat_libelle\").", + "enum": [ + "A", + "AP", + "S", + "SP", + "R", + "RP", + "X" + ] + }, + "resultat_libelle": { + "type": "string", + "description": "Interprétation textuelle du résultat (dépend de la date du contrôle technique)." + }, + "km": { + "type": "integer", + "description": "Relevé du kilométrage à la date du contrôle technique.", + "minimum": 0 + } + } + }, + "resp-historique_controles_techniques": { + "type": "array", + "items": { + "$ref": "#/definitions/resp-element_historique_controles_techniques" + } + }, + "resp-controles_techniques": { + "type": "object", + "properties": { + "historique": { + "$ref": "#/definitions/resp-historique_controles_techniques" + }, + "date_mise_a_jour": { + "type": "string", + "format": "date", + "description": "Date de mise à jour de la donnée des contrôles techniques." + } + } + }, + "ReportResponse": { + "type": "object", + "properties": { + "vehicule": { + "$ref": "#/definitions/resp-vehicule" + }, + "controles_techniques": { + "$ref": "#/definitions/resp-controles_techniques" + } + } + }, + "prenoms": { + "type": "array", + "description": "Prénoms tels que renseignés sur le certificat d'immatriculation. Renseigner un prénom par élément de liste.", + "items": { + "type": "string", + "x-convert": { + "trim": true + } + } + }, + "particulier": { + "type": "object", + "description": "Remplir cette partie UNIQUEMENT si le véhicule appartient à un particulier.", + "properties": { + "nom": { + "type": "string", + "description": "Nom tel que renseigné sur le certificat d'immatriculation.", + "x-convert": { + "trim": true + } + }, + "prenoms": { + "$ref": "#/definitions/prenoms" + } + } + }, + "personne_morale": { + "type": "object", + "description": "Remplir cette partie UNIQUEMENT si le véhicule appartient à une personne morale.", + "properties": { + "raison_sociale": { + "type": "string", + "description": "Raison sociale telle que renseignée sur le certificat d'immatriculation.", + "x-convert": { + "trim": true + } + }, + "siren": { + "type": "string", + "description": "Numéro de SIREN tel que renseigné sur le KBIS de l'entreprise. Si vous êtes une personne morale sans SIREN, ne le remplissez pas.", + "default": "000000000", + "pattern": "^\\d{9}$" + } + } + }, + "titulaire": { + "type": "object", + "properties": { + "particulier": { + "$ref": "#/definitions/particulier" + }, + "personne_morale": { + "$ref": "#/definitions/personne_morale" + } + } + }, + "certificat_immatriculation": { + "type": "object", + "properties": { + "titulaire": { + "$ref": "#/definitions/titulaire" + }, + "numero_immatriculation": { + "type": "string", + "description": "Numéro d'immatriculation tel que renseigné sur le certificat d'immatriculation.", + "pattern": "^\\s*[0-9]{2,4}(-|\\s+)?[a-zA-Z]{2,3}(-|\\s+)?([0-9]{2,3}|2A|2B)\\s*$|^[a-zA-Z]{1,2}(-|\\s+)?[0-9]{2,3}(-|\\s+)?[a-zA-Z]{1,2}$" + }, + "numero_formule": { + "type": "string", + "description": "Numéro de formule tel que renseigné sur le certificat d'immatriculation. Remplir UNIQUEMENT si le véhicule possède un numéro d'immatriculation au format SIV.", + "pattern": "^(\\d{2,4}[a-zA-Z]{2}\\d{5})$" + }, + "date_emission_certificat_immatriculation": { + "type": "string", + "format": "date", + "description": "Date d'émission du certificat d'immatriculation telle que renseignée sur le certificat d'immatriculation. Remplir UNIQUEMENT si le véhicule possède un numéro d'immatriculation au format FNI." + } + }, + "required": [ + "numero_immatriculation" + ] + }, + "vehicule_by_data": { + "type": "object", + "properties": { + "certificat_immatriculation": { + "$ref": "#/definitions/certificat_immatriculation" + } + } + }, + "controles_techniques_option_by_data": { + "type": "object", + "properties": { + "controles_techniques": { + "type": "boolean", + "description": "Récupérer les contrôles techniques du véhicule dans le rapport HistoVec. Désactivé par défaut." + } + } + }, + "Report_by_data_payload": { + "type": "object", + "properties": { + "vehicule": { + "$ref": "#/definitions/vehicule_by_data" + }, + "options": { + "$ref": "#/definitions/controles_techniques_option_by_data" + } + } + } + } +} \ No newline at end of file From 3f65e53fab0ded05b2dbde88a01bb4b4e5d6e3b8 Mon Sep 17 00:00:00 2001 From: etienne0101 <79003454+etienne0101@users.noreply.github.com> Date: Fri, 3 Dec 2021 10:23:23 +0100 Subject: [PATCH 2/2] update histovec access --- _data/api/api-historique-vehicule.md | 31 ++-------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/_data/api/api-historique-vehicule.md b/_data/api/api-historique-vehicule.md index c71ec8ca8..9fcc0d445 100644 --- a/_data/api/api-historique-vehicule.md +++ b/_data/api/api-historique-vehicule.md @@ -2,33 +2,7 @@ title: API Historique d'un véhicule (HistoVec) tagline: Permettre aux vendeurs et loueurs de véhicules de partager l'historique d'un véhicule. external_site: https://histovec.interieur.gouv.fr/histovec/ -is_open: -1 # -1 means API not open -#datapass_link: -access_page: - - who: - - Un particulier - is_eligible: -1 - description: | - Les particuliers peuvent accéder à l'historique de leur véhicule à partir du service en ligne proposé sur le site HistoVec. - - - - who: - - Une entreprise - is_eligible: 0 - description: | - Les entreprises et plateformes de vente ou de location de véhicules peuvent utiliser l'API Histovec. Les titulaires du véhicule doivent renseigner un identifiant, récupéré sur le portail HistoVec afin de permettre à l'API de renvoyer l'historique du Véhicule. - - - - - who: - - Une plateforme de vente ou location de véhicules entre particuliers - is_eligible: 1 - description: | - Les entreprises et plateformes de vente ou de location de véhicules peuvent utiliser l'API Histovec. Les titulaires du véhicule doivent renseigner un identifiant, récupéré sur le portail HistoVec afin de permettre à l'API de renvoyer l'historique du Véhicule. - - - -#partners: +is_open: 1 producer: ministere-interieur keywords: - Vehicule @@ -45,8 +19,7 @@ keywords: themes: - Particulier - Entreprise -#uptime: -#contact_link: +contact_link: contact-api-histovec@interieur.gouv.fr doc_tech_link: /swaggers/api-historique-vehicule.json last_update: 27/09/2021 ---