Ir al contenido principal

Se admiten objetos y matrices JSON para el mapeo de respuestas de conectores de datos

Vea qué objetos y matrices puede usar para el mapeo de respuestas en Intercom.

Escrito por Beth-Ann Sher

Los conectores de datos ahora admiten el mapeo tanto de respuestas API JSON como XML. Si su API devuelve XML, Intercom lo convertirá automáticamente a JSON antes de mapear objetos y matrices. Todas las reglas y limitaciones de mapeo descritas a continuación se aplican a la estructura JSON convertida.

Objetos y matrices que puede mapear

Nota: Para mapear datos de fecha a un atributo Datetime en un Objeto Personalizado, solo admitimos el mapeo de cadenas con formato ISO 8601, por ejemplo, 2008-01-10T11:00:00-05:00

Objeto JSON simple

Puede mapear objetos raíz de API a Personas, Conversaciones y Objetos Personalizados. Todos los atributos de la API son accesibles.

{
"type": "admin",
"id": "493881",
"name": "Hoban Washburne",
"email": "wash@serenity.io",
"away_mode_enabled": false,
"away_mode_reassign": false
}

Objetos JSON anidados

Puede mapear 3 objetos API (root, order, client_details) a Personas, Conversaciones y Objetos Personalizados. Todos los atributos de la API son accesibles.

{
"order": {
"id": 450789469,
"admin_graphql_api_id": "gid://shopify/Order/450789469",
"app_id": null,
"browser_ip": "0.0.0.0",
"buyer_accepts_marketing": false,
"cancel_reason": null,
"cancelled_at": null,
"cart_token": "68778783ad298f1c80c3bafcddeea02f",
"checkout_id": 901414060,
"checkout_token": "bd5a8aa1ecd019dd3520ff791ee3a24c",
"client_details": {
"accept_language": null,
"browser_height": null,
"browser_ip": "0.0.0.0",
"browser_width": null,
"session_hash": null,
"user_agent": null
}
}
}

Matrices de nivel superior

El objeto raíz es una matriz

Puede mapear la matriz raíz a un tipo de Objeto Personalizado. Todos los atributos API de un elemento son accesibles (el primer elemento se toma como representativo).

[
{
"type": "admin",
"id": "493881",
"name": "Hoban Washburne",
"email": "wash@serenity.io",
"away_mode_enabled": false,
"away_mode_reassign": false
},
{
"type": "admin",
"email": "mal@serenity.io",
"id": "646303",
"name": "Malcolm Reynolds ",
"away_mode_enabled": true,
"away_mode_reassign": false
}
]

Matrices anidadas

Puede mapear matrices anidadas dentro de objetos (no otras matrices). Puede mapear estas matrices a Objetos Personalizados.

{
"order": {
"id": 450789469,
"discount_codes": [
{
"code": "TENOFF",
"amount": "10.00",
"type": "fixed_amount"
}
],
"note_attributes": [
{
"name": "custom engraving",
"value": "Happy Birthday"
},
{
"name": "colour",
"value": "green"
}
]
}
}


Matrices que no puede mapear

Matrices anidadas dentro de otras matrices

No puede acceder a matrices que están anidadas dentro de elementos de otras matrices. Esto se debe a que no sabemos qué elemento de la matriz de nivel superior elegir. Así que en el ejemplo a continuación, puede mapear la matriz order a un Objeto Personalizado. Pero no las matrices discount_codes, ya que están anidadas dentro de la matriz orders.

{
"orders": [
{
"id": 1,
"discount_codes": [
{
"code": "TENOFF",
"amount": "10.00",
"type": "fixed_amount"
}
],
"note_attributes": [
{
"name": "custom engraving",
"value": "Happy Birthday"
},
{
"name": "colour",
"value": "green"
}
]
},
{
"id": 2,
"discount_codes": [
{
"code": "TENOFF",
"amount": "10.00",
"type": "fixed_amount"
}
],
"note_attributes": [
{
"name": "custom engraving",
"value": "Happy Birthday"
},
{
"name": "colour",
"value": "green"
}
]
}
]
}


Envío de objetos anidados en solicitudes

Los conectores de datos actualmente solo admiten el envío de parámetros planos (clave/valor) en cuerpos de solicitud. No se admiten parámetros de objetos y matrices anidados.

Esto significa que si una API de terceros requiere un objeto anidado como parte de la solicitud — por ejemplo, los endpoints de cancelación y reembolso de pedidos de Shopify requieren un objeto buyer_identity — la acción no se puede completar con éxito a través de un conector de datos.

El soporte para parámetros de objetos y matrices anidados en cuerpos de solicitud está en nuestra hoja de ruta. Actualizaremos este artículo cuando esté disponible.

¿Ha quedado contestada tu pregunta?