Dans cet exemple, vous verrez comment parcourir le cycle de vie d’un objet EPC. Nous allons créer, récupérer, mettre à jour et supprimer un ensemble de documents.
1. Créer un ensemble de documents
Pour créer un objet dans EPC en utilisant l’API, vous devez toujours spécifier son parent en utilisant son ID de nœud. Le parent d’un ensemble est l’environnement dans lequel vous souhaitez créer l’ensemble. Vous devez également toujours spécifier le type de nœud que vous souhaitez créer. Dans ce cas, nous utiliserons le type de nœud DOCUMENT_SET car nous voulons créer un ensemble de documents. La dernière information obligatoire est son nom.
POST http://monepc.interfacing.com/api/v1/items
15:35:11.219 request:
1 > POST http://myepc.interfacing.com/api/v1/items?draft=true
1 > Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
1 > Content-Type: application/json; charset=UTF-8
1 > Content-Length: 139
1 > Host: myepc.interfacing.com
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/11.0.15)
1 > Accept-Encoding: gzip,deflate
{
"parent": {
"nodeId": "A9CCB5F4-9A79-8AE7-8C4C-289A025D0D88"
},
"@type": "NodeElement",
"name": "my first document set",
"nodeType": "DOCUMENT_SET"
}
15:35:11.276 response time in milliseconds: 57
1 < 200
1 < Server: nginx/1.21.6
1 < Date: Wed, 08 Jun 2022 19:35:11 GMT
1 < Content-Type: application/json
1 < Content-Length: 526
1 < X-Varnish: 198276
1 < Age: 0
1 < Via: 1.1 varnish (Varnish/7.1)
1 < Connection: keep-alive
{
"nodeSubTypeName": null,
"userNodeSubType": null,
"@type": "BaseElement",
"nodeVersionId": "413426F8-66D4-49F6-843C-2F7AFEB298F5",
"nodeType": "DOCUMENT_SET",
"creationDate": "2022-06-08T15:35:11.253-04:00",
"nodeStatus": "IN_PROGRESS",
"publishedNodeVersionId": null,
"version": "0.0001",
"nodeSubType": null,
"modificationDate": "2022-06-08T15:35:11.253-04:00",
"extensions": null,
"deleted": false,
"system": false,
"referenceNumber": null,
"name": "my first document set",
"locked": false,
"nodeId": "1450CEF9-89A3-4B48-98F7-09735BECD54B",
"favorite": false
}
En réponse, vous recevrez les informations de base de l’objet créé. Il contiendra son ID de nœud et son ID de version de nœud qui peuvent être réutilisés ultérieurement pour récupérer, mettre à jour ou supprimer.
Exemple CURL
curl --request POST --url 'http://myepc.interfacing.com/api/v1/items?draft=true' --header 'Content-Type: application/json' -b /tmp/cookie.tmp \
--data '{
"parent": {
"nodeId": "A9CCB5F4-9A79-8AE7-8C4C-289A025D0D88"
},
"@type": "NodeElement",
"name": "my first document set",
"nodeType": "DOCUMENT_SET"
}'
2. Récupérer un ensemble de documents
Pour récupérer un objet EPC, vous devez uniquement spécifier son ID de nœud.
GET http://myepc.interfacing.com/api/v1/items/[node-Id]
15:35:11.279 request:
2 > GET http://myepc.interfacing.com/api/v1/items/1450CEF9-89A3-4B48-98F7-09735BECD54B?draft=true
2 > Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
2 > Host: myepc.interfacing.com
2 > Connection: Keep-Alive
2 > User-Agent: Apache-HttpClient/4.5.13 (Java/11.0.15)
2 > Accept-Encoding: gzip,deflate
15:35:11.351 response time in milliseconds: 71
2 < 200
2 < Server: nginx/1.21.6
2 < Date: Wed, 08 Jun 2022 19:35:11 GMT
2 < Content-Type: application/json
2 < Content-Length: 526
2 < ETag: W/"06DE9CB7-1E56-49D1-A373-00DFAA8C1C1A|2022-06-08 19:35:11.26"
2 < Cache-Control: no-cache, no-transform, private
2 < X-Varnish: 819211
2 < Age: 0
2 < Via: 1.1 varnish (Varnish/7.1)
2 < Connection: keep-alive
{
"nodeSubTypeName": null,
"userNodeSubType": null,
"@type": "BaseElement",
"nodeVersionId": "413426F8-66D4-49F6-843C-2F7AFEB298F5",
"nodeType": "DOCUMENT_SET",
"creationDate": "2022-06-08T15:35:11.253-04:00",
"nodeStatus": "IN_PROGRESS",
"publishedNodeVersionId": null,
"version": "0.0001",
"nodeSubType": null,
"modificationDate": "2022-06-08T15:35:11.253-04:00",
"extensions": null,
"deleted": false,
"system": false,
"referenceNumber": null,
"name": "my first document set",
"locked": false,
"nodeId": "1450CEF9-89A3-4B48-98F7-09735BECD54B",
"favorite": false
}
En réponse, vous recevrez les informations de base, identiques à celles que vous avez créées.
Exemple CURL
curl --request GET --url 'http://myepc.interfacing.com/api/v1/items/1450CEF9-89A3-4B48-98F7-09735BECD54B?draft=true' -b /tmp/cookie.tmp
Dans cet exemple, vous verrez comment parcourir le cycle de vie d’un objet EPC. Nous allons créer, récupérer, mettre à jour et supprimer un ensemble de documents.
1. Créer un ensemble de documents
Pour créer un objet dans EPC en utilisant l’API, vous devez toujours spécifier son parent en utilisant son ID de nœud. Le parent d’un ensemble est l’environnement dans lequel vous souhaitez créer l’ensemble. Vous devez également toujours spécifier le type de nœud que vous souhaitez créer. Dans ce cas, nous utiliserons le type de nœud DOCUMENT_SET car nous voulons créer un ensemble de documents. La dernière information obligatoire est son nom.
POST http://monepc.interfacing.com/api/v1/items
15:35:11.219 request:
1 > POST http://myepc.interfacing.com/api/v1/items?draft=true
1 > Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
1 > Content-Type: application/json; charset=UTF-8
1 > Content-Length: 139
1 > Host: myepc.interfacing.com
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/11.0.15)
1 > Accept-Encoding: gzip,deflate
{
"parent": {
"nodeId": "A9CCB5F4-9A79-8AE7-8C4C-289A025D0D88"
},
"@type": "NodeElement",
"name": "my first document set",
"nodeType": "DOCUMENT_SET"
}
15:35:11.276 response time in milliseconds: 57
1 < 200
1 < Server: nginx/1.21.6
1 < Date: Wed, 08 Jun 2022 19:35:11 GMT
1 < Content-Type: application/json
1 < Content-Length: 526
1 < X-Varnish: 198276
1 < Age: 0
1 < Via: 1.1 varnish (Varnish/7.1)
1 < Connection: keep-alive
{
"nodeSubTypeName": null,
"userNodeSubType": null,
"@type": "BaseElement",
"nodeVersionId": "413426F8-66D4-49F6-843C-2F7AFEB298F5",
"nodeType": "DOCUMENT_SET",
"creationDate": "2022-06-08T15:35:11.253-04:00",
"nodeStatus": "IN_PROGRESS",
"publishedNodeVersionId": null,
"version": "0.0001",
"nodeSubType": null,
"modificationDate": "2022-06-08T15:35:11.253-04:00",
"extensions": null,
"deleted": false,
"system": false,
"referenceNumber": null,
"name": "my first document set",
"locked": false,
"nodeId": "1450CEF9-89A3-4B48-98F7-09735BECD54B",
"favorite": false
}
En réponse, vous recevrez les informations de base de l’objet créé. Il contiendra son ID de nœud et son ID de version de nœud qui peuvent être réutilisés ultérieurement pour récupérer, mettre à jour ou supprimer.
Exemple CURL
curl --request POST --url 'http://myepc.interfacing.com/api/v1/items?draft=true' --header 'Content-Type: application/json' -b /tmp/cookie.tmp \
--data '{
"parent": {
"nodeId": "A9CCB5F4-9A79-8AE7-8C4C-289A025D0D88"
},
"@type": "NodeElement",
"name": "my first document set",
"nodeType": "DOCUMENT_SET"
}'
2. Récupérer un ensemble de documents
Pour récupérer un objet EPC, vous devez uniquement spécifier son ID de nœud.
GET http://monepc.interfacing.com/api/v1/items/[node-Id]
15:35:11.279 request:
2 > GET http://myepc.interfacing.com/api/v1/items/1450CEF9-89A3-4B48-98F7-09735BECD54B?draft=true
2 > Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
2 > Host: myepc.interfacing.com
2 > Connection: Keep-Alive
2 > User-Agent: Apache-HttpClient/4.5.13 (Java/11.0.15)
2 > Accept-Encoding: gzip,deflate
15:35:11.351 response time in milliseconds: 71
2 < 200
2 < Server: nginx/1.21.6
2 < Date: Wed, 08 Jun 2022 19:35:11 GMT
2 < Content-Type: application/json
2 < Content-Length: 526
2 < ETag: W/"06DE9CB7-1E56-49D1-A373-00DFAA8C1C1A|2022-06-08 19:35:11.26"
2 < Cache-Control: no-cache, no-transform, private
2 < X-Varnish: 819211
2 < Age: 0
2 < Via: 1.1 varnish (Varnish/7.1)
2 < Connection: keep-alive
{
"nodeSubTypeName": null,
"userNodeSubType": null,
"@type": "BaseElement",
"nodeVersionId": "413426F8-66D4-49F6-843C-2F7AFEB298F5",
"nodeType": "DOCUMENT_SET",
"creationDate": "2022-06-08T15:35:11.253-04:00",
"nodeStatus": "IN_PROGRESS",
"publishedNodeVersionId": null,
"version": "0.0001",
"nodeSubType": null,
"modificationDate": "2022-06-08T15:35:11.253-04:00",
"extensions": null,
"deleted": false,
"system": false,
"referenceNumber": null,
"name": "my first document set",
"locked": false,
"nodeId": "1450CEF9-89A3-4B48-98F7-09735BECD54B",
"favorite": false
}
En réponse, vous recevrez les informations de base, identiques à celles que vous avez créées.
Exemple CURL
curl --request GET --url 'http://myepc.interfacing.com/api/v1/items/1450CEF9-89A3-4B48-98F7-09735BECD54B?draft=true' -b /tmp/cookie.tmp
3. Mettre à jour un ensemble de documents
Pour mettre à jour un objet EPC en utilisant l’API, vous devez envoyer la structure complète de la nouvelle version de l’objet avec son ID de version de nœud actuel.
PUT http://myepc.interfacing.com/api/v1/items/[node-Id]
15:35:11.354 request:
3 > PUT http://myepc.interfacing.com/api/v1/items/1450CEF9-89A3-4B48-98F7-09735BECD54B?draft=true
3 > Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
3 > Content-Type: application/json; charset=UTF-8
3 > Content-Length: 229
3 > Host: myepc.interfacing.com
3 > Connection: Keep-Alive
3 > User-Agent: Apache-HttpClient/4.5.13 (Java/11.0.15)
3 > Accept-Encoding: gzip,deflate
{
"parent": {
"nodeId": "A9CCB5F4-9A79-8AE7-8C4C-289A025D0D88"
},
"@type": "NodeElement",
"nodeVersionId": "413426F8-66D4-49F6-843C-2F7AFEB298F5",
"name": "new name",
"nodeType": "DOCUMENT_SET",
"nodeId": "1450CEF9-89A3-4B48-98F7-09735BECD54B"
}
15:35:11.440 response time in milliseconds: 86
3 < 200
3 < Server: nginx/1.21.6
3 < Date: Wed, 08 Jun 2022 19:35:11 GMT
3 < Content-Type: application/json
3 < Content-Length: 513
3 < X-Varnish: 198279
3 < Age: 0
3 < Via: 1.1 varnish (Varnish/7.1)
3 < Connection: keep-alive
{
"nodeSubTypeName": null,
"userNodeSubType": null,
"@type": "BaseElement",
"nodeVersionId": "BFA4C9F0-89C6-46C1-BD93-7CE15988BF5C",
"nodeType": "DOCUMENT_SET",
"creationDate": "2022-06-08T15:35:11.253-04:00",
"nodeStatus": "IN_PROGRESS",
"publishedNodeVersionId": null,
"version": "0.0002",
"nodeSubType": null,
"modificationDate": "2022-06-08T15:35:11.367-04:00",
"extensions": null,
"deleted": false,
"system": false,
"referenceNumber": null,
"name": "new name",
"locked": false,
"nodeId": "1450CEF9-89A3-4B48-98F7-09735BECD54B",
"favorite": false
}
En réponse, vous recevrez les informations de base de l’objet, y compris son nouvel ID de version de nœud et son numéro de version.
Exemple CURL
curl --request PUT --url 'http://myepc.interfacing.com/api/v1/items/1450CEF9-89A3-4B48-98F7-09735BECD54B?draft=true' --header 'Content-Type: application/json' -b /tmp/cookie.tmp \
--data '{
"parent": {
"nodeId": "A9CCB5F4-9A79-8AE7-8C4C-289A025D0D88"
},
"@type": "NodeElement",
"nodeVersionId": "413426F8-66D4-49F6-843C-2F7AFEB298F5",
"name": "new name",
"nodeType": "DOCUMENT_SET",
"nodeId": "1450CEF9-89A3-4B48-98F7-09735BECD54B"
}'
4. Supprimer un ensemble de documents
Pour supprimer un objet EPC en utilisant l’API, vous devez uniquement spécifier son ID de nœud dans l’URL et utiliser un corps vide.
DELETE http://myepc.interfacing.com/api/v1/items/[node-Id]
15:35:11.441 request:
4 > DELETE http://myepc.interfacing.com/api/v1/items/1450CEF9-89A3-4B48-98F7-09735BECD54B?draft=true
4 > Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
4 > Content-Type: application/json; charset=UTF-8
4 > Content-Length: 2
4 > Host: myepc.interfacing.com
4 > Connection: Keep-Alive
4 > User-Agent: Apache-HttpClient/4.5.13 (Java/11.0.15)
4 > Accept-Encoding: gzip,deflate
{
}
15:35:11.617 response time in milliseconds: 176
4 < 200
4 < Server: nginx/1.21.6
4 < Date: Wed, 08 Jun 2022 19:35:11 GMT
4 < Content-Type: application/json
4 < Content-Length: 514
4 < X-Varnish: 819214
4 < Age: 0
4 < Via: 1.1 varnish (Varnish/7.1)
4 < Connection: keep-alive
[
{
"nodeSubTypeName": null,
"userNodeSubType": null,
"@type": "BaseElement",
"nodeVersionId": "BFA4C9F0-89C6-46C1-BD93-7CE15988BF5C",
"nodeType": "DOCUMENT_SET",
"creationDate": "2022-06-08T15:35:11.253-04:00",
"nodeStatus": "IN_PROGRESS",
"publishedNodeVersionId": null,
"version": "0.0002",
"nodeSubType": null,
"modificationDate": "2022-06-08T15:35:11.500-04:00",
"extensions": null,
"deleted": true,
"system": false,
"referenceNumber": null,
"name": "new name",
"locked": false,
"nodeId": "1450CEF9-89A3-4B48-98F7-09735BECD54B",
"favorite": false
}
]
En réponse, vous aurez des informations de base sur l’objet qui a été supprimé
Exemple CURL
curl --request DELETE --url 'http://myepc.interfacing.com/api/v1/items/1450CEF9-89A3-4B48-98F7-09735BECD54B?draft=true' --header 'Content-Type: application/json' -b /tmp/cookie.tmp \
--data '{}'
Laissez votre avis sur ce sujet.