Authentification
Pour utiliser cette api, vous devez nous contacter à
contact@immosquare.com. Après vérification nous vous fournirons une clé et un token pour vous connecter à l'api. Il vous suffira ensuite d'appeler l'api avec vos identifiants et de les envoyer dans le header de la requête REST.
POST /path
Content-Type: application/json
apiKey: xz1232xzd213213er213213dczxcc3loizxzs12dczx
apiToken: xz1287xzdwer213213dczxcas12dczx
GET /path
apiKey: xz1232xzd213213er213213dczxcc3loizxzs12dczx
apiToken: xz1287xzdwer213213dczxcas12dczx
Erreurs
agconnect utilise des codes conventionnels de réponse HTTP pour indiquer le succès ou l'échec d'une requêtes API.
En général, les codes débutant par 2xx indiquent un succès, les codes débutant par 4xx indiquent une error qui résulte des informations fournies lors de l'appel ( par exemple : un paramètre est manquant,... ), et les codes débutant par 5xx indiquent une erreur interne sur notre serveur.
HTTP Statut |
Code Description |
200 - OK |
Succès de la requête. |
400 - Bad Request |
Paramètres manquants, mauvais type envoyé,... |
401 - Unauthorized |
API Key/token invalide |
402 - Request Failed |
Paramètres ok mais la requête a échoué |
404 - Not Found |
Cette requête n'existe pas |
429 - Too Many Requests |
Trop de requête |
500, 502, 503, 504 - Server Errors |
Erreur interne |
Versions
-10/03/2021 : Version 1.5 - Ajout de routes pour les VPC et assemblées de type VPC
-15/01/2021 : Version 1.3 - Ajout Belgique + date de validation des vpc + heure d'ouverture et fermeture de l'assemblée
-10/11/2020 : Version 1.2
-30/06/2020 : Version 1.1
-22/06/2020 : Version 1.0
Urls API
production europe : https://ag-connect.fr
staging europe : https://staging.ag-connect.fr
production canada : https://ag-connect.ca
staging canada : https://staging.ag-connect.ca
Objets
Statut de l'assemblée
Nom |
Description |
inpreparation |
Assemblée en préparation |
validated |
Assemblée validée |
convocked |
Assemblée convoquée |
opening |
Assemblée ouverte |
ongoing |
Assemblée en cours |
completed |
Assemblée cloturée |
Type d'assemblée
Nom |
Description |
standard |
Assemblée classique |
vpc |
Assemblée uniquement en vote par correspondance |
council |
Conseils syndicaux et d'administrations |
Type entité juridique
Nom |
Description |
syndic_ca |
Canada : Syndic |
association_ca |
Canada : Association |
company_ca |
Canada : Entreprise |
syndic_fr |
France : Syndic |
association_fr |
France : Association |
company_fr |
France : Entreprise |
asl_fr |
France : ASL |
aful_fr |
France : AFUL |
rie_fr |
France : RIE |
syndic_lu |
Luxembourg : Syndic |
syndic_be |
Belgique : Syndic |
Type de majorité
Nom |
Description |
type_majority_1 |
Canada (copro) - Majorité absolue(1096) |
type_majority_2 |
Canada (copro) - Majorité renforcée(1097) |
type_majority_3 |
Canada (copro) - Double Majorité(1098,1102) |
type_majority_4 |
Canada (copro) - Majorité simple(rattrapage) |
type_majority_5 |
Canada (copro) - Unanimité |
type_majority_6 |
France (copro) - Majorité simple(24) |
type_majority_7 |
France (copro) - Majorité Absolue(25-1) |
type_majority_8 |
France (copro) - Double majorité(26-1) |
type_majority_9 |
France (copro) - Unanimité |
type_majority_10 |
France (association & Entreprise) - Majorité simple (OUI > NON) |
type_majority_11 |
France (association & Entreprise) - Majorité simple (OUI > 50% présents) |
type_majority_12 |
France (association & Entreprise) - Majorité Absolue |
type_majority_13 |
France (association & Entreprise) - Majorité qualifée (OUI > 75% présents) |
type_majority_14 |
France (association & Entreprise) - Majorité qualifée (OUI > 75% clé de vote) |
type_majority_15 |
France (copro) - Majorité Absolue(25) sans revote |
type_majority_16 |
France (copro) - Double majorité(26) sans revote |
type_majority_17 |
Luxembourg (copro) - Majorité simple(15) (OUI > NON) |
type_majority_18 |
Luxembourg (copro) - Majorité Absolue(16) > 50% de l'ensemble de la clé de vote |
type_majority_19 |
Luxembourg (copro) - Double majorité(17) >= 75% de l'ensemble de la clé de vote et +50% des copros |
type_majority_20 |
Luxembourg (copro) - Unanimité |
type_majority_21 |
Belgique (copro) - Majorité absolue (50 % + 1) |
type_majority_22 |
Belgique (copro) - Majorité qualifiée des quatre cinquièmes (80 %) |
type_majority_23 |
Belgique (copro) - Majorité qualifiée des deux tiers |
type_majority_24 |
Belgique (copro) - Unanimité (100 %) |
type_majority_25 |
Canada (Companie & Entreprise) - Majorité simple (OUI > 50% présents) |
type_majority_26 |
Canada (Companie & Entreprise) - Majorité absolue (OUI > 50% de la clé de vote) |
type_majority_27 |
Canada (Companie & Entreprise) - Majorité des deux tiers des présents |
type_majority_28 |
Allemagne (copro) - Majorité simple + de 50 % des parties présentes |
type_majority_29 |
Allemagne (copro) - Majorité qualifiée + de 75% des parties présentes |
type_majority_30 |
Allemagne (copro) - Majorité absolue (100% des parties présentes) |
type_majority_31 |
France (ASL) - 2/3 des voix de tous les membres |
type_majority_32 |
France (ASL) - unanimité des membres |
type_majority_33 |
France (ASL) - majorité absolue |
type_majority_34 |
France (ASL) - double majorité |
type_majority_35 |
France (ASL) - 2/3 des présents et représentés |
type_majority_36 |
France (ASL) - 3/4 des voix de tous les membres |
type_majority_37 |
France (ASL) - Majorité absolue Immeuble |
type_majority_38 |
France (ASL) - Double maj, moitié en nombre + 2/3 des voix de tous les membres |
type_majority_39 |
France (ASL) - Double maj (2e Conv), moitié en nombre + 2/3 des voix de tous les membres |
type_majority_40 |
France (ASL) - Double maj, 2/3 des membres et 2/3 des voix |
type_majority_41 |
France (ASL) - 3/4 des présents et représentés |
type_majority_42 |
France (RIE) - Majorité des voix des membres présents et représentés |
type_majority_43 |
France (RIE) - Majorité absolue |
type_majority_44 |
France (RIE) - Double majorité |
type_majority_45 |
France (RIE) - Vote propriétaire |
type_majority_46 |
France (RIE) - Unanimité |
type_majority_47 |
France (ASL) - Majorité des voix des membres présents et représentés |
type_majority_48 |
France (AFUL) - 2/3 des voix de tous les membres |
type_majority_49 |
France (AFUL) - unanimité des membres |
type_majority_50 |
France (AFUL) - majorité absolue |
type_majority_51 |
France (AFUL) - double majorité |
type_majority_52 |
France (AFUL) - 2/3 des présents et représentés |
type_majority_53 |
France (AFUL) - 3/4 des voix de tous les membres |
type_majority_54 |
France (AFUL) - Majorité absolue Immeuble |
type_majority_55 |
France (AFUL) - Double maj, moitié en nombre + 2/3 des voix de tous les membres |
type_majority_56 |
France (AFUL) - Double maj (2e Conv), moitié en nombre + 2/3 des voix de tous les membres |
type_majority_57 |
France (AFUL) - Double maj, 2/3 des membres et 2/3 des voix |
type_majority_58 |
France (AFUL) - 3/4 des présents et représentés |
type_majority_59 |
France (AFUL) - Majorité des voix des membres présents et représentés |
Type de participation
Nom |
Description |
physically_present |
Présents physiquement |
remotely_present |
Présents à distance |
anticipation_vote |
Vote par correspondance |
procuration_vote |
Vote par procuration |
Type de convocation
Nom |
Description |
internal |
Participants ayant droit de vote |
external |
Participants n'ayant pas de droit de vote |
Statut de la procuration
Nom |
Description |
-1 |
En attente |
0 |
Aucun statut |
1 |
Procuration acceptée |
Type de choix de vote
Nom |
Description |
classic |
Vote par oui/non/abstention |
custom |
Vote par choix multiples |
Clean Datas Categories
Nom |
Description |
present |
Calcul sur les présents |
absent |
Calcul sur les absents |
assembly |
Calcul sur l'assemblée |
present_on_assembly |
Calcul sur les présents par rapport à l'assemblée |
absent_on_assembly |
Calcul sur les absents par rapport à l'assemblée |
no_vote |
Calcul sur les ne vote pas
|
no_vote_on_present |
Calcul sur les ne vote pas par rapport aux présents |
no_vote_on_assembly |
Calcul sur les ne vote pas par rapport à l'assemblée |
newsless |
Calcul sur les sans nouvelles
|
newsless_on_present |
Calcul sur les sans nouvelles par rapport aux présents |
newsless_on_assembly |
Calcul sur les sans nouvelles par rapport à l'assemblée |
yes |
Calcul sur les oui
|
yes_on_present |
Calcul sur les oui par rapport aux présents |
yes_on_assembly |
Calcul sur les oui par rapport à l'assemblée |
no |
Calcul sur les non
|
no_on_present |
Calcul sur les non par rapport aux présents |
no_on_assembly |
Calcul sur les non par rapport à l'assemblée |
abstention |
Calcul sur les abstention
|
abstention_on_present |
Calcul sur les abstention par rapport aux présents |
abstention_on_assembly |
Calcul sur les abstention par rapport à l'assemblée |
Timezone
Pris en charge |
Australia/Adelaide |
Australia/Broken_Hill |
America/Anchorage |
America/Juneau |
America/Nome |
America/Yakutat |
Pacific/Gambier |
Asia/Almaty |
Europe/Amsterdam |
Europe/Athens |
America/Anguilla |
America/Antigua |
America/Argentina/San_Luis |
America/Aruba |
America/Asuncion |
America/Barbados |
America/Blanc-Sablon |
America/Boa_Vista |
America/Campo_Grande |
America/Cuiaba |
America/Curacao |
America/Dominica |
America/Eirunepe |
America/Glace_Bay |
America/Goose_Bay |
America/Grenada |
America/Guadeloupe |
America/Guyana |
America/Halifax |
America/Manaus |
America/Marigot |
America/Martinique |
America/Moncton |
America/Montserrat |
America/Porto_Velho |
America/PortofSpain |
America/Puerto_Rico |
America/Rio_Branco |
America/Santo_Domingo |
America/St_Barthelemy |
America/St_Kitts |
America/St_Lucia |
America/St_Thomas |
America/St_Vincent |
America/Thule |
America/Tortola |
Antarctica/Palmer |
Atlantic/Bermuda |
Atlantic/Stanley |
Antarctica/McMurdo |
Antarctica/South_Pole |
Pacific/Auckland |
Pacific/Funafuti |
Pacific/Kwajalein |
Pacific/Majuro |
Pacific/Nauru |
Pacific/Tarawa |
Pacific/Wake |
Pacific/Wallis |
Atlantic/Azores |
Asia/Baghdad |
Asia/Baku |
Asia/Dubai |
Indian/Mahe |
Indian/Mauritius |
Indian/Reunion |
Asia/Bangkok |
Europe/Belgrade |
Europe/Berlin |
America/Bogota |
Europe/Bratislava |
Australia/Brisbane |
Europe/Brussels |
Europe/Bucharest |
Europe/Budapest |
America/Araguaina |
America/Argentina/Buenos_Aires |
America/Argentina/Catamarca |
America/Argentina/Cordoba |
America/Argentina/Jujuy |
America/Argentina/La_Rioja |
America/Argentina/Mendoza |
America/Argentina/Rio_Gallegos |
America/Argentina/Salta |
America/Argentina/San_Juan |
America/Argentina/Tucuman |
America/Argentina/Ushuaia |
America/Bahia |
America/Belem |
America/Cayenne |
America/Fortaleza |
America/Godthab |
America/Maceio |
America/Miquelon |
America/Montevideo |
America/Paramaribo |
America/Recife |
America/Santarem |
America/Sao_Paulo |
Antarctica/Rothera |
Africa/Blantyre |
Africa/Bujumbura |
Africa/Cairo |
Africa/Gaborone |
Africa/Johannesburg |
Africa/Kigali |
Africa/Lubumbashi |
Africa/Lusaka |
Africa/Maputo |
Africa/Maseru |
Africa/Mbabane |
Africa/Tripoli |
Asia/Amman |
Asia/Beirut |
Asia/Damascus |
Asia/Gaza |
Asia/Nicosia |
Europe/Chisinau |
Europe/Kaliningrad |
Europe/Kiev |
Europe/Mariehamn |
Europe/Simferopol |
Europe/Uzhgorod |
Europe/Zaporozhye |
America/Scoresbysund |
Atlantic/Cape_Verde |
America/Caracas |
Africa/Casablanca |
America/Belize |
America/Cancun |
America/Chicago |
America/Costa_Rica |
America/El_Salvador |
America/Guatemala |
America/Indiana/Knox |
America/Indiana/Tell_City |
America/Managua |
America/Matamoros |
America/Menominee |
America/Merida |
America/North_Dakota/Center |
America/NorthDakota/NewSalem |
America/Rainy_River |
America/Rankin_Inlet |
America/Regina |
America/Swift_Current |
America/Tegucigalpa |
America/Winnipeg |
Pacific/Easter |
Pacific/Galapagos |
America/Chihuahua |
Asia/Chongqing |
Europe/Copenhagen |
Australia/Darwin |
Antarctica/Mawson |
Asia/Bishkek |
Asia/Dhaka |
Asia/Karachi |
Asia/Novokuznetsk |
Asia/Omsk |
Asia/Qyzylorda |
Asia/Thimphu |
Indian/Chagos |
Europe/Dublin |
America/Atikokan |
America/Cayman |
America/Detroit |
America/Grand_Turk |
America/Guayaquil |
America/Havana |
America/Indiana/Indianapolis |
America/Indiana/Marengo |
America/Indiana/Petersburg |
America/Indiana/Vevay |
America/Indiana/Vincennes |
America/Indiana/Winamac |
America/Iqaluit |
America/Jamaica |
America/Kentucky/Louisville |
America/Kentucky/Monticello |
America/Montreal |
America/Nassau |
America/New_York |
America/Nipigon |
America/Panama |
America/Pangnirtung |
America/Port-au-Prince |
America/Resolute |
America/Thunder_Bay |
America/Toronto |
Pacific/Fiji |
Pacific/Guam |
Africa/Harare |
America/Adak |
Pacific/Fakaofo |
Pacific/Honolulu |
Pacific/Johnston |
Pacific/Rarotonga |
Pacific/Tahiti |
Europe/Helsinki |
Australia/Hobart |
Antarctica/Casey |
Asia/Brunei |
Asia/Choibalsan |
Asia/Harbin |
Asia/Hong_Kong |
Asia/Kashgar |
Asia/Kuching |
Asia/Macau |
Asia/Makassar |
Asia/Manila |
Asia/Shanghai |
Asia/Ulaanbaatar |
Asia/Irkutsk |
Europe/Istanbul |
Antarctica/Davis |
Asia/Hovd |
Asia/HoChiMinh |
Asia/Jakarta |
Asia/Phnom_Penh |
Asia/Pontianak |
Asia/Vientiane |
Indian/Christmas |
Asia/Jerusalem |
Asia/Kabul |
Asia/Kamchatka |
Asia/Aqtau |
Asia/Aqtobe |
Asia/Ashgabat |
Asia/Dushanbe |
Asia/Oral |
Asia/Samarkand |
Asia/Yekaterinburg |
Indian/Kerguelen |
Indian/Maldives |
Asia/Kathmandu |
Asia/Kolkata |
Asia/Krasnoyarsk |
Asia/Kuala_Lumpur |
Asia/Kuwait |
America/La_Paz |
America/Lima |
Europe/Lisbon |
Europe/Ljubljana |
Africa/Abidjan |
Africa/Accra |
Africa/Bamako |
Africa/Banjul |
Africa/Bissau |
Africa/Conakry |
Africa/Dakar |
Africa/El_Aaiun |
Africa/Freetown |
Africa/Lome |
Africa/Nouakchott |
Africa/Ouagadougou |
Africa/Sao_Tome |
America/Danmarkshavn |
Antarctica/Vostok |
Atlantic/Canary |
Atlantic/Faroe |
Atlantic/Madeira |
Atlantic/Reykjavik |
Atlantic/St_Helena |
Europe/Guernsey |
Europe/IsleofMan |
Europe/Jersey |
Europe/London |
Europe/Madrid |
Asia/Magadan |
America/Mazatlan |
Australia/Melbourne |
America/Mexico_City |
America/Noronha |
Atlantic/South_Georgia |
Europe/Minsk |
Africa/Monrovia |
America/Monterrey |
Africa/Addis_Ababa |
Africa/Asmara |
Africa/DaresSalaam |
Africa/Djibouti |
Africa/Kampala |
Africa/Khartoum |
Africa/Mogadishu |
Antarctica/Syowa |
Asia/Aden |
Asia/Bahrain |
Asia/Qatar |
Europe/Moscow |
Europe/Samara |
Indian/Antananarivo |
Indian/Comoro |
Indian/Mayotte |
America/Boise |
America/Cambridge_Bay |
America/Dawson_Creek |
America/Denver |
America/Edmonton |
America/Hermosillo |
America/Inuvik |
America/Ojinaga |
America/Phoenix |
America/Shiprock |
America/Yellowknife |
Asia/Colombo |
Asia/Muscat |
Africa/Nairobi |
America/St_Johns |
Asia/Novosibirsk |
Pacific/Enderbury |
Pacific/Tongatapu |
America/Dawson |
America/Los_Angeles |
America/Santa_Isabel |
America/Vancouver |
America/Whitehorse |
Pacific/Pitcairn |
Africa/Algiers |
Africa/Bangui |
Africa/Brazzaville |
Africa/Ceuta |
Africa/Douala |
Africa/Kinshasa |
Africa/Lagos |
Africa/Libreville |
Africa/Luanda |
Africa/Malabo |
Africa/Ndjamena |
Africa/Niamey |
Africa/Porto-Novo |
Africa/Tunis |
Africa/Windhoek |
Arctic/Longyearbyen |
Europe/Andorra |
Europe/Gibraltar |
Europe/Luxembourg |
Europe/Malta |
Europe/Monaco |
Europe/Oslo |
Europe/Paris |
Europe/Podgorica |
Europe/San_Marino |
Europe/Tirane |
Europe/Vaduz |
Europe/Vatican |
Europe/Zurich |
Australia/Perth |
Pacific/Port_Moresby |
Europe/Prague |
Asia/Rangoon |
Indian/Cocos |
Europe/Riga |
Asia/Riyadh |
Europe/Rome |
Pacific/Apia |
Pacific/Midway |
Pacific/Niue |
Pacific/Pago_Pago |
America/Santiago |
Europe/Sarajevo |
Asia/Seoul |
Asia/Singapore |
Europe/Skopje |
Europe/Sofia |
Asia/Anadyr |
Pacific/Efate |
Pacific/Guadalcanal |
Pacific/Kosrae |
Pacific/Noumea |
Pacific/Ponape |
Europe/Stockholm |
Antarctica/DumontDUrville |
Asia/Sakhalin |
Australia/Currie |
Australia/Lindeman |
Australia/Sydney |
Pacific/Saipan |
Pacific/Truk |
Asia/Taipei |
Europe/Tallinn |
Asia/Tashkent |
Asia/Tbilisi |
Asia/Tehran |
America/Tijuana |
Asia/Dili |
Asia/Jayapura |
Asia/Pyongyang |
Asia/Tokyo |
Pacific/Palau |
Asia/Urumqi |
Europe/Vienna |
Europe/Vilnius |
Asia/Vladivostok |
Europe/Volgograd |
Europe/Warsaw |
Asia/Yakutsk |
Asia/Yerevan |
Europe/Zagreb |
Détails d'une assemblée
Cette route vous permet d'otenir le détail d'une assemblée crée pour un de vos utilisateurs. L'id vous ait fourni au retour d'une création assemblée
Vous devez renseigner useruid qui va correspondre à l'uid de l'utilisateur dans votre système ainsi que votre uidprovider, ceci nous permettra de récupérer l'assemblée sur l'utilisateur correspondant.
Si il n'est pas trouvé ou non renseigné, la récupération de l'AG sera impossible.
Call
GET {base_url}/api/v1/assembly/
QUERY Parameters
Parameter |
Type |
Description |
user_uid |
string |
Uid de l'utilisateur (ou plus exactement identifiant unique de l’agence) pour lequel vous voulez obtenir l'assemblée |
uid_provider |
string |
Uid provider (identifiant unique du partenaire qui fait appel à l’API. Cet identifiant est fourni à la création du partenariat et ne pourra plus être modifié)
|
uid_assembly |
string |
Id (identifiant unique) de l'assemblée dans votre système |
Réponse
{
"user_uid": "G78965",
"uid_provider": "crypto",
"id": "8107c7251e2144e5277d7d055f9cd00d",
"uid": "AG Test",
"date": "2020-07-02",
"time": "13:18:00",
"time_zone": "Europe/Paris",
"name": "Test france",
"assembly_status": "completed",
"opened_at": "2020-07-07T22:46:29.000+02:00",
"closed_at": "2020-07-07T23:46:33.000+02:00",
"first_vote_closed_at": "2020-07-07T22:54:29.000+02:00",
"public_note": "",
"location": "",
"vpc_closed": "2020-07-04T22:54:29.000+02:00",
"type_assembly": "standard",
"anticipation_vote_mail": "something@something.fr",
"communication_mail": "something@something.fr",
"address": {
"formatted": "",
"street_number": "",
"street_name": "",
"zipcode": "",
"locality": "",
"sublocality": "",
"latitude": null,
"longitude": null,
"administrative_area_level_1": "",
"administrative_area_level_2": "",
"country": ""
},
"entity": {
"uid": null,
"name": "Port Grimaud",
"type_entity": "syndic_fr",
"presential_allowed": 1,
"distance_vote_allowed": 1,
"multiple_keys_allowed": 1,
"procuration_allowed": 1,
"module_manager": 1,
"entity_keys": [
"clé a",
"clé b",
"clé c"
],
"address": {
"address1": "Place de l'église",
"address2": "Port Grimaud",
"city": "Grimaud",
"country": "FR",
"province": "",
"zipcode": "83310"
}
},
"documents": [],
"participants": [
{
"uid": null,
"identifier": "19v0qm",
"access_code": "k0xadze",
"type_participant": "anticipation_vote",
"delegate_username": null,
"procuration_status": 0,
"type_convocation": "internal",
"anticipation_vote_validation_at": "2020-07-07T22:46:33.000+02:00",
"general_quotity": 1145.0,
"participant_keys": {
"clé a": 512.0,
"clé b": 454.69,
"clé c": 478.58
},
"first_name": "Michel",
"last_name": "Dupont",
"mobile": "060000000",
"unit_name": "A548",
"email": "email@example.com",
"time_zone": "Europe/Paris",
"avatar_url": null,
"original_avatar_url": null,
"address": {
"address1": "Place de l'église",
"address2": "Port Grimaud",
"city": "Grimaud",
"country": "FR",
"province": "",
"zipcode": "83310"
},
"signature": {
"drawing": null,
"ip": null,
"datetime": null,
"user_agent": null
},
"exit_live_datetime": null,
"anticipation_votes": [
{
"resolution_uid": "123456",
"answer": "yes",
"vote_at": "2020-07-02T22:46:33.000+02:00"
},
{
"resolution_uid": "123457",
"answer": "no",
"vote_at": "2020-07-02T22:46:33.000+02:00"
},
{
"resolution_uid": "123458",
"answer": "abstention",
"vote_at": "2020-07-02T22:46:33.000+02:00"
}
]
}
],
"resolutions": [
{
"uid": null,
"type_majority": "type_majority_6",
"is_votable": 1,
"is_secret_vote": null,
"title": "Test générale maj simple",
"description": "",
"comment": null,
"internal_note": null,
"vote_key": "general",
"vote_choice_type": "classic",
"vote_choice_number": null,
"vote_choices": null,
"vote_opened_at": "2020-06-10T13:55:43.000+02:00",
"vote_closed_at": "2020-06-10T13:55:48.000+02:00",
"vote_result": {
"resolution_id": 72,
"type_majority": "type_majority_6",
"vote_choice_type": "classic",
"accepted": false,
"second_turn_allowed": null,
"clean_datas": {
"data": {
"present": {
"qp": "8635.58",
"nb": "3.0",
"header": true
},
"absent": {
"qp": "0.0",
"nb": "2.0",
"header": true
},
"assembly": {
"qp": "8635.58",
"nb": "5.0",
"header": true
},
"present_on_assembly": {
"qp": "1.0",
"nb": "0.6",
"header": true
},
"absent_on_assembly": {
"qp": "0.0",
"nb": "0.4",
"header": true
},
"no_vote": {
"qp": 0,
"nb": 0,
"header": true
},
"no_vote_on_present": {
"qp": "0.0",
"nb": "0.0",
"header": true
},
"no_vote_on_assembly": {
"qp": "0.0",
"nb": "0.0",
"header": true
},
"newsless": {
"qp": 0,
"nb": 0,
"header": true
},
"newsless_on_present": {
"qp": "0.0",
"nb": "0.0",
"header": true
},
"newsless_on_assembly": {
"qp": "0.0",
"nb": "0.0",
"header": true
},
"yes": {
"qp": "1145.0",
"nb": "1.0",
"header": false
},
"yes_on_present": {
"qp": "0.132590978255079566166951149",
"nb": "0.333333333333333333",
"header": false
},
"yes_on_assembly": {
"qp": "0.132590978255079566166951149",
"nb": "0.2",
"header": false
},
"no": {
"qp": "7490.58",
"nb": "2.0",
"header": false
},
"no_on_present": {
"qp": "0.867409021744920433833048851",
"nb": "0.666666666666666667",
"header": false
},
"no_on_assembly": {
"qp": "0.867409021744920433833048851",
"nb": "0.4",
"header": false
},
"abstention": {
"qp": 0,
"nb": 0,
"header": false
},
"abstention_on_present": {
"qp": "0.0",
"nb": "0.0",
"header": false
},
"abstention_on_assembly": {
"qp": "0.0",
"nb": "0.0",
"header": false
}
},
"list_data": {
"username": {
"yes": [
"19v0qm"
],
"no": [
"ajvjj7",
"vrnw9n"
],
"abstention": [],
"no_vote": [],
"newsless": [],
"absent": [
"k9z1r7",
"eqjajx"
]
},
"full_infos": {
"yes": [
"Michel Dupont #(A548)"
],
"no": [
"Jérôme Dupont #(A549)",
"Henri Michel"
],
"abstention": [],
"no_vote": [],
"newsless": [],
"absent": [
"Jérôme Chiron",
"Jules Dupont"
]
}
},
"list_opponent": {
"username": [
"19v0qm"
],
"full_infos": [
"Michel Dupont #(A548)"
]
},
"result": false
},
"raw_datas": {
"qp": {
"yes": "1145.0",
"no": "7490.58",
"abstention": 0,
"no_vote": 0,
"newsless": 0,
"absent": "0.0"
},
"nb": {
"yes": "1.0",
"no": "2.0",
"abstention": 0,
"no_vote": 0,
"newsless": 0,
"absent": "2.0"
}
}
},
"documents": []
}
]
}
Général
Node |
Type |
Description |
user_uid |
uid |
Uid de l'utilisateur (ou plus exactement identifiant unique de l’agence) pour lequel vous voulez obtenir l'assemblée |
id |
uuid |
Id dans notre système |
Assemblée
Node |
Type |
Description |
uid |
string |
Id (identifiant unique) de l'assemblée dans votre système |
date |
date |
Date de l'assemblée (YYYY-MM-DD) |
time |
time |
Heure de l'assemblée (HH:MM:SS) |
time_zone |
string |
Objet Timezone |
name |
string |
Nom de l'assemblée |
assembly_status |
string |
Objet Statut de l'assemblée |
opened_at |
datetime |
Date et heure de l'ouverture de l'assemblée |
closed_at |
datetime |
Date et heure de fermeture de l'assemblée |
first_vote_closed_at |
datetime |
Date et heure de fermeture du premier vote |
public_note |
string |
Note publique de l'assemblée |
location |
string |
Lieu de l'assemblée |
vpc_closed |
datetime |
Date et heure de fermeture des votes par correspondance |
type_assembly |
string |
Objet Type d'assemblée |
anticipation_vote_mail |
string |
Email pour recevoir les notifications des votes par correspondance |
communication_mail |
string |
Email pour recevoir les réponses des emails envoyés aux participants |
address |
hash |
Objet Address |
entity |
hash |
Objet Entité |
documents |
array |
Objet Documents |
participants |
array |
Objet Participants |
resolutions |
array |
Objet Résolutions |
Adresse
Node |
Type |
Description |
formatted |
string |
Adresse complète |
street_number |
string |
Numéro de voie |
street_name |
string |
Nom de la voie |
zipcode |
string |
Code postal |
locality |
string |
Ville |
sublocality |
string |
Quartier |
latitude |
float |
Latitude |
longitude |
float |
Longitude |
administrative_area_level1 |
string |
Département |
administrative_area_level2 |
string |
Région si disponible |
country |
string |
Pays |
Entité
Node |
Type |
Description |
name |
string |
Nom de l'entité |
type_entity |
string |
Objet Type entité juridique |
presential_allowed |
integer |
Si le vote pprésentiel est autorisé |
distance_vote_allowed |
integer |
Si le vote par correspondance est autorisé |
multiple_keys_allowed |
integer |
Si les clés multiples sont autorisées |
procuration_allowed |
integer |
Si le vote par procuration est autorisée |
module_manager |
integer |
Autoriser les participants à transmettre leur procuration au gestionnaire d’assemblée (0/1) |
entity_keys |
array |
Liste des clefs multiples |
address |
hash |
Adresse de l'entité |
address1 |
string |
Adresse |
address2 |
string |
Adresse complémentaire |
city |
string |
Ville |
country |
string |
Pays |
province |
string |
Région |
zipcode |
string |
Code postal |
Documents
Node |
Type |
Description |
name |
string |
Nom du document |
content_type |
string |
Type de document |
size |
integer |
Taille du document |
url |
string |
Url du document |
original_url |
string |
Url originale du document |
Participants
Node |
Type |
Description |
uid |
string |
Id (identifiant unique) du participant dans votre système |
identifier |
string |
Identifiant de connexion |
access_code |
string |
Code d'accès de connexion |
type_participant |
string |
Objet Type de participation |
delegate_username |
string |
Délégation au participant |
procuration_status |
string |
Objet Statut de la procuration |
type_convocation |
string |
Objet Type de convocation |
anticipation_vote_validation_at |
datetime |
Date et heure d'enregistrement du vote par correspondance |
general_quotity |
float |
Valeur de la clé générale |
participant_keys |
hash |
Liste des clés secondaires et de leurs valeurs |
first_name |
string |
Prénom |
last_name |
string |
Nom |
mobile |
string |
Numéro de téléphone mobile |
unit_name |
string |
Numéros de lots |
email |
string |
Email |
time_zone |
string |
Objet Timezone |
avatar_url |
string |
Url de la photo |
original_avatar_url |
string |
Url originale de la photo |
exit_live_datetime |
datetime |
Date et heure de sortie de l'assemblée |
address |
hash |
Adresse du participant |
address1 |
string |
Adresse |
address2 |
string |
Adresse complémentaire |
city |
string |
Ville |
country |
string |
Pays |
province |
string |
Région |
zipcode |
string |
Code postal |
signature |
hash |
Signature du participant |
drawing |
string |
Image de la signature |
ip |
string |
Ip |
datetime |
string |
Date et heure |
user_agent |
string |
User agent utilisé |
anticipation_votes |
array |
Votes par anticipation |
resolution_uid |
string |
Uid de la résolution |
answer |
string |
Réponse à la résolution |
vote_at |
datetime |
Date et heure du vote |
Résolutions
Node |
Type |
Description |
uid |
integer |
Id (identifiant unique) de la résolution dans votre système |
type_majority |
string |
Objet Type de majorité |
is_votable |
integer |
Si votable |
issecretvote |
integer |
Si est un vote à bulletin secret |
title |
string |
Titre de la résolution |
description |
string |
Description de la résolution |
comment |
string |
Commentaires |
internal_note |
string |
Note interne |
vote_key |
string |
Clé utilisé sur le vote |
vote_choice_type |
string |
Objet Type de choix de vote |
vote_choice_number |
integer |
Nombre de réponses autorisée |
vote_choices |
string |
Liste des choix proposées pour le vote séparé par une virgule (ex: 'Entreprise Joubert,Entreprise Lafont') |
vote_opened_at |
datetime |
Date et heure d'ouverture du vote |
vote_closed_at |
datetime |
Date et heure de fermeture du vote |
vote_result |
hash |
Résultats du vote |
resolution_id |
integer |
Id de la résolution |
type_majority |
string |
Type de majorité |
vote_choice_type |
string |
Type de choix de vote |
accepted |
bool |
Si acceptée (true : acceptée, false: refusée, :null : sans décision) |
second_turn_allowed |
bool |
Si un second tour est possible |
clean_datas |
hash |
Résultats compilés |
result |
bool |
Si la résolution est acceptée |
datas |
hash |
Calculs compilés |
_clean_datas_categories_ |
array |
Calcul sur la catégorie, voir Objet Clean data categories
|
qp |
float |
Total sur la clef |
nb |
float |
Total sur le nombre de participants |
header |
bool |
Data interne, ne sert pas |
list_data |
hash |
Liste de noms par identifinats,noms et opposants |
username_ |
hash |
Liste des noms par identifiants |
yes |
array |
Liste des participants ayant voté oui |
no |
array |
Liste des participants ayant voté non |
abstention |
array |
Liste des participants ayant voté abstention |
no_vote |
array |
Liste des participants ayant voté ne vote pas |
newsless |
array |
Liste des participants présents mais sans nouvelles |
absent |
array |
Liste des participants absent |
_full_infos_ |
hash |
Liste des noms par prénoms/noms/n° de lot |
yes |
array |
Liste des participants ayant voté oui |
no |
array |
Liste des participants ayant voté non |
abstention |
array |
Liste des participants ayant voté abstention |
no_vote |
array |
Liste des participants ayant voté ne vote pas |
newsless |
array |
Liste des participants présents mais sans nouvelles |
absent |
array |
Liste des participants absent |
list_opponent |
hash |
Liste des opposants |
user_name |
array |
Liste des opposants par identifiants |
full_infos |
array |
Liste des opposants par prénoms/noms/n° de lot |
raw_datas |
hash |
Résultats bruts |
qp |
hash |
Calcul sur la clé |
yes |
float |
Sommes des oui
|
no |
float |
Sommes des non
|
abstention |
float |
Sommes des abstention
|
no_vote |
float |
Sommes des ne vote pas
|
newsless |
float |
Sommes des sans nouvelles
|
absent |
float |
Sommes des absent
|
nb |
hash |
Calcul sur le nombre de participants |
yes |
float |
Sommes des oui
|
no |
float |
Sommes des non
|
abstention |
float |
Sommes des abstention
|
no_vote |
float |
Sommes des ne vote pas
|
newsless |
float |
Sommes des sans nouvelles
|
absent |
float |
Sommes des absent
|
documents |
array |
|
name |
string |
Nom du document |
content_type |
string |
Type de document |
size |
integer |
Taille du document |
url |
string |
Url du document |
original_url |
string |
Url originale du document |
Erreurs
{
"errors": "Vous devez spécifier un user_uid",
"errors": "Vous devez spécifier un uid_provider",
"errors": "Cet user_uid ne correspond à aucun utilisateur sur votre accès"
}
Création d'une assemblée
Cette route vous permet de créer une assemblée.Vous devez renseigner 'user_uid' qui va correspondre à l'uid de l'utilisateur dans votre système, ceci nous permettra de créer l'assemblée sur l'utilisateur correspondant. Si il n'est pas trouvé ou non renseigné, la création de l'AG sera impossible.
Les AG, participants et résolutions sans uid ne seront pas importés, nous avons besoin des ces identifiants pour vous permettre de les mettre à jour. Attention les participants avec le même UID et email seront fusionnées.
Une AG peut être mis à jour avec sa liste de documents,.... uniquement si l'assemblée est toujours dans le statut En préparation
. Si la requête est acceptée, nous importerons votre AG sur une tache planifiée immédiatement, vous pourrez ainsi la récupérez après quelques minutes.
HTTP Request (création)
POST {base_url}/api/v1/assembly
JSON Parameter (création)
Exemple
{
"user_uid": "G78965",
"uid_provider": "nom_provider",
"uid": "AG37",
"date": "2020-07-02",
"time": "22:00:00",
"time_zone": "Europe/Paris",
"name": "Assemblée générale LES FLANERIES",
"public_note": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"location": "Salle de la Pérouse",
"type_assembly": "standard",
"anticipation_vote_mail": "something@something.fr",
"communication_mail": "something@something.fr",
"address": {
"formatted": "15, Place de l'église 31000 Toulouse",
"street_number": "15",
"street_name": "Place de l'église",
"zipcode": "31000",
"locality": "Toulouse",
"sublocality": "",
"latitude": 0.458282,
"longitude": 15.4585,
"administrative_area_level_1": "",
"administrative_area_level_2": "",
"country": "France"
},
"entity": {
"uid": "EA4",
"name": "LES FLANERIES",
"type_entity": "syndic_fr",
"presential_allowed": 0,
"distance_vote_allowed": 0,
"multiple_keys_allowed": 1,
"procuration_allowed": 1,
"module_manager": 1,
"entity_keys": [
"clé a",
"clé b",
"clé c"
],
"address": {
"formatted": "15, Place de l'église 31000 Toulouse",
"address1": "Place de l'église",
"address2": "",
"city": "Toulouse",
"country": "FR",
"province": "",
"zipcode": "31000"
}
},
"documents": [
{
"name": "AG-CONNECT",
"url": "https://url_photo_ag_connect.jpg"
}
],
"participants": [
{
"uid": "PA1",
"type_convocation": "internal",
"general_quotity": 1145.0,
"participant_keys": {
"clé a": 512.0,
"clé b": 454.69,
"clé c": 478.58
},
"first_name": "Michel",
"last_name": "Dupont",
"mobile": "0606060606",
"unit_name": "A548",
"email": "email@example.com",
"time_zone": "Europe/Paris",
"avatar_url": "https://https://url_photo_ag_connect.jpg",
"address": {
"formatted": "15, Place de l'église 31000 Toulouse",
"address1": "Place de l'église",
"address2": "Port Grimaud",
"city": "Grimaud",
"country": "FR",
"province": "",
"zipcode": "83310"
}
}
],
"resolutions": [
{
"uid": "RO8",
"type_majority": "type_majority_6",
"is_votable": 1,
"is_secret_vote": 1,
"title": "Test générale maj simple",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"comment": null,
"internal_note": null,
"vote_key": "general",
"vote_choice_type": "classic",
"vote_choice_number": null,
"vote_choices": null,
"documents": [
{
"name": "mls_logo.jpg",
"url": "https://url_photo_ag_connect.jpg"
},
{
"name": "mls_logo2.jpg",
"url": "https://url_photo_ag_connect.jpg"
}
]
}
]
}
Node |
Type |
Description |
Requis |
user_uid |
uid |
Uid de l'utilisateur (ou plus exactement identifiant unique de l’agence) pour lequel vous voulez obtenir l'assemblée |
requis |
id |
uuid |
Id dans notre système |
|
Assemblée (création)
Node |
Type |
Description |
Requis |
uid |
string |
Id (identifiant unique) de l'assemblée dans votre système |
requis |
date |
date |
Date de l'assemblée (YYYY-MM-DD) |
requis |
time |
time |
Heure de l'assemblée (HH:MM:SS) |
requis |
time_zone |
string |
Objet Timezone |
requis |
name |
string |
Nom de l'assemblée. |
requis |
public_note |
string |
Note publique de l'assemblée |
|
location |
string |
Lieu de l'assemblée |
|
type_assembly |
string |
Objet Type d'assemblée |
|
anticipation_vote_mail |
string |
Email pour recevoir les notifications des votes par correspondance |
|
communication_mail |
string |
Email pour recevoir les réponses des emails envoyés aux participants |
|
address |
hash |
Objet Address |
|
entity |
hash |
Objet Entité |
|
documents |
array |
Objet Documents |
|
participants |
array |
Objet Participants |
|
resolutions |
array |
Objet Résolutions |
|
Adresse (création)
Node |
Type |
Description |
formatted |
string |
Adresse complète |
street_number |
string |
Numéro de voie |
street_name |
string |
Nom de la voie |
zipcode |
string |
Code postal |
locality |
string |
Ville |
sublocality |
string |
Quartier |
latitude |
float |
Latitude |
longitude |
float |
Longitude |
administrative_area_level1 |
string |
Département |
administrative_area_level2 |
string |
Région si disponible |
country |
string |
Pays |
Entité (création)
Node |
Type |
Description |
requis |
uid |
string |
Id (identifiant unique) de l'entité dans votre système |
requis |
name |
string |
Nom de l'entité |
requis |
type_entity |
string |
Objet Type entité juridique |
requis |
presential_allowed |
integer |
Si le vote pprésentiel est autorisé |
|
distance_vote_allowed |
integer |
Si le vote par correspondance est autorisé |
|
multiple_keys_allowed |
integer |
Si les clés multiples sont autorisées |
|
procuration_allowed |
integer |
Si le vote par procuration est autorisée |
|
module_manager |
integer |
Autoriser les participants à transmettre leur procuration au gestionnaire d’assemblée (0/1) |
|
entity_keys |
array |
Liste des clefs multiples |
|
address |
hash |
Adresse de l'entité |
|
address1 |
string |
Adresse |
|
address2 |
string |
Adresse complémentaire |
|
city |
string |
Ville |
|
country |
string |
Pays |
|
province |
string |
Région |
|
zipcode |
string |
Code postal |
|
Documents (création)
Node |
Type |
Description |
name |
string |
Nom du document |
url |
string |
Url du document ou nom du fichier présent dans le zip si via FTP |
Participants (création)
Node |
Type |
Description |
Requis |
uid |
string |
Id (identifiant unique) du participant dans votre système |
requis |
type_convocation |
string |
Objet Type de convocation |
requis |
general_quotity |
float |
Valeur de la clé générale |
requis |
participant_keys |
hash |
Liste des clés secondaires et de leurs valeurs |
|
first_name |
string |
Prénom |
|
last_name |
string |
Nom |
requis |
mobile |
string |
Numéro de téléphone mobile |
|
unit_name |
string |
Numéros de lots |
|
email |
string |
Email |
|
time_zone |
string |
Objet Timezone |
requis |
avatar_url |
string |
Url de la photo ou nom du fichier présent dans le zip si via FTP |
|
address |
hash |
Adresse du participant |
|
address1 |
string |
Adresse |
|
address2 |
string |
Adresse complémentaire |
|
city |
string |
Ville |
|
country |
string |
Pays |
|
province |
string |
Région |
|
zipcode |
string |
Code postal |
|
Résolutions (création)
Node |
Type |
Description |
Requis |
uid |
string |
Id (identifiant unique) de la résolution dans votre système |
requis |
type_majority |
string |
Objet Type de majorité |
requis |
is_votable |
integer |
Si votable |
|
is_secret_vote |
integer |
Si est un vote à bulletin secret |
|
title |
string |
Titre de la résolution |
|
description |
string |
Description de la résolution |
|
comment |
string |
Commentaires |
|
internal_note |
string |
Note interne |
|
vote_key |
string |
Clé utilisé sur le vote |
requis |
vote_choice_type |
string |
Objet Type de choix de vote |
requis |
vote_choice_number |
integer |
Nombre de réponses autorisée |
|
vote_choices |
string |
Liste des choix proposées pour le vote séparé par une virgule (ex: 'Entreprise Joubert,Entreprise Lafont') |
|
documents |
array |
|
|
name |
string |
Nom du document |
|
url |
string |
Url du document ou nom du fichier présent dans le zip si via FTP |
|
Réponse (création)
{
"status": 200,
"message": "Votre demande est en cours de traitement"
}
Erreurs (création)
{
"errors": "Un import est déjà en cours",
"errors": "Vous devez spécifier un user_uid",
"errors": "Vous devez spécifier un uid_provider",
"errors": "Cet user_uid ne correspond à aucun utilisateur sur votre accès",
"errors": "Cette assemblée n'a pas pu être crée",
"errors": "Cette assemblée a déjà été validée, il n'est plus possible de lui apporter des modifications",
"errors": "La date de l'assemblée est invalide",
"errors": "L'heure de l'assemblée est invalide",
"errors": "Le fuseau horaire de l'assemblée est invalide",
"errors": "L'heure de l'assemblée est obligatoire",
"errors": "La date de l'assemblée est obligatoire",
"errors": "Le fuseau horaire de l'assemblée est obligatoire",
"errors": "Aucun uid fourni pour cette assemblée",
"errors": "Aucune entité juridique fournie",
"errors": "Aucun uid fourni pour cette entité",
"errors": "Entité juridique incorrect, voir Type Entité"
}
Cette route vous permet de demander l'import immédiat d'un fichier que vous avez préalablement déposer sur notre FTP.
HTTP Request (import)
POST {base_url}/api/v1/assembly/import
QUERY Parameters (import)
Parameter |
Type |
Description |
user_uid |
string |
Uid de l'utilisateur (ou plus exactement identifiant unique de l’agence) pour lequel vous voulez obtenir l'assemblée |
uid_provider |
string |
Uid provider (identifiant unique du partenaire qui fait appel à l’API. Cet identifiant est fourni à la création du partenariat et ne pourra plus être modifié)
|
filename |
string |
Nom du fichier à importer ( ex: A7854provider1514515151.zip ) |
Réponse (import)
{
"status": 200,
"message": "Votre demande est en cours de traitement"
}
Erreurs (import)
{
"errors": "Ce fichier n'existe pas sur le FTP",
"errors": "Un import est déjà en cours"
}
Récupération des documents d'une assemblée
Cette route vous permet récupérer le PV et la feuille de présence encodé en base 64 lorque qu'une ag est complétée.
HTTP Request (documents)
GET https://ag-connect.com/fr/api/v1/assembly/documents
QUERY Parameters (documents)
Parameter |
Type |
Description |
user_uid |
string |
Uid de l'utilisateur (ou plus exactement identifiant unique de l’agence) pour lequel vous voulez obtenir l'assemblée |
uid_provider |
string |
Uid provider (identifiant unique du partenaire qui fait appel à l’API. Cet identifiant est fourni à la création du partenariat et ne pourra plus être modifié)
|
uid_assembly |
string |
Id (identifiant unique) de l'assemblée dans votre système |
Réponse (documents)
{
"pv": "JVBERi0xLjQKMSAwIG9iago8PAovVGl0bGUgKP7/KQovQ3JlYXRvciAo/v8A\ndwBrAGgAdABtAGwAdABvAHAAZABmACAAMAAuADEAMgAuADUpCi9Qcm9kdWNl\nciAo/....",
"timesheet": "JVBERi0xLjQKMSAwIG9iago8PAovVGl0bGUgKP7/KQovQ3JlYXRvciAo/v8A\ndwBrAGgAdABtAGwAdABvAHAAZABmACAAMAAuADEAMgAuADUpCi9Qcm9kdWNl\nciAo/"
}
Erreurs (documents)
{
"errors": "Vous devez spécifier un user_uid",
"errors": "Vous devez spécifier un uid_provider",
"errors": "Cet user_uid ne correspond à aucun utilisateur sur votre accès",
"errors": "Assemblée non cloturée"
}
Enregistrement d'un vote par correspondance pour un participant
Cette route vous permet d'enregistrer un vote par par correspondance pour un participant. Si aucune erreur est retournée, les votes sont enregistrés et validés sur Ag connect. Si une erreur apparaît, les votes valides seront enregistrés mais le vpc ne sera pas validé.
HTTP Request (vpc)
POST {base_url}/api/v1/assembly/import/vpc
JSON Parameter (vpc)
{
"user_uid": "XXXXXXXX",
"uid_provider": "name_provider",
"uid_assembly": "AGVPC",
"uid_participant": "1",
"signature_drawing": "image_en_base64",
"signature_datetime": "2021-07-07T22:46:29.000+02:00",
"signature_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/53736",
"signature_user_ip": "259.259.259.259",
"resolutions": [
{
"uid": "1",
"answer_classic": "yes"
},
{
"uid": "2",
"answer_classic": "no"
},
{
"uid": "3",
"answer_classic": "abstention"
},
{
"uid": "4",
"answer_custom": "1,2,3,4"
}
]
}
Type de réponse answer_classic (vpc)
Code |
Type |
Description |
yes |
string |
Oui à la résolution |
no |
string |
Non à la résolution |
abstention |
string |
Abstention à la résolution |
Type de réponse answer_custom (vpc)
Dans ce cas précis, la résolution est sur une question à choix multiples, il suffit de renseigner les choix possibles séparés par une ,
Node |
Type |
Description Requis |
user_uid |
string |
Uid de l'utilisateur (ou plus exactement identifiant unique de l’agence) pour lequel vous voulez obtenir l'assemblée |
uid_provider |
string |
Uid provider (identifiant unique du partenaire qui fait appel à l’API. Cet identifiant est fourni à la création du partenariat et ne pourra plus être modifié)
|
uid_assembly |
string |
Id (identifiant unique) de l'assemblée dans votre système |
uid_participant |
uuid |
Id du participant dans votre système |
signature_drawing |
string |
Image de la signature du participant en base 64 |
signature_datetime |
datetime |
Date de la signature du participant |
signature_user_agent |
string |
User agent utilisé lors de la signature |
signature_user_ip |
string |
IP utilisé lors de la signature |
resolutions |
array |
Liste des résolutions |
uid |
uuid |
Id de la résolution dans votre système |
answer_classic |
string |
Objet Type de réponse answer_classic |
answer_custom |
string |
Objet Type de réponse answer_custom |
Réponse (vpc)
{
"status": "200",
"errors": []
}
Erreurs (vpc)
{
"status": 400,
"errors": [
{
"message": "Resolution with uid '3': Invalid vote, 'ne se prononce pas' doesn't exist, vote will be 'abstention'"
},
{
"message": "Resolution with uid 's' doesn't exist, skipping !"
}
]
}
Enregistrement d'un vote par correspondance pour plusieurs participants
Cette route vous permet d'enregistrer un vote par par correspondance pour plusieurs participants. Une tâche de fond sera lancé par Ag connect pour importer les votes. Il vous faudra consulter les logs ensuite pour avoir le retour de l'importation.
HTTP Request (vpcm)
POST {base_url}/api/v1/assembly/import/vpcs
JSON Parameter (vpcm)
{
"user_uid": "54X99996",
"uid_provider": "crypto",
"uid_assembly": "AGVPC",
"participants": [
{
"uid_participant": "1",
"signature_drawing": "image_en_base64",
"signature_datetime": "2021-07-07T22:46:29.000+02:00",
"signature_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/53736",
"signature_user_ip": "127.0.0.1",
"resolutions": [
{
"uid": "1",
"answer_classic": "yes",
"answer_custom": "1,2,3,4"
},
{
"uid": "2",
"answer_classic": "no",
"answer_custom": "1,2,3,4"
},
{
"uid": "3",
"answer_classic": "abstention",
"answer_custom": "1,2,3,4"
},
{
"uid": "s",
"answer_classic": "abstention",
"answer_custom": "1,2,3,4"
},
{
"uid": "4",
"answer_classic": "michel",
"answer_custom": "1"
}
]
},
{
"uid_participant": "2",
"signature_drawing": "image_en_base64",
"signature_datetime": "2021-07-07T22:46:29.000+02:00",
"signature_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/53736",
"signature_user_ip": "127.0.0.1",
"resolutions": [
{
"uid": "1",
"answer_classic": "yes",
"answer_custom": "1,2,3,4"
},
{
"uid": "2",
"answer_classic": "no",
"answer_custom": "1,2,3,4"
},
{
"uid": "3",
"answer_classic": "abstention",
"answer_custom": "1,2,3,4"
},
{
"uid": "4",
"answer_classic": "yes",
"answer_custom": "1,2,3,4,5,6"
}
]
}
]
}
Type de réponse answer_classic (vpcm)
Code |
Type |
Description |
yes |
string |
Oui à la résolution |
no |
string |
Non à la résolution |
abstention |
string |
Abstention à la résolution |
Type de réponse answer_custom (vpcm)
Dans ce cas précis, la résolution est sur une question à choix multiples, il suffit de renseigner les choix possibles séparés par une ,
Node |
Type |
Description |
user_uid |
string |
Uid de l'utilisateur (ou plus exactement identifiant unique de l’agence) pour lequel vous voulez obtenir l'assemblée |
uid_provider |
string |
Uid provider (identifiant unique du partenaire qui fait appel à l’API. Cet identifiant est fourni à la création du partenariat et ne pourra plus être modifié)
|
uid_assembly |
string |
Id (identifiant unique) de l'assemblée dans votre système |
uid_participant |
uuid |
Id du participant dans votre système |
signature_drawing |
string |
Image de la signature du participant en base 64 |
signature_datetime |
datetime |
Date de la signature du participant |
signature_user_agent |
string |
User agent utilisé lors de la signature |
signature_user_ip |
string |
IP utilisé lors de la signature |
resolutions |
array |
Liste des résolutions |
uid |
uuid |
Id de la résolution dans votre système |
answer_classic |
string |
Objet Type de réponse answer_classic |
answer_custom |
string |
Objet Type de réponse answer_custom |
Réponse (vpcm)
{
"status": 200,
"message": "Votre demande est en cours de traitement"
}
Journal d'importation
Cette route vous permet de consulter le journal d'importation sur une assemblée.
HTTP Request (journal)
GET {base_url}/api/v1/assembly/log
QUERY Parameters (journal)
Parameter |
Type |
Description |
user_uid |
string |
Uid de l'utilisateur (ou plus exactement identifiant unique de l’agence) pour lequel vous voulez obtenir l'assemblée |
uid_provider |
string |
Uid provider (identifiant unique du partenaire qui fait appel à l’API. Cet identifiant est fourni à la création du partenariat et ne pourra plus être modifié)
|
uid_assembly |
string |
Id (identifiant unique) de l'assemblée dans votre système |
Réponse (journal)
{
"uid": "AGVPC",
"logs": [
{
"with_errors": 0,
"started_at": "2021-03-10T15:05:44.000+01:00",
"finished_at": "2021-03-10T15:06:08.000+01:00",
"log": "==============================\nVPC Import worker started 10 March 2021 at 15:05\n==============================\nStarting VPC Import for participant Michel Dupont with uid \"1\"\n==============================\nStart saving vote for resolution with uid 1\nVote classic: yes\nVote saved\n==============================\nStart saving vote for resolution with uid 2\nVote classic: no\nVote saved\n==============================\nStart saving vote for resolution with uid 3\nVote classic: abstention\nVote saved\n==============================\nResolution with uid s doesn't exist, skipping !\n==============================\nStart saving vote for resolution with uid 4\nVote custom: 1\nVote saved\n==============================\nVote saved with warning, registering impossible, please correct your votes\n==============================\nVPC Import for participant Michel Dupont with uid \"1\" finished\n==============================\nStarting VPC Import for participant Jérôme Dupont with uid \"2\"\n==============================\nStart saving vote for resolution with uid 1\nVote classic: yes\nVote saved\n==============================\nStart saving vote for resolution with uid 2\nVote classic: no\nVote saved\n==============================\nStart saving vote for resolution with uid 3\nVote classic: abstention\nVote saved\n==============================\nStart saving vote for resolution with uid 4\nVote custom: 1,2,3,4,5,6\nVote saved\n==============================\nVote saved and registered\n==============================\n==============================\nVPC Import for participant Jérôme Dupont with uid \"2\" finished\n==============================\nVPC Import worker finished 10 March 2021 at 15:06\n=============================="
},
{
"with_errors": 1,
"started_at": "2021-03-10T09:59:12.000+01:00",
"finished_at": "2021-03-10T09:59:29.000+01:00",
"log": "==============================\nVPC Import worker started 10 March 2021 at 09:59\n==============================\n==============================\nStarting VPC Import for participant Michel Dupont\n==============================\nStart saving vote for resolution with uid 1\nVote classic\nVote saved\n==============================\nStart saving vote for resolution with uid 2\nVote classic\nVote saved\n==============================\nStart saving vote for resolution with uid 3\nVote classic\nVote saved\n==============================\nResolution with uid s doesn't exist, skipping !\nStart saving vote for resolution with uid 4\nVote custom\nVote saved\n==============================\nVote saved with warning, registering impossible, please correct your votes\n==============================\nVPC Import for participant Michel Dupont finished\n==============================\nStarting VPC Import for participant Jérôme Dupont\n==============================\nAucune résolutions fournies"
}
]
}
Import via FTP
Introduction (ftp_import)
Il est possible d'importer les assemblée générales d'un client via FTP en nous déposant un fichier zip contenant un JSON correspondant à l'AG à importer et ses documents associés. Pour utiliser le FTP, vous devez nous contacter à
info@ag-connect.com. Après vérification nous vous fourniront un login/pass pour déposez votre fichier.
Nom de fichier (ftp_import)
Le nom du fichier zip doit être de la forme uid_user
_provider_timestamp
.zip (ex: G7854provider1025110211.zip). Le fichier JSON requis est le même modèle que celui utilisé pour l'API.
Les documents importables sont limités à une taille maximum de 20mo.
Prise en compte des documents/avatars (ftp_import)
Il suffit de mettre le nom du fichier à la place d'une url pour les documents des AG, des résolutions et des avatar pour les copropriétaires.