Endpoint di gestione sandbox
Le sandbox in Adobe Experience Platform forniscono ambienti di sviluppo isolati che consentono di testare le funzioni, eseguire esperimenti e creare configurazioni personalizzate senza influire sull’ambiente di produzione. L'endpoint /sandboxes nell'API Sandbox consente di gestire programmaticamente le sandbox in Experience Platform.
Introduzione
L'endpoint API utilizzato in questa guida fa parte dell'Sandbox API. Prima di continuare, consulta la guida introduttiva per i collegamenti alla documentazione correlata, una guida alla lettura delle chiamate API di esempio in questo documento e per le informazioni importanti sulle intestazioni necessarie per effettuare correttamente le chiamate a qualsiasi API di Experience Platform.
Recuperare un elenco di sandbox list
Per elencare tutte le sandbox appartenenti alla tua organizzazione (attive o meno), devi eseguire una richiesta GET all'endpoint /sandboxes.
Formato API
GET /sandboxes?{QUERY_PARAMS}
{QUERY_PARAMS}Richiesta
curl -X GET \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes?&limit=4&offset=1 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
Risposta
In caso di esito positivo, la risposta restituisce un elenco di sandbox appartenenti all'organizzazione, inclusi dettagli quali name, title, state e type.
{
"sandboxes": [
{
"name": "prod",
"title": "Production",
"state": "active",
"type": "production",
"region": "VA7",
"isDefault": true,
"eTag": 2,
"createdDate": "2019-09-04 04:57:24",
"lastModifiedDate": "2019-09-04 04:57:24",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
},
{
"name": "dev",
"title": "Development",
"state": "active",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-03 22:27:48",
"lastModifiedDate": "2019-09-03 22:27:48",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
},
{
"name": "stage",
"title": "Staging",
"state": "active",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-03 22:27:48",
"lastModifiedDate": "2019-09-03 22:27:48",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
},
{
"name": "dev-2",
"title": "Development 2",
"state": "creating",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-07 10:16:02",
"lastModifiedDate": "2019-09-07 10:16:02",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
}
],
"_page": {
"limit": 4,
"count": 4
},
"_links": {
"next": {
"href": "https://platform.adobe.io:443/data/foundation/sandbox-management/sandboxes/?limit={limit}&offset={offset}",
"templated": true
},
"prev": {
"href": "https://platform.adobe.io:443/data/foundation/sandbox-management/sandboxes?offset=0&limit=1",
"templated": null
},
"page": {
"href": "https://platform.adobe.io:443/data/foundation/sandbox-management/sandboxes?offset=1&limit=1",
"templated": null
}
}
}
nametitlestateLo stato di elaborazione corrente della sandbox. Lo stato di una sandbox può essere uno dei seguenti:
creating: la sandbox è stata creata, ma è ancora in corso il provisioning da parte del sistema.active: la sandbox è stata creata ed è attiva.failed: a causa di un errore, non è stato possibile eseguire il provisioning della sandbox da parte del sistema ed è disabilitato.deleted: Sandbox disabilitata manualmente.
typedevelopment e production.isDefaulteTagCercare una sandbox lookup
Per cercare una singola sandbox, devi eseguire una richiesta GET che includa la proprietà name della sandbox nel percorso della richiesta.
Formato API
GET /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}name della sandbox da cercare.Richiesta
La richiesta seguente recupera una sandbox denominata "dev-2".
curl -X GET \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/dev-2 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
Risposta
In caso di esito positivo, la risposta restituisce i dettagli della sandbox, inclusi name, title, state e type.
{
"name": "dev-2",
"title": "Development 2",
"state": "creating",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-07 10:16:02",
"lastModifiedDate": "2019-09-07 10:16:02",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
}
nametitlestateLo stato di elaborazione corrente della sandbox. Lo stato di una sandbox può essere uno dei seguenti:
- creazione: la sandbox è stata creata, ma è ancora in fase di provisioning da parte del sistema.
- active: la sandbox è stata creata ed è attiva.
- non riuscito: a causa di un errore, non è stato possibile eseguire il provisioning della sandbox da parte del sistema ed è disabilitato.
- eliminato: sandbox disabilitata manualmente.
typedevelopment e production.isDefaulteTagCreare una sandbox create
Per creare una nuova sandbox di sviluppo o produzione, devi eseguire una richiesta POST all'endpoint /sandboxes.
Creare una sandbox di sviluppo
Per creare una sandbox di sviluppo, devi fornire un attributo type con il valore development nel payload della richiesta.
Formato API
POST /sandboxes
Richiesta
La richiesta seguente crea una nuova sandbox di sviluppo denominata "acme-dev".
curl -X POST \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
-d '{
"name": "acme-dev",
"title": "Acme Business Group dev",
"type": "development"
}'
nametitletypedevelopment.Risposta
In caso di esito positivo, la risposta restituisce i dettagli della sandbox appena creata, mostrando che il relativo state è in fase di "creazione".
{
"name": "acme-dev",
"title": "Acme Business Group dev",
"state": "creating",
"type": "development",
"region": "VA7"
}
state diventeranno "attivi" o "non riusciti".Creare una sandbox di produzione
Per creare una sandbox di produzione, devi fornire un attributo type con il valore di production nel payload della richiesta.
Formato API
POST /sandboxes
Richiesta
La richiesta seguente crea una nuova sandbox di produzione denominata "acme".
curl -X POST \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H `Accept: application/json` \
-H 'Content-Type: application/json' \
-d '{
"name": "acme",
"title": "Acme Business Group",
"type": "production"
}'
nametitletypeproduction.Risposta
In caso di esito positivo, la risposta restituisce i dettagli della sandbox appena creata, mostrando che il relativo state è in fase di "creazione".
{
"name": "acme",
"title": "Acme Business Group",
"state": "creating",
"type": "production",
"region": "VA7"
}
state diventeranno "attivi" o "non riusciti".Aggiornare una sandbox put
Per aggiornare uno o più campi in una sandbox, devi eseguire una richiesta PATCH che includa il name della sandbox nel percorso della richiesta e la proprietà da aggiornare nel payload della richiesta.
title di una sandbox.Formato API
PATCH /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}name della sandbox da aggiornare.Richiesta
La richiesta seguente aggiorna la proprietà title della sandbox denominata "acme".
curl -X PATCH \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json'
-d '{
"title": "Acme Business Group prod"
}'
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 200 (OK) con i dettagli della sandbox appena aggiornata.
{
"name": "acme",
"title": "Acme Business Group prod",
"state": "active",
"type": "production",
"region": "VA7"
}
Ripristinare una sandbox reset
Le sandbox dispongono di una funzione di "ripristino di fabbrica" che elimina tutte le risorse non predefinite da una sandbox. Per reimpostare una sandbox, devi eseguire una richiesta PUT che includa nel percorso della richiesta il valore name della sandbox.
Formato API
PUT /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}name della sandbox da reimpostare.validationOnlyvalidationOnly=true per verificare se la sandbox che stai per reimpostare contiene dati di condivisione di segmenti, Adobe Analytics o Adobe Audience Manager.Richiesta
La richiesta seguente ripristina una sandbox denominata "acme-dev".
curl -X PUT \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme-dev?validationOnly=true \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json'
-d '{
"action": "reset"
}'
actionRisposta
In caso di esito positivo, la risposta restituisce i dettagli della sandbox aggiornata, mostrando che il relativo state è "resettato".
{
"id": "d8184350-dbf5-11e9-875f-6bf1873fec16",
"name": "acme-dev",
"title": "Acme Business Group dev",
"state": "resetting",
"type": "development",
"region": "VA7"
}
La sandbox di produzione predefinita e tutte le sandbox di produzione create dall'utente non possono essere reimpostate se il grafo delle identità ospitato al suo interno è utilizzato anche da Adobe Analytics per la funzione Cross Device Analytics (CDA) oppure se il grafo delle identità ospitato al suo interno è utilizzato anche da Adobe Audience Manager per la funzione People Based Destinations (PBD).
Di seguito è riportato un elenco di possibili eccezioni che potrebbero impedire la reimpostazione di una sandbox:
{
"status": 400,
"title": "Sandbox `{SANDBOX_NAME}` cannot be reset. The identity graph hosted in this sandbox is also being used by Adobe Analytics for the Cross Device Analytics (CDA) feature.",
"type": "http://ns.adobe.com/aep/errors/SMS-2074-400"
},
{
"status": 400,
"title": "Sandbox `{SANDBOX_NAME}` cannot be reset. The identity graph hosted in this sandbox is also being used by Adobe Audience Manager for the People Based Destinations (PBD) feature.",
"type": "http://ns.adobe.com/aep/errors/SMS-2075-400"
},
{
"status": 400,
"title": "Sandbox `{SANDBOX_NAME}` cannot be reset. The identity graph hosted in this sandbox is also being used by Adobe Audience Manager for the People Based Destinations (PBD) feature, as well by Adobe Analytics for the Cross Device Analytics (CDA) feature.",
"type": "http://ns.adobe.com/aep/errors/SMS-2076-400"
},
{
"status": 400,
"title": "Warning: Sandbox `{SANDBOX_NAME}` is used for bi-directional segment sharing with Adobe Audience Manager or Audience Core Service.",
"type": "http://ns.adobe.com/aep/errors/SMS-2077-400"
}
È possibile procedere alla reimpostazione di una sandbox di produzione utilizzata per la condivisione bidirezionale dei segmenti con Audience Manager o Audience Core Service aggiungendo il parametro ignoreWarnings alla richiesta.
Formato API
PUT /sandboxes/{SANDBOX_NAME}?ignoreWarnings=true
{SANDBOX_NAME}name della sandbox da reimpostare.ignoreWarningsRichiesta
La richiesta seguente ripristina una sandbox di produzione denominata "acme".
curl -X PUT \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme?ignoreWarnings=true \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json'
-d '{
"action": "reset"
}'
Risposta
In caso di esito positivo, la risposta restituisce i dettagli della sandbox aggiornata, mostrando che il relativo state è "resettato".
{
"id": "d8184350-dbf5-11e9-875f-6bf1873fec16",
"name": "acme",
"title": "Acme Business Group prod",
"state": "resetting",
"type": "production",
"region": "VA7"
}
Eliminare una sandbox delete
Per eliminare una sandbox, devi eseguire una richiesta DELETE che includa nel percorso della richiesta il valore name della sandbox.
status della sandbox viene aggiornata a "eliminata" e disattivata. Le richieste di GET possono comunque recuperare i dettagli della sandbox dopo che è stata eliminata.Formato API
DELETE /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}name della sandbox da eliminare.validationOnlyvalidationOnly=true per verificare se la sandbox che stai per reimpostare contiene dati di condivisione di segmenti, Adobe Analytics o Adobe Audience Manager.ignoreWarningsRichiesta
La richiesta seguente elimina una sandbox di produzione denominata "acme".
curl -X DELETE \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme?ignoreWarnings=true \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}'
Risposta
In caso di esito positivo, la risposta restituisce i dettagli aggiornati della sandbox, mostrando che il relativo state è "eliminato".
{
"name": "acme",
"title": "Acme Business Group prod",
"state": "deleted",
"type": "development",
"region": "VA7"
}