Características ​

Características


Las características son campos adicionales que pueden tener los items. Estas, estan vinculadas a categorías y cuando se ingresa un item de una categoría que tiene vinculada una o varias características, se le pide al propietario del item que ingrese dichos campos.

Las características pueden ser de distinto tipo de campo como por ejemplo, un texto, un numero, una opción dentro de muchas, etc.

URL Base: https://__URL_DE_TU_MARKET__/api/v1/features/

Acciones

Listado de Características

URL: https://__URL_DE_TU_MARKET__/api/v1/features/

Verbo: GET

Parámetros a enviar

En la tabla que se muestra a continuación se listan los parámetros recibidos por la API.

Parámetro

Descripción

Condición

search

Es el termino a buscar entre todas las categorias

Opcional

Ejemplo de llamada GET

curl --location --request GET 'http://ingenio-market.loc/api/v1/fearures/' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer 1|gcuLz11M0LapVax1kKsyi6T0RVOgJX4UXro0pSEf'

Ejemplo de respuesta

{
    "data": [
        {
            "id": 1,
            "name": "Testeo CODIA Info Auto",
            "type": "Número Entero",
            "family": {
                "id": 1,
                "name": "FLIA UNO"
            },
            "required": false
        },
        {
            "id": 2,
            "name": "Cual es la Otra Opcion",
            "type": "Texto Largo",
            "family": {
                "id": 1,
                "name": "FLIA UNO"
            },
            "required": false
        },
        {
            "id": 3,
            "name": "de la flia 1",
            "type": "Texto",
            "family": {
                "id": 1,
                "name": "FLIA UNO"
            },
            "required": false
        },
        {
            "id": 4,
            "name": "Varios Opciones",
            "type": "Opción Única",
            "options": [
                {
                    "slug": "cuatro",
                    "text": "cuatro"
                },
                {
                    "slug": "dos",
                    "text": "dos"
                },
                {
                    "slug": "tres",
                    "text": "tres"
                },
                {
                    "slug": "una",
                    "text": "una"
                },
                {
                    "slug": "otra",
                    "text": "OTRA"
                }
            ],
            "required": false
        }
    ],
    "links": {
        "first": "http://ingenio-market.loc/api/v1/features?page=1",
        "last": "http://ingenio-market.loc/api/v1/features?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "http://ingenio-market.loc/api/v1/features",
        "per_page": 15,
        "to": 4,
        "total": 4
    }
}

Crear una Caracteristica

URL: https://__URL_DE_TU_MARKET__/api/v1/features/

Verbo: POST

Esta llamada te permite crear una caracteristica

Cada caracteristica tiene los siguientes datos:

Dato

Tipo

Observaciones

name

string

Es el nombre del item.

Obligatorio

field_type_id

integer

Es el identificador del tipo de campo

family_name

string

es el nombre de la familia de la categoria. Cuando se pasa este parametro se busca si existe y sino lo crea

family_id

integer

es el identificador de una familia de caracteristica

options

string con opciones separados por comas o

array de opciones

[

opciones1,

opciones2,

….

]

array de objecto

[

slug:string,

text:string

]

Es obligatorio si el tipo de campo lo requiere

option_foreign

[

feature_id:43,

option_slug:'slug'

]

Este campo es opcional y sirve para vincular la caracteristica a la selecion de una opcion especifica (option_slug) de otra caracteristica con un determinado id(feature_id)

attributes_field

[]

este campo es una array con los valores definidos de las propiedades del tipo de campo. Por ejemplo para un campo del tipo numero se puede definir el max y el min

[

min:3,

max:7

]

apply_to_all_categories

boolean

Determina si se aplica para todas las categorias.

Predeterminado : 0

visibility

[

visible:boolean,

mode:'normal' or ‘button’,

label_button: string

]

Este campo determina la visibilidad. Si se muestra en el frontend debe estar definido visibility.visible=true

Las propiedades mode es normal por defecto y visible es false

Las propiedades mode=button y label_button son solo validas cuando el tipo de campo es link

categories_id

string con id de categorias separados por comas o

array de ids de categorias

Ejemplo : [15,34,23]

Si el identificador pasado no es de uuna categoria hoja, se asignará la carateritica a todas las hoja de esa categoria