API Partenaire : Ajout d’un document sur une instance associée à un outil de délibération externe

Présentation des APIS partenaires de délibération

 Cette API sera disponible dans une prochaine version.

MGDIS met à disposition une API partenaire afin d’enregistrer un document sur une instance associée à un outil de délibération externe.

Cette API partenaire sera disponible dans une prochaine version d’Aiden.

Route

L’accès au module Délibération permet d’accéder à la route ci-dessous :
Lancement du traitement de masse de création de décision URL /pda-semi-public-api/api/tenants/{tenantId}/deliberation/ajouter-document-instance
Verbe POST
Headers Content-Type multipart/form-data
Authorization Basic login:mdp
Corps de la requête
Nom Type Contenu Obligatoire Exemple
referenceInstanceExterne string La référence externe de l'instance. oui "6Mh3gvHOv"
referencePiece string La référence de la pièce sur laquelle ajouter le document. oui "piece1"
identifiantOutilDeliberation string L'identifiant de l'outil de délibération (POSACTES ou AIRSDELIB) oui "POSACTES"
document file Le document à ajouter à l'instance. Le fichier doit faire moins de 40 Mo.
Le document doit avoir l'une des extensions suivante : pdf, png, jpg, jpeg, doc, docx, txt. Le nom du fichier doit être unique pour l'instance délibérante.
oui document.pdf
description string La description du document. non "Une description"
informationsComplementaires string Les valeurs des informations complémentaires (JSON d'un dictionnaire reference champ informations complémentaires/valeur) non {"numeroRapport": "123", "numeroDeliberation": "456"}
Code retour
Code de réponse
Description Schéma de la réponse
201 Le document a été ajouté avec succès à l'instance délibérante. Array<AddDocumentResponseType>
400 Requête incorrecte
401 Non autorisé
403 L'utilisateur courant n'a pas les droits d'accéder à la ressource
409 Un document ayant le même nom de fichier existe déjà sur l'instance délibérante.
429 Trop de requêtes : le nombre de requêtes est limité à 1 toutes les 2 secondes par utilisateur
500 Une erreur est survenue au niveau du serveur

Types des objets

AddDocumentResponseType

Le résultat de l’import respecte le schéma suivant AddDocumentResponseType:

N.B. : Si la même référence externe est présente sur plusieurs instances délibérantes alors le document est ajouté sur chacune des instances délibérantes.

Nom Type Contenu Obligatoire Exemple
instanceId string L'identifiant de l'instance délibérante sur laquelle le document a été ajouté. oui "/referentiel-instance-deliberante/api/tenants/test/instances-deliberantes/6Mh3gvHOv"
objectId string Identifiant unique du document sur l'instance délibérante. oui "7e953b30-69d2-40c9-b182-683755e533ef;1.0"

Exemple :

				
					[
  {
    "instanceId": "/referentiel-instance-deliberante/api/tenants/test/instances-deliberantes/6Mh3gvHOv",
    "objectId": "90cbbabc-ef95-4bf9-94f7-4b203df88a1e;1.0"
  }
]
				
			

Annexes

Swagger

				
					{
  "pda-semi-public-api/api/tenants/{tenantId}/deliberation/ajouter-document-instance": {
    "post": {
      "tags": [
        "API - Deliberation"
      ],
      "summary": "Ajout d'un document sur une instance délibérante.",
      "produces": [
        "json"
      ],
      "consumes": [
        "multipart/form-data"
      ],
      "parameters": [
        {
          "name": "tenantId",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "Identifiant du tenant",
        },
        {
          "name": "referenceInstanceExterne",
          "in": "formData",
          "required": true,
          "type": "string",
          "description": "Référence externe de l'instance"
        },
        {
          "name": "referencePiece",
          "in": "formData",
          "required": true,
          "type": "string",
          "description": "Référence technique de la pièce"
        },
        {
          "name": "identifiantOutilDeliberation",
          "in": "formData",
          "required": true,
          "type": "string",
          "enum": [
            "AIRSDELIB",
            "POSACTES"
          ],
          "description": "L'identifiant de l'outil de délibération"
        },
        {
          "name": "document",
          "in": "formData",
          "required": true,
          "type": "file",
          "description": "Le document à ajouter sur l'instance délibérante"
        },
        {
          "name": "description",
          "in": "formData",
          "required": false,
          "type": "string",
          "description": "La description du document"
        },
        {
          "name": "informationsComplementaires",
          "in": "formData",
          "required": false,
          "type": "string",
          "description": "Les valeurs des informations complémentaires (JSON d'un dictionnaire reference champ informations complémentaires/valeur)",
          "example": "{\"numeroRapport\": \"123\", \"numeroDeliberation\": \"456\"}"
        }
      ],
      "responses": {
        "201": {
          "description": "Le document a été ajouté avec succès",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "instanceId": {
                      "type": "string",
                      "description": "Identifiant de l'instance délibérante"
                    },
                    "objectId": {
                      "type": "string",
                      "description": "Identifiant du document sur l'instance délibérante"
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "400": {
          "description": "Requête incorrecte"
        },
        "401": {
          "description": "Non autorisé"
        },
        "403": {
          "description": "L'utilisateur courant n'a pas les droits d'accéder à la ressource"
        },
        "409": {
            "descirption": "Un document ayant le même nom de fichier existe déjà sur l'instance délibérante."
        },
        "429": {
          "description": "Trop de requêtes : le nombre de requêtes est limité à 1 toutes les 2 secondes"
        },
        "500": {
          "description": "Une erreur est survenue au niveau du serveur"
        }
      }
    }
  }
}