Propósito
- El parámetro
$expandte permite incluir colecciones incrustadas de un recurso en la respuesta.
Puntos clave
- De forma predeterminada, las colecciones incrustadas no se incluyen en la respuesta a menos que se especifiquen explícitamente con
$expand. - Solo se admiten colecciones incrustadas. Los recursos individuales incrustados no son compatibles.
- Esto ayuda a recuperar datos relacionados en una sola solicitud y reduce la necesidad de hacer varias llamadas a la API.
Sintaxis de la expresión $expand
- La expresión sigue este formato:
EMBEDDED_COLLECTION1_NAME, EMBEDDED_COLLECTION2_NAME
- Ejemplo de cómo expandir variantes al recuperar productos:
$expand=Variants
Propiedades compatibles
- La lista de propiedades disponibles para el recurso
Productpuede encontrarse en el esquema JSON devuelto por los endpoints/$metadata. - Ejemplo: al hacer una solicitud a
/Products/$metadata, recibirás un esquema con todas las propiedades disponibles, comoprod_title,prod_ref, etc.
Cómo usar $expand en una solicitud
- Al construir tu solicitud a la API, añade el parámetro
$expandpara incluir colecciones relacionadas en la respuesta.
http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,prod_title&$expand=Variants
Formato de la respuesta
- Cuando usas
$expand, la respuesta incluye las colecciones incrustadas especificadas como parte del recurso.
{
"value": [
{
"prod_ref": "MyPer",
"prod_title": {
"en": "My Personify"
}
},
{
"prod_ref": "CuMoApp",
"prod_title": {
"en": "Custom Mobile Apps"
}
},
{
"prod_ref": "Atrius",
"prod_title": {
"en": "Atrius"
}
},
{
"prod_ref": "Builder",
"prod_title": {
"en": "Builder"
}
},
{
"prod_ref": "X-pressP",
"prod_title": {
"en": "X-press gfx Points"
}
},
{
"prod_ref": "EC-gfx",
"prod_title": {
"en": "EC-gfxProgram"
}
},
{
"prod_ref": "PreApp",
"prod_title": {
"en": "Preloaded Applications"
}
},
{
"prod_ref": "ProdEnhanT",
"prod_title": {
"en": "Productivity Enhancing Tools"
}
},
{
"prod_ref": "ECx-L-4D",
"prod_title": {
"en": "ECx-Light-4DALI"
}
},
{
"prod_ref": "ECx-L-S",
"prod_title": {
"en": "ECx-Light Series"
}
},
{
"prod_ref": "ECx-B-S",
"prod_title": {
"en": "ECx-Blind Series"
}
}
],
"@count": 11,
"@readLink": "https://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,prod_title"
}Notas
- Los metadatos son un documento de esquema JSON que describe los recursos asociados a un recurso concreto y las relaciones entre ellos.
- Ejemplo:
Para el recurso Product, los metadatos pueden describir recursos asociados comoCategoryyVariant. Los metadatos también definen sus relaciones, ayudándote a entender cómo construir solicitudes para distintos métodos de la API.
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo