Imágenes
Primero debemos hacer el upload de la imagen
POST /upload
Body:
POST multipart/form-data con los siguientes campos:
- file_type: Content Type de la imagen. Por ej: image/jpeg o image/png
- file: Imagen a subir
Ejemplo:
curl -X POST \
'https://dev-avalancha.herokuapp.com/api/upload' \
-H 'x-api-secret: API_SECRET' \
-H 'x-spree-token: SPREE_TOKEN' \
-F file_type=image/jpeg \
-F [email protected]
Response:
{
"id": 55585,
"url": "/uploaded_images/55585/original/image1.jpeg?1507302962"
}
La respuesta nos vuelve un id que es el que vamos a utilizar para asociarlo a las variantes. (attachment_id)
Creación
POST /v2/images
Body:
{
"image": {
"attachment_id": 55588,
"alt": "alt_text",
"position": 9,
"variant_ids": [27836, 27837, 27838]
}
}
variants_ids: es un array de las ids de variantes que queremos asociar a dicha imagen. Todas las variantes asociadas a una imagen deben pertenecer al mismo producto.
attachment_id: es el id que devolvió la api de upload.
alt: texto para utilizar como descripción de las imagenes.
position: las imágenes poseen un atributo position, para poder ordenar las imágenes dentro de la colección de img de una variante. Las imagenes por default vienen ordenadas por esta columna de manera ascendente.
Devuelve la vista de la imagen creada, con el id correspondiente para futuras modificaciones.
Creación Múltiple
POST /v2/variant_images
Body:
{
"images":
{
"0":
{
"attachment_id": 60407,
"alt": "alt_text",
"position": 2,
"variant_ids": [27836, 27837, 27838]
},
"1":
{
"attachment_id": 60407,
"alt": "alt_text",
"position": 1,
"variant_ids": [27836, 27837, 27838]
}
}
}
Api que permite crear más de una imagen en un mismo request.
Update
POST /v2/images/:id
Body:
{
"image": {
"alt": "new_alt",
"variant_ids": [27836, 27837, 27838, 27839]
}
}
En caso de querer asociar una nueva variante a una imagen ya creada, debemos hacer un request al update de la imagen, enviando TODOS los ids de variantes que tendrá la imagen asociada (no sólo los nuevos).
Destroy
DELETE /v2/images/:id
Esta acción borrará la imagen y la relación con correspondientes variantes.
request.
Modificar la posición de las imágenes
POST /v2/images/update_images_positions
Body:
{
"positions": [
{
"id": 123,
"position": 1
},
{
"id": 124,
"position": 2
},
{
"id": 256,
"position": 3
}]
}
Esta api sirve para cambiar las posiciones de varias imágenes. Es útil para modificar rearmar el orden de una colección de imágenes de una variante.