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 in modo programmatico le sandbox in 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
}
}
}
name
title
state
Lo 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.
type
development
e production
.isDefault
eTag
Cercare 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}"
}
name
title
state
Lo 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.
type
development
e production
.isDefault
eTag
Creare 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"
}'
name
title
type
development
.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"
}'
name
title
type
production
.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.validationOnly
validationOnly=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"
}'
action
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-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.ignoreWarnings
Richiesta
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 GET possono comunque recuperare i dettagli della sandbox anche dopo la sua eliminazione.Formato API
DELETE /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}
name
della sandbox da eliminare.validationOnly
validationOnly=true
per verificare se la sandbox che stai per reimpostare contiene dati di condivisione di segmenti, Adobe Analytics o Adobe Audience Manager.ignoreWarnings
Richiesta
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"
}