Gestion des Activités
Les Activités (activities) sont associés aux Entreprises : elles couvrent un certain périmètre, un sous ensemble plus restreint que l'Entreprise.
Chaque Activité est liée à son Entreprise par le champ company_id en lien avec l'id de l'Entreprise. Lors de la création d'une Entreprise, une Activité par défaut est créée avec :
- un name renseignée avec le corporate_name de l'Entreprise
- un identifier_type égal à SIRET | SIREN | NUMAGRIN | NUMAGRIT et un business_identifier initialisé avec la valeur du {SIRET | SIREN | NUMAGRIN | NUMAGRIT} de l'Entreprise
Une Entreprise peut donc détenir de 1 à N Activités de cinq types différentes :
| Business_Identifier | Dénomination | Description | Exemple |
|---|---|---|---|
| SIRET | SIREN | NUMAGRIN | NUMAGRIT | Activité par défaut | Activité initialisée lors de la création d'une Entreprise et référençant le même identifiant que le business_identifier de l'Entreprise. Il ne peut exister qu'une seule activité de ce type par Entreprise. | 73282932000074 |
| EDE_NUMBER | Activité d'élevage d'animaux | Dans la plupart des cas définie par un numéro EDE, également appelé numéro de cheptel ou d'exploitation. | FR35167340 |
| PACAGE_NUMBER | Activité de gestion parcellaire | Désigne un numéro PACAGE utilisé par les services du Ministère de l’Agriculture pour identifier de manière unique les producteurs dans les demandes d’aides, d'autorisations, etc. | 085123456 |
| MARKING_CODE | Atelier d'élevage porcin | Indicatif de marquage abrégé, anciennement appelé numéro de frappe ou numéro de TVA : il s'agit d'un numéro à 7 caractères. | FR56ABC |
| CVI_NUMBER | Production viticole | Désigne le Casier Viticole Informatisé, également appelé numéro d'Exploitation Viti-Vinicole (E.V.V.) qui identifie toute entreprise exerçant une activité viticole auprès des organismes publics et administrations. | 3401308999 |
Les Entreprises et leurs Activités peuvent donc être modélisées ainsi :
classDiagram
Entreprise --|> Périmètre_Entreprise: Activité par défaut
Entreprise --|> Élevage: Activité 1
Entreprise --|> Parcellaire: Activité 2
Entreprise --|> Atelier_Porc: Activité 3
Entreprise --|> Atelier_Viticole: Activité 4
Entreprise : SIRET | SIREN | NUMAGRIN | NUMAGRIT
Périmètre_Entreprise : SIRET | SIREN | NUMAGRIN | NUMAGRIT
Élevage : EDE_NUMBER
Parcellaire : PACAGE_NUMBER
Atelier_Porc : MARKING_CODE
Atelier_Viticole : CVI_NUMBER
Lister les Activités d'une Entreprise
Retourne la liste complète des Activities rattachées à une Entreprise Compagny
Requête
GET companies/{company_id}/activities
| Paramètre | Type | Obligatoire | Description | Exemple |
|---|---|---|---|---|
| company_id * | string | Oui | Identifiant unique de l'Entreprise recherchée | fef1b25a-e980-4bd6-9ced-e1c4df714665 |
curl -X 'GET' \
'https://www.agata-consent.com/companies/fef1b25a-e980-4bd6-9ced-e1c4df714665/activities' \
-H 'accept: application/json'
Réponse
| Code | Titre | Description |
|---|---|---|
| 200 | OK | Retourne le tableau des Activités de l'Entreprise |
| 404 | Not Found | L'Entreprise est introuvable |
| Body | Type | Description | Exemple |
|---|---|---|---|
| name | string | Nom de l'Activité | GAEC DU VERGER |
| identifier_type | string | Type d'Activité : SIRET, SIREN, NUMAGRIN, NUMAGRIT, EDE_NUMBER, MARKING_CODE, PACAGE_NUMBER, CVI_NUMBER | SIRET |
| business_identifier | string | Valeur de l'identifiant de l'Activité | 73282932000074 |
| id | string | Identifiant unique de l'Activité | 4384a162-6fc5-4c75-b892-7aae8135aad7 |
| company_id | string | Identifiant unique de l'Entreprise à laquelle l'Activité est rattachée | fef1b25a-e980-4bd6-9ced-e1c4df714665 |
| period | {PeriodModel} | Date de création et date de clôture de l'Activité dans AGATA CONSENT | 2020-11-24T10:55:47.362Z, 2023-11-24T10:55:47.362Z |
| status | string | État de l'Activité : ACTIVE, INACTIVE | ACTIVE |
[
{
"name": "GAEC DU VERGER",
"identifier_type": "SIRET",
"business_identifier": "73282932000074",
"id": "4384a162-6fc5-4c75-b892-7aae8135aad7",
"company_id": "fef1b25a-e980-4bd6-9ced-e1c4df714665",
"period" : {
"start_date": "2020-11-24T10:55:47.362Z",
"end_date": ""
},
"status": "ACTIVE"
}
{
"name" :"Atelier Bovin",
"identifier_type": "EDE_NUMBER",
"business_identifier": "FR35167340",
"id": "2a06d08d-4ac0-4022-87cf-481271aea05d",
"company_id": "fef1b25a-e980-4bd6-9ced-e1c4df714665",
"period": {
"start_date": "2020-11-24T10:55:47.362Z",
"end_date": ""
},
"status": "ACTIVE"
}
]
Récupérer une Activité
Récupérer les éléments d'une Activité liée à une Entreprise grâce à son identifiant unique {activity_id}.
Requête
GET companies/{company_id}/activities/{activity_id}
| Paramètre | Type | Obligatoire | Description | Exemple |
|---|---|---|---|---|
| company_id * | string | Oui | Identifiant unique de l'Entreprise recherchée | fef1b25a-e980-4bd6-9ced-e1c4df714665 |
| activity_id * | string | Oui | Identifiant unique de l'Activité de l'Entreprise recherchée | 4384a162-6fc5-4c75-b892-7aae8135aad7 |
curl -X 'GET' \
'https://www.agata-consent.com/companies/fef1b25a-e980-4bd6-9ced-e1c4df714665/activities/4384a162-6fc5-4c75-b892-7aae8135aad7' \
-H 'accept: application/json'
Réponse
| Code | Titre | Description |
|---|---|---|
| 200 | OK | Retourne l'Activité |
| 404 | Not Found | L'Activité est introuvable |
| Body | Type | Description | Exemple |
|---|---|---|---|
| name | string | Nom de l'Activité | GAEC DU VERGER |
| identifier_type | string | Type d'Activité : SIRET, SIREN, NUMAGRIN, NUMAGRIT, EDE_NUMBER, MARKING_CODE, PACAGE_NUMBER, CVI_NUMBER | SIRET |
| business_identifier | string | Valeur de l'identifiant de l'Activité | 73282932000074 |
| id | string | Identifiant unique de l'Activité | 4384a162-6fc5-4c75-b892-7aae8135aad7 |
| company_id | string | Identifiant unique de l'Entreprise à laquelle l'Activité est rattachée | fef1b25a-e980-4bd6-9ced-e1c4df714665 |
| period | {PeriodModel} | Date de création et date de clôture de l'Activité dans AGATA CONSENT | 2020-11-24T10:55:47.362Z, 2023-11-24T10:55:47.362Z |
| status | string | État de l'Activité : ACTIVE, INACTIVE | ACTIVE |
{
"name": "GAEC DU VERGER",
"identifier_type": "SIRET",
"business_identifier": "73282932000074",
"id": "4384a162-6fc5-4c75-b892-7aae8135aad7",
"company_id": "fef1b25a-e980-4bd6-9ced-e1c4df714665",
"period" : {
"start_date": "2020-11-24T10:55:47.362Z",
"end_date": ""
},
"status": "ACTIVE"
}
Rechercher une Activité
Rechercher une Activité spécifique par son business_identifier sans avoir connaissance de la Company à laquelle l'Activité est rattachée.
Requête
GET activities?identifierType={identifier_type}&businessIdentifier={business_identifier}
| Paramètre | Type | Obligatoire | Description | Exemple |
|---|---|---|---|---|
| identifierType * | string | Oui | Type d'identifiant utilisé pour désigner l'Activité | PACAGE_NUMBER |
| businessIdentifier * | string | Oui | Valeur de l'identifiant selon le type spécifié dans identifier_type | 085123456 |
curl -X 'GET' \
'https://www.agata-consent.com/activities/?identifierType=PACAGE_NUMBER&businessIdentifier=085123456' \
-H 'accept: application/json'
Réponse
| Code | Titre | Description |
|---|---|---|
| 200 | OK | Retourne l'Activité |
| 404 | Not Found | L'Activité est introuvable |
| Body | Type | Description | Exemple |
|---|---|---|---|
| name | string | Nom de l'Activité | atelier parcellaire |
| identifier_type | string | Type d'Activité : SIRET, SIREN, NUMAGRIN, NUMAGRIT, EDE_NUMBER, MARKING_CODE, PACAGE_NUMBER, CVI_NUMBER | PACAGE_NUMBER |
| business_identifier | string | Valeur de l'identifiant de l'Activité | 085123456 |
| id | string | Identifiant unique de l'Activité | 91cb0b72-6adf-48eb-8a97-64d3ebc564f4 |
| company_id | string | Identifiant unique de l'Entreprise à laquelle l'Activité est rattachée | 0d42de28-a70a-40f2-9e14-31d9c067656d |
| period | {PeriodModel} | Date de création et date de clôture de l'Activité dans AGATA CONSENT | 2020-11-24T10:55:47.362Z, |
| status | string | État de l'Activité : ACTIVE, INACTIVE | ACTIVE |
{
"name": "atelier parcellaire",
"identifier_type": "PACAGE_NUMBER",
"business_identifier": "085123456",
"id": "91cb0b72-6adf-48eb-8a97-64d3ebc564f4",
"company_id": "0d42de28-a70a-40f2-9e14-31d9c067656d",
"period" : {
"start_date": "2020-11-24T10:55:47.362Z",
"end_date": ""
},
"status": "ACTIVE"
}
Ajouter une Activité à une Entreprise
Permet d'ajouter une Activité à une Entreprise.
Requête
POST /companies/{company_id}/activities
| Paramètre | Type | Obligatoire | Description | Exemple |
|---|---|---|---|---|
| company_id * | string | Oui | Identifiant unique de l'Entreprise recherchée | fef1b25a-e980-4bd6-9ced-e1c4df714665 |
| Body | Type | Obligatoire | Description | Exemple |
|---|---|---|---|---|
| name | string | Oui | Nom de l'Activité à créer | Atelier Porc |
| identifier_type | string | Oui | Type d'identifiant de l'Activité | MARKING_CODE |
| business_identifier | string | Oui | Valeur de l'identifiant selon le type spécifié dans identifier_type | FR56ABC |
| status | string | Oui | État de l'Activité : ACTIVE | INACTIVE | ACTIVE |
curl -X 'POST' \
'https://www.agata-consent.com/companies/fef1b25a-e980-4bd6-9ced-e1c4df714665/activities' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"name": "Atelier Porc",
"identifier_type": "MARKING_CODE",
"business_identifier": "FR56ABC",
"status": "ACTIVE"
}'
Réponse
Réponses possibles de l'API :
| Code | Titre | Description |
|---|---|---|
| 201 | Created | Activité créée avec succès |
| 400 | Bad request | Syntaxe de la requête invalide |
{
"name": "Atelier Porc",
"identifier_type": "MARKING_CODE",
"business_identifier": "FR56ABC",
"id": "05f9816f-326a-4b8a-ba14-97df46c51526",
"company_id": "00000000-0000-0000-0000-000000000000",
"period" : {
"start_date": "2020-11-24T10:55:47.362Z",
"end_date": ""
},
"status": "ACTIVE"
}'
Mise en application
Pour illustrer l'usage des APIs, reprenons l'exemple de l'Entreprise GAEC du Verger :
{
"corporate_name":"GAEC DU VERGER",
"address": "LD BEAUREGARD",
"postal_code": "16310",
"city": "MONTEMBOEUF",
"email": "gaec.verger@orange.fr",
"id": "fef1b25a-e980-4bd6-9ced-e1c4df714665",
"identifier_type": "SIRET",
"business_identifier": "73282932000074",
"status": "ACTIVE"
}
Et son Activité par défaut initialisée lors de la création du Détenteur :
{
"name": "GAEC DU VERGER",
"identifier_type": "SIRET",
"business_identifier": "73282932000074",
"id": "c64bec18-1e9c-4b87-abad-a73a2c127077",
"company_id": "fef1b25a-e980-4bd6-9ced-e1c4df714665",
"period" : {
"start_date": "2020-11-24T10:55:47.362Z",
"end_date": ""
},
"status": "ACTIVE"
}
Soit la modélisation suivante :
flowchart TD;
A[GAEC du Verger]-->|Activité par défaut| B[business_identifier : 732 829 320 000 74];
Nous souhaitons ajouter un atelier porc défini par le MARKING_CODE FR56ABC. Pour ajouter cette Activité, la requête est la suivante :
curl -X 'POST' \
'https://www.agata-consent.com/companies/fef1b25a-e980-4bd6-9ced-e1c4df714665/activities' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"name": "Atelier Porc",
"identifier_type": "MARKING_CODE",
"business_identifier": "FR56ABC",
"status": "ACTIVE"
}'
Cette Activité va s'ajouter à l'activité de l'Entreprise "GAEC Du Verger" précédemment définie. Le résultat sera donc :
- Le Détenteur (GAEC du Verger) : identique à l'état précédent ;
- L'Activité par défaut (business_identifier : 732 829 320 000 74) : identique à l'état précédent ;
- L'Activité liée à l'atelier porc (MARKING_CODE : FR56ABC) : nouvellement créée.
La nouvelle situation peut être modélisée de la manière suivante :
flowchart TD;
A[GAEC du Verger]-->|Activité par défaut| B[business_identifier : 732 829 320 000 74];
A[GAEC du Verger]-->|Atelier Porc| C[MARKING_CODE : FR56ABC];
Cette activité est peut être récupérée par l'une des requêtes suivantes :
-
Par le {company_id} de l'Entreprise et le {activity_id} de l'Activité :
/companies/{companyId}/activities/{activityId}Exemple de requêtecurl -X 'GET' \ 'https://www.agata-consent.com/companies/fef1b25a-e980-4bd6-9ced-e1c4df714665/activities/05f9816f-326a-4b8a-ba14-97df46c51526' \ -H 'accept: application/json' -
Par les identifiants métiers {identifier_type} et {business_identifier} de l'Activité :
/activitiesExemple de requêtecurl -X 'GET' \ 'https://www.agata-consent.com/activities?identifier_type=MARKING_CODE&business_identifier=FR56ABC' \ -H 'accept: application/json'
Ces appels retourneront le même résultat, à savoir l'Activité "Atelier Porc" nouvellement créée :
{
"name": "Atelier Porc",
"identifier_type": "MARKING_CODE",
"business_identifier": "FR56ABC",
"id": "05f9816f-326a-4b8a-ba14-97df46c51526",
"company_id": "00000000-0000-0000-0000-000000000000",
"period" : {
"start_date": "2020-11-24T10:55:47.362Z",
"end_date": ""
},
"status": "ACTIVE"
}'