[Beta]{class="badge informative"}
Ingesta de datos de pagos desde su cuenta de Stripe al Experience Platform mediante API
Lea el siguiente tutorial para aprender a ingerir los datos de pagos de Stripe en Adobe Experience Platform mediante la Flow Service API.
Introducción
Esta guía requiere una comprensión práctica de los siguientes componentes de Experience Platform:
- Fuentes: El Experience Platform permite la ingesta de datos de varias fuentes, al tiempo que le ofrece la capacidad de estructurar, etiquetar y mejorar los datos entrantes mediante los servicios de Platform.
- Zonas protegidas: El Experience Platform proporciona zonas protegidas virtuales que dividen una sola instancia de Platform en entornos virtuales independientes para ayudar a desarrollar y evolucionar aplicaciones de experiencia digital.
Autenticación
Lea la Stripe descripción general para obtener información sobre cómo recuperar sus credenciales de autenticación.
Uso de API de Platform
Para obtener información sobre cómo realizar llamadas correctamente a las API de Platform, consulte la guía sobre introducción a las API de Platform.
Conectar Stripe al Experience Platform
Siga la guía a continuación para aprender a autenticar su origen de Stripe, crear una conexión de origen y crear un flujo de datos para llevar los datos de pagos al Experience Platform.
Crear una conexión base base-connection
Una conexión base retiene información entre el origen y el Experience Platform, incluidas las credenciales de autenticación del origen, el estado actual de la conexión y el identificador único de la conexión base. Puede explorar y navegar por archivos desde el origen utilizando el ID de conexión base. Además, puede identificar los elementos específicos que desea introducir, incluidos los detalles sobre los tipos de datos y los formatos de esos elementos.
Para crear un identificador de conexión base, realice una solicitud de POST al extremo /connections
y proporcione sus credenciales de autenticación Stripe como parte del cuerpo de la solicitud.
Formato de API
POST /connections
Solicitud
La siguiente solicitud crea una conexión base para Stripe:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "Stripe base connection",
"description": "Authenticated base connection for Stripe",
"connectionSpec": {
"id": "cc2c31d6-7b8c-4581-b49f-5c8698aa3ab3",
"version": "1.0"
},
"auth": {
"specName": "OAuth2 Refresh Code",
"params": {
"accessToken": "{ACCESS_TOKEN}",
}
}
}'
name
description
connectionSpec.id
cc2c31d6-7b8c-4581-b49f-5c8698aa3ab3
y este id. es fijo.auth.specName
auth.params.accessToken
Respuesta
Una respuesta correcta devuelve la conexión base recién creada, incluido su identificador de conexión único (id
). Este ID es necesario para explorar la estructura de archivos y el contenido de origen en el siguiente paso.
{
"id": "a9950001-a386-4642-a0cd-5eaac6db5556",
"etag": "\"dc01244d-0000-0200-0000-65ea4e500000\""
}
Explorar su origen explore
Una vez que tenga el identificador de conexión base, podrá explorar el contenido y la estructura de los datos de origen realizando una solicitud de GET al extremo /connections
y proporcionando al mismo tiempo el identificador de conexión base como parámetro de consulta.
Formato de API
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=rest&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&sourceParams={SOURCE_PARAMS}
Solicitud
Al realizar solicitudes para explorar la estructura de archivos y el contenido de origen, debe incluir los parámetros de GET que se enumeran en la tabla siguiente:
{BASE_CONNECTION_ID}
objectType=rest
rest
.{OBJECT}
json
.fileType=json
json
es el único tipo de archivo compatible.{PREVIEW}
{SOURCE_PARAMS}
Una cadena codificada Base64- que señala a la ruta de recurso que desea explorar. La ruta de acceso del recurso debe estar codificada en Base64 para obtener el formato aprobado para {SOURCE_PARAMS}
. Por ejemplo, {"resourcePath":"charges"}
está codificado como eyJyZXNvdXJjZVBhdGgiOiJjaGFyZ2VzIn0%3D
. La lista de rutas de recursos disponibles incluye:
charges
subscriptions
refunds
balance_transactions
customers
prices
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/a9950001-a386-4642-a0cd-5eaac6db5556/explore?objectType=rest&object=json&fileType=json&preview=false&sourceParams=eyJyZXNvdXJjZVBhdGgiOiJjaGFyZ2VzIn0%3D' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Respuesta
Una respuesta correcta devuelve una estructura JSON como la siguiente:
code language-json |
---|
|
Crear una conexión de origen source-connection
Puede crear una conexión de origen realizando una solicitud de POST al extremo /sourceConnections
de la API Flow Service. Una conexión de origen consta de un identificador de conexión, una ruta de acceso al archivo de datos de origen y un identificador de especificación de conexión.
Formato de API
POST /sourceConnections
Solicitud
La siguiente solicitud crea una conexión de origen para Stripe.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "Stripe Source Connection For Charges Data",
"description": "Stripe source connection for charges data",
"baseConnectionId": "a9950001-a386-4642-a0cd-5eaac6db5556",
"connectionSpec": {
"id": "cc2c31d6-7b8c-4581-b49f-5c8698aa3ab3",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"resourcePath": "charges"
},
}'
name
description
baseConnectionId
connectionSpec.id
data.format
json
.Una respuesta correcta devuelve el identificador único (id
) de la conexión de origen recién creada. Este ID es necesario en un paso posterior para crear un flujo de datos.
{
"id": "abbfac4e-202c-4e04-902d-6f73e9041068",
"etag": "\"0a033818-0000-0200-0000-65ea5a770000\""
}
Creación de un esquema XDM de destino target-schema
Para que los datos de origen se utilicen en Experience Platform, se debe crear un esquema de destino para estructurar los datos de origen según sus necesidades. A continuación, el esquema de destino se utiliza para crear un conjunto de datos de Platform en el que se incluyen los datos de origen.
Se puede crear un esquema XDM de destino realizando una solicitud de POST a la API de Registro de esquemas.
Para ver los pasos detallados sobre cómo crear un esquema XDM de destino, consulte el tutorial de creación de un esquema mediante la API.
Crear un conjunto de datos de destinatario target-dataset
Se puede crear un conjunto de datos de destino realizando una solicitud de POST a la API de servicio de catálogo, que proporcione el ID del esquema de destino en la carga útil.
Para ver los pasos detallados sobre cómo crear un conjunto de datos de destino, consulte el tutorial de creación de un conjunto de datos mediante la API.
Creación de una conexión de destino target-connection
Una conexión de destino representa la conexión con el destino en el que se van a almacenar los datos introducidos. Para crear una conexión de destino, debe proporcionar el ID de especificación de conexión fija que corresponda al lago de datos. Este identificador es: c604ff05-7f1a-43c0-8e18-33bf874cb11c
.
Ahora tiene los identificadores únicos de un esquema de destino, un conjunto de datos de destino y el ID de especificación de conexión al lago de datos. Con estos identificadores, puede crear una conexión de destino utilizando la API Flow Service para especificar el conjunto de datos que contendrá los datos de origen entrantes.
Formato de API
POST /targetConnections
Solicitud
La siguiente solicitud crea una conexión de destino para Stripe:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "Stripe Target Connection For Charges Data",
"description": "Stripe target connection for charges data",
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
},
"data": {
"format": "parquet_xdm",
"schema": {
"id": "https://ns.adobe.com/{ORG_ID}/schemas/5f76be8c4e4b847fdac13ca42aa6b596a89a5b91dea48b16",
"version": "application/vnd.adobe.xed-full+json;version=1.3"
}
},
"params": {
"dataSetId": "65e622315f78042c9e8166e8"
}
}'
name
description
connectionSpec.id
c604ff05-7f1a-43c0-8e18-33bf874cb11c
.data.format
params.dataSetId
Respuesta
Una respuesta correcta devuelve el identificador único (id
) de la nueva conexión de destino. Este ID es necesario en pasos posteriores.
{
"id": "69879751-ba43-48df-8cd0-39d2bb76a5b8",
"etag": "\"4b02ef5b-0000-0200-0000-65ea5f730000\""
}
Creación de una asignación mapping
Para que los datos de origen se incorporen en un conjunto de datos de destino, primero deben asignarse al esquema de destino al que se adhiere el conjunto de datos de destino. Esto se logra realizando una solicitud de POST a la Data Prep API con asignaciones de datos definidas dentro de la carga útil de la solicitud.
Formato de API
POST /conversion/mappingSets
La siguiente solicitud crea una asignación para Stripe.
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 | |
---|---|
Propiedad | Descripción |
xdmSchema |
El ID del esquema XDM de destino. Este identificador se genera al crear un esquema XDM de destino. |
destinationXdmPath |
El campo XDM al que se asigna el atributo de origen. |
sourceAttribute |
Campo de datos de origen que se asigna. |
identity |
Un valor booleano que define si el campo persistirá en servicio de identidad. |
version |
Versión de asignación que está utilizando. |
Respuesta
Una respuesta correcta devuelve detalles de la asignación recién creada, incluido su identificador único (id
). Este valor es necesario en un paso posterior para crear un flujo de datos.
{
"id": "f4aad280fdec4770b7e33066945919d8",
"version": 0,
"createdDate": 1709860257007,
"modifiedDate": 1709860257007,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
Creación de un flujo flow
El último paso para llevar datos de Stripe a Platform es crear un flujo de datos. Por ahora, tiene preparados los siguientes valores obligatorios:
Un flujo de datos es responsable de programar y recopilar datos de una fuente. Puede crear un flujo de datos realizando una solicitud de POST mientras proporciona los valores mencionados anteriormente dentro de la carga útil.
Formato de API
POST /flows
Solicitud
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "Stripe Connector Flow Generic Rest",
"description": "Stripe Connector Description Flow Generic Rest",
"flowSpec": {
"id": "6499120c-0b15-42dc-936e-847ea3c24d72",
"version": "1.0"
},
"sourceConnectionIds": [
"abbfac4e-202c-4e04-902d-6f73e9041068"
],
"targetConnectionIds": [
"69879751-ba43-48df-8cd0-39d2bb76a5b8"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "f4aad280fdec4770b7e33066945919d8",
"mappingVersion": 0
}
}
],
"scheduleParams": {
"startTime": "1710267858",
"frequency": "minute",
"interval": {{interval}}
}
}'
name
description
flowSpec.id
6499120c-0b15-42dc-936e-847ea3c24d72
.flowSpec.version
1.0
.sourceConnectionIds
targetConnectionIds
transformations
transformations.name
transformations.params.mappingId
transformations.params.mappingVersion
0
.scheduleParams.startTime
scheduleParams.frequency
Frecuencia con la que el flujo de datos recopilará datos. Puede configurar la frecuencia de ingesta para:
- Una vez: establezca su frecuencia en
once
para crear una ingesta única. Las configuraciones para intervalo y relleno no están disponibles al crear un flujo de datos de ingesta único. De forma predeterminada, la frecuencia de programación se establece en una vez. - Minuto: establezca su frecuencia en
minute
para programar el flujo de datos e ingerir datos por minuto. - Hora: Establezca su frecuencia en
hour
para programar su flujo de datos e ingerir datos por hora. - Día: Establezca su frecuencia en
day
para programar su flujo de datos e ingerir datos por día. - Semana: establezca su frecuencia en
week
para programar el flujo de datos e ingerir datos por semana.
scheduleParams.interval
El intervalo designa el período entre dos ejecuciones de flujo consecutivas. Por ejemplo, si establece la frecuencia en día y configura el intervalo en 15, el flujo de datos se ejecutará cada 15 días. El valor del intervalo debe ser un entero distinto de cero. El valor mínimo del intervalo aceptado para cada frecuencia es el siguiente:
- Una vez: n/a
- Minuto: 15
- Hora: 1
- Día: 1
- Semana: 1
Respuesta
Una respuesta correcta devuelve el identificador (id
) del flujo de datos recién creado. Puede utilizar este ID para monitorizar, actualizar o eliminar el flujo de datos.
{
"id": "84c64142-1741-4b0b-95a9-65644eba0cf6",
"etag": "\"3901770b-0000-0200-0000-655708970000\""
}
Apéndice
En la siguiente sección se proporciona información sobre los pasos que puede seguir para monitorizar, actualizar y eliminar el flujo de datos.
Monitorización del flujo de datos
Una vez creado el flujo de datos, puede monitorizar los datos que se están introduciendo a través de él para ver información sobre las ejecuciones de flujo, el estado de finalización y los errores. Para ver ejemplos completos de API, lee la guía sobre supervisión de los flujos de datos de origen mediante la API.
Actualizar el flujo de datos
Actualice los detalles del flujo de datos, como su nombre y descripción, así como su programación de ejecución y los conjuntos de asignaciones asociados, realizando una solicitud del PATCH al extremo /flows de la API Flow Service, proporcionando al mismo tiempo el ID del flujo de datos. Al realizar una solicitud de PATCH, debe proporcionar el etag
único del flujo de datos en el encabezado If-Match
. Para ver ejemplos completos de la API, lea la guía sobre actualización de orígenes y flujos de datos mediante la API.
Actualice su cuenta
Actualice el nombre, la descripción y las credenciales de su cuenta de origen realizando una solicitud de PATCH a la API Flow Service y proporcionando al mismo tiempo el identificador de conexión base como parámetro de consulta. Al realizar una solicitud de PATCH, debe proporcionar el etag
único de su cuenta de origen en el encabezado If-Match
. Para ver ejemplos completos de API, lee la guía de actualización de tu cuenta de origen mediante la API.
Eliminar el flujo de datos
Elimine el flujo de datos realizando una solicitud de DELETE a la API Flow Service mientras proporciona el ID del flujo de datos que desea eliminar como parte del parámetro query. Para ver ejemplos completos de API, lea la guía sobre eliminación de flujos de datos mediante la API.
Eliminar su cuenta
Elimine la cuenta realizando una solicitud de DELETE a la API Flow Service y proporcionando al mismo tiempo el identificador de conexión base de la cuenta que desea eliminar. Para ver ejemplos completos de API, lee la guía sobre eliminar tu cuenta de origen mediante la API.