MENU navbar-image

Introduccion

API para la integración con la plataforma G Digital. Proporciona endpoints para la sincronización del catálogo de productos y la gestión de pedidos con autenticación segura basada en tokens.

API de Integración con G Digital

Esta API proporciona los endpoints necesarios para la integración automatizada de productos y gestión de stock con la plataforma G Digital.

Endpoints Principales

Características

Consideraciones Técnicas

Importante

Esta API está diseñada exclusivamente para la integración con G Digital y es implementada siguiendo estrictamente las especificaciones proporcionadas para asegurar una correcta sincronización de productos y gestión de inventario.

Autenticando peticiones

Para autenticar las peticiones, incluye un encabezado Authorization con el valor "Bearer {TOKEN}".

Todas las peticiones autenticadas estan marcadas con una etiqueta requiere autenticación en la documentación de abajo.

El token sera proporcionado por el administrador del sistema. Asegúrese de mantenerlo seguro y no compartirlo públicamente.

Categorias

Obtener categorías principales

requires authentication

Devuelve un listado de las categorías. Cada categoría incluye su ID y nombre.

Peticion de ejemplo:
$client = new \GuzzleHttp\Client();
$url = 'https://api-vagos.dlstechnology.com.py/api/main_categories';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api-vagos.dlstechnology.com.py/api/main_categories"
);

const headers = {
    "Authorization": "Bearer {TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api-vagos.dlstechnology.com.py/api/main_categories" \
    --header "Authorization: Bearer {TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Respuesta de ejemplo (200):


{
    "categories": [
        {
            "id": "1",
            "name": "Electronics"
        },
        {
            "id": "2",
            "name": "Books"
        }
    ]
}
 

Respuesta de ejemplo (401):


{
    "message": "Unauthenticated"
}
 

Respuesta de ejemplo (500):


{
    "error": "Failed to fetch categories information",
    "message": "Error message here"
}
 

Peticiones      

GET api/main_categories

Encabezados

Authorization      

Example: Bearer {TOKEN}

Content-Type      

Example: application/json

Accept      

Example: application/json

Marcas

Listado de marcas disponibles

requires authentication

Devuelve un listado completo de las marcas en el sistema con sus IDs y nombres.

Peticion de ejemplo:
$client = new \GuzzleHttp\Client();
$url = 'https://api-vagos.dlstechnology.com.py/api/brands';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api-vagos.dlstechnology.com.py/api/brands"
);

const headers = {
    "Authorization": "Bearer {TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api-vagos.dlstechnology.com.py/api/brands" \
    --header "Authorization: Bearer {TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Respuesta de ejemplo (200):


{[{"id": 1, "name": "Brand A"}, {"id": 2, "name": "Brand B"}]}
 

Respuesta de ejemplo (401):


{
    "message": "Unauthenticated"
}
 

Respuesta de ejemplo (500):


{
    "error": "Failed to fetch brands information",
    "message": "Error message here"
}
 

Peticiones      

GET api/brands

Encabezados

Authorization      

Example: Bearer {TOKEN}

Content-Type      

Example: application/json

Accept      

Example: application/json

Pagos

Registrar pago de pedido

requires authentication

Almacena la información del pago realizado para un pedido de e-commerce. Registra detalles como importe, números de autorización, ticket, y respuesta del procesador.

Peticion de ejemplo:
$client = new \GuzzleHttp\Client();
$url = 'https://api-vagos.dlstechnology.com.py/api/orders/payment/architecto';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'amount' => '350000',
            'process_id' => '12345',
            'authorization_number' => '987654',
            'ticket_number' => '45678',
            'response_code' => '0',
            'response_description' => '"Transacción aprobada"',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api-vagos.dlstechnology.com.py/api/orders/payment/architecto"
);

const headers = {
    "Authorization": "Bearer {TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "amount": "350000",
    "process_id": "12345",
    "authorization_number": "987654",
    "ticket_number": "45678",
    "response_code": "0",
    "response_description": "\"Transacción aprobada\""
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
    "https://api-vagos.dlstechnology.com.py/api/orders/payment/architecto" \
    --header "Authorization: Bearer {TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"amount\": \"350000\",
    \"process_id\": \"12345\",
    \"authorization_number\": \"987654\",
    \"ticket_number\": \"45678\",
    \"response_code\": \"0\",
    \"response_description\": \"\\\"Transacción aprobada\\\"\"
}"

Respuesta de ejemplo (201):


{
    "payment_id": 789,
    "message": "Pago registrado exitosamente"
}
 

Respuesta de ejemplo (422):


{
    "error": "Validation error",
    "message": {
        "amount": [
            "El campo importe es obligatorio."
        ]
    }
}
 

Respuesta de ejemplo (500):


{
    "error": "Failed to register payment",
    "message": "Error message here"
}
 

Peticiones      

POST api/orders/payment/{orderId}

Encabezados

Authorization      

Example: Bearer {TOKEN}

Content-Type      

Example: application/json

Accept      

Example: application/json

Parametros de URL

orderId   string   

Example: architecto

Parametros del cuerpo

amount   numeric   

Importe del pago realizado. Example: 350000

process_id   numeric   

Número de proceso relacionado con el pago. Example: 12345

authorization_number   numeric   

Número de autorización devuelto por el sistema de pagos. Example: 987654

ticket_number   numeric   

Número de ticket de la transacción. Example: 45678

response_code   numeric   

Código de respuesta de la transacción (ej: 00 = aprobado, 05 = rechazado). Example: 0

response_description   string   

Descripción textual de la respuesta del sistema de pagos. Example: "Transacción aprobada"

Pedidos

Crear nuevo pedido de e-commerce

requires authentication

Inserta un pedido completo en el sistema, incluyendo cabecera y detalle de artículos. Realiza validaciones y cálculos necesarios.

Peticion de ejemplo:
$client = new \GuzzleHttp\Client();
$url = 'https://api-vagos.dlstechnology.com.py/api/orders';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'nit' => '"1234567-8"',
            'fecha_hora_pedido' => '"2025-07-08T14:31:52+00:00"',
            'cliente_descripcion' => '"Juan Pérez"',
            'id_ecommerce' => '"EC123"',
            'tipo_pago_codigo' => '"TARJ"',
            'tipo_pago_nombre' => '"Tarjeta de Crédito"',
            'descuento' => '15000',
            'observacion' => '"Entregar en horario de oficina"',
            'address' => '"Calle Principal 123"',
            'state' => '"Central"',
            'city' => '"Asunción"',
            'phone_number' => '"0981123456"',
            'email' => '"cliente@example.com"',
            'payment_method' => '"Visa"',
            'invoice_number' => '"001-001-0012345"',
            'items' => [
                'architecto',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api-vagos.dlstechnology.com.py/api/orders"
);

const headers = {
    "Authorization": "Bearer {TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nit": "\"1234567-8\"",
    "fecha_hora_pedido": "\"2025-07-08T14:31:52+00:00\"",
    "cliente_descripcion": "\"Juan Pérez\"",
    "id_ecommerce": "\"EC123\"",
    "tipo_pago_codigo": "\"TARJ\"",
    "tipo_pago_nombre": "\"Tarjeta de Crédito\"",
    "descuento": "15000",
    "observacion": "\"Entregar en horario de oficina\"",
    "address": "\"Calle Principal 123\"",
    "state": "\"Central\"",
    "city": "\"Asunción\"",
    "phone_number": "\"0981123456\"",
    "email": "\"cliente@example.com\"",
    "payment_method": "\"Visa\"",
    "invoice_number": "\"001-001-0012345\"",
    "items": [
        "architecto"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
    "https://api-vagos.dlstechnology.com.py/api/orders" \
    --header "Authorization: Bearer {TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nit\": \"\\\"1234567-8\\\"\",
    \"fecha_hora_pedido\": \"\\\"2025-07-08T14:31:52+00:00\\\"\",
    \"cliente_descripcion\": \"\\\"Juan Pérez\\\"\",
    \"id_ecommerce\": \"\\\"EC123\\\"\",
    \"tipo_pago_codigo\": \"\\\"TARJ\\\"\",
    \"tipo_pago_nombre\": \"\\\"Tarjeta de Crédito\\\"\",
    \"descuento\": \"15000\",
    \"observacion\": \"\\\"Entregar en horario de oficina\\\"\",
    \"address\": \"\\\"Calle Principal 123\\\"\",
    \"state\": \"\\\"Central\\\"\",
    \"city\": \"\\\"Asunción\\\"\",
    \"phone_number\": \"\\\"0981123456\\\"\",
    \"email\": \"\\\"cliente@example.com\\\"\",
    \"payment_method\": \"\\\"Visa\\\"\",
    \"invoice_number\": \"\\\"001-001-0012345\\\"\",
    \"items\": [
        \"architecto\"
    ]
}"

Respuesta de ejemplo (201):


{
    "id": 12345,
    "message": "Pedido creado exitosamente"
}
 

Respuesta de ejemplo (422):


{
    "error": "Validation error",
    "message": {
        "nit": [
            "El campo nit es obligatorio."
        ]
    }
}
 

Respuesta de ejemplo (500):


{
    "error": "Failed to create order",
    "message": "Error message here"
}
 

Peticiones      

POST api/orders

Encabezados

Authorization      

Example: Bearer {TOKEN}

Content-Type      

Example: application/json

Accept      

Example: application/json

Parametros del cuerpo

nit   string   

Documento del cliente (RUC o CI). Example: "1234567-8"

fecha_hora_pedido   string   

Fecha y hora del pedido en formato ISO 8601. Example: "2025-07-08T14:31:52+00:00"

cliente_descripcion   string   

Nombre completo del cliente. Example: "Juan Pérez"

id_ecommerce   string   

ID del ecommerce. Example: "EC123"

tipo_pago_codigo   optional  optional  

string required Código del tipo de pago. Example: "TARJ"

tipo_pago_nombre   optional  optional  

string required Nombre del tipo de pago. Example: "Tarjeta de Crédito"

descuento   numeric  optional  

optional Monto total de descuento. Example: 15000

observacion   string  optional  

optional Datos adicionales del cliente. Example: "Entregar en horario de oficina"

address   string  optional  

optional Dirección de entrega. Example: "Calle Principal 123"

state   string  optional  

optional Estado/Departamento. Example: "Central"

city   string  optional  

optional Ciudad. Example: "Asunción"

phone_number   string  optional  

optional Número de teléfono. Example: "0981123456"

email   string  optional  

optional Email del cliente. Example: "cliente@example.com"

payment_method   optional  optional  

string optional Método de pago adicional. Example: "Visa"

invoice_number   optional  optional  

string optional Número de factura. Example: "001-001-0012345"

items   string[]   

Lista de artículos del pedido.

*   object  optional  
articulo_codigo   string   

Código del artículo. Example: "ABC123"

articulo_descripcion   string   

Nombre del artículo. Example: "Zapatilla Nike Air"

cantidad   numeric   

Cantidad solicitada. Example: 2

descuento   numeric  optional  

optional Descuento aplicado. Example: 5000

precio   numeric   

Precio unitario del artículo. Example: 350000

tamano   string  optional  

optional Tamaño del artículo. Example: "L"

color   string  optional  

optional Color del artículo. Example: "Rojo"

Obtener estado de la compra

requires authentication

Devuelve todos los datos de una orden incluyendo los estados de pago, financiero y número de factura.

Peticion de ejemplo:
$client = new \GuzzleHttp\Client();
$url = 'https://api-vagos.dlstechnology.com.py/api/order/architecto';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api-vagos.dlstechnology.com.py/api/order/architecto"
);

const headers = {
    "Authorization": "Bearer {TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api-vagos.dlstechnology.com.py/api/order/architecto" \
    --header "Authorization: Bearer {TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Respuesta de ejemplo (200):


{
    "order_id": "48078",
    "full_name": "Carolina XXXX",
    "ruc": "747111",
    "address": "San Francisco 1103 esquina Concordia",
    "state": "Asunción",
    "city": "Asunción",
    "phone_number": "0981123456",
    "email": "prueba@gmail.com",
    "remarks": "",
    "payment_method": "bancard",
    "delivery_method": "aex",
    "status": "paid",
    "financial_status": "confirmed",
    "invoice_number": null,
    "items": [
        {
            "sku": "848090",
            "name": "VINO CHAC CHAC MALBEC ROSE 750ML",
            "barcode": "nil",
            "quantity": 1,
            "unit_price": 40000
        }
    ]
}
 

Respuesta de ejemplo (404):


{
    "error": "Order not found",
    "message": "El pedido especificado no existe"
}
 

Respuesta de ejemplo (500):


{
    "error": "Failed to fetch order",
    "message": "Error message here"
}
 

Peticiones      

GET api/order/{orderId}

Encabezados

Authorization      

Example: Bearer {TOKEN}

Content-Type      

Example: application/json

Accept      

Example: application/json

Parametros de URL

orderId   string   

Example: architecto

order_id   string   

ID del pedido a consultar. Example: 48078

Productos

Listado completo de productos

requires authentication

Devuelve un listado completo de productos con información relacionada como marcas, imágenes y variaciones según la especificación de WooCommerce.

Peticion de ejemplo:
$client = new \GuzzleHttp\Client();
$url = 'https://api-vagos.dlstechnology.com.py/api/products/list';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api-vagos.dlstechnology.com.py/api/products/list"
);

const headers = {
    "Authorization": "Bearer {TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api-vagos.dlstechnology.com.py/api/products/list" \
    --header "Authorization: Bearer {TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Respuesta de ejemplo (200):


[
    {
        "name": "Pelota inflable",
        "type": "variable",
        "description": "Pelota infantil para juegos al aire libre",
        "short_description": "Pelota ideal para niños",
        "sku": "PEL-123",
        "brand": {
            "name": "Samsung",
            "id": "23"
        },
        "regular_price_usd": "10.00",
        "sale_price_usd": "8.50",
        "regular_price_pyg": "70000.00",
        "sale_price_pyg": "59500.00",
        "manage_stock": "true",
        "stock_quantity": null,
        "weight": "500",
        "dimensions": {
            "length": null,
            "width": null,
            "height": null
        },
        "categories": {
            "main_category": "Clothing",
            "sub_category": "T-shirts"
        },
        "images": [
            {
                "src": "https://e.com/f1.jpg"
            },
            {
                "src": "https://e.com/f2.jpg"
            }
        ],
        "attributes": [],
        "variations": []
    }
]
 

Respuesta de ejemplo (401):


{
    "message": "Unauthenticated"
}
 

Respuesta de ejemplo (500):


{
    "error": "Failed to fetch products information",
    "message": "Error message here"
}
 

Peticiones      

GET api/products/list

Encabezados

Authorization      

Example: Bearer {TOKEN}

Content-Type      

Example: application/json

Accept      

Example: application/json

Obtención de productos por marcas

requires authentication

Devuelve un listado de productos filtrados por marca con información básica para visualización.

Peticion de ejemplo:
$client = new \GuzzleHttp\Client();
$url = 'https://api-vagos.dlstechnology.com.py/api/api/brands/551/products';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api-vagos.dlstechnology.com.py/api/api/brands/551/products"
);

const headers = {
    "Authorization": "Bearer {TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api-vagos.dlstechnology.com.py/api/api/brands/551/products" \
    --header "Authorization: Bearer {TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Respuesta de ejemplo (200):


[
    {
        "sku": "SMG001",
        "name": "Smart TV Samsung 50''",
        "regular_price_pyg": 3500000,
        "sale_price_pyg": 2990000,
        "stock_quantity": 15,
        "categories": {
            "main_category": "Electrodomésticos",
            "sub_category": "TV"
        },
        "images": [
            {
                "src": "https://ecommerce.com/img/tv1.jpg"
            }
        ]
    }
]
 

Respuesta de ejemplo (404):


{
    "error": "Brand not found",
    "message": "No se encontró la marca especificada"
}
 

Respuesta de ejemplo (500):


{
    "error": "Failed to fetch brand products",
    "message": "Error message here"
}
 

Peticiones      

GET api/api/brands/{brand_id}/products

Encabezados

Authorization      

Example: Bearer {TOKEN}

Content-Type      

Example: application/json

Accept      

Example: application/json

Parametros de URL

brand_id   string   

El ID de la marca. Example: 551

Obtención de los datos de un producto específico

requires authentication

Devuelve la información completa de un producto basado en su SKU.

Peticion de ejemplo:
$client = new \GuzzleHttp\Client();
$url = 'https://api-vagos.dlstechnology.com.py/api/api/products/TF3381';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api-vagos.dlstechnology.com.py/api/api/products/TF3381"
);

const headers = {
    "Authorization": "Bearer {TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api-vagos.dlstechnology.com.py/api/api/products/TF3381" \
    --header "Authorization: Bearer {TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Respuesta de ejemplo (200):


{
    "name": "BLUSA DAMA CROP LARA I T. S-XL",
    "type": "variable",
    "description": "BLUSA DAMA CROP LARA I T. S-XL",
    "short_description": "BLUSA DAMA CROP LARA I T. S-XL",
    "sku": "TF3381",
    "brand": {
        "name": "TOP FASHION",
        "id": "551"
    }
}
 

Respuesta de ejemplo (404):


{
    "error": "Product not found",
    "message": "No se encontró el producto especificado"
}
 

Respuesta de ejemplo (500):


{
    "error": "Failed to fetch product",
    "message": "Error message here"
}
 

Peticiones      

GET api/api/products/{sku}

Encabezados

Authorization      

Example: Bearer {TOKEN}

Content-Type      

Example: application/json

Accept      

Example: application/json

Parametros de URL

sku   string   

El SKU del producto a consultar. Example: TF3381

Consulta de stock en tiempo real

requires authentication

Acepta un array de SKUs de productos y devuelve las cantidades de stock actuales. Si un SKU no existe en el sistema de inventario, se devolverá un error.

Peticion de ejemplo:
$client = new \GuzzleHttp\Client();
$url = 'https://api-vagos.dlstechnology.com.py/api/products/stock';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'skus' => [
                'sku1',
                'sku2',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api-vagos.dlstechnology.com.py/api/products/stock"
);

const headers = {
    "Authorization": "Bearer {TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "skus": [
        "sku1",
        "sku2"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
    "https://api-vagos.dlstechnology.com.py/api/products/stock" \
    --header "Authorization: Bearer {TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"skus\": [
        \"sku1\",
        \"sku2\"
    ]
}"

Respuesta de ejemplo (200):


{"sku1": 10, "sku2": 5, ...}
 

Respuesta de ejemplo (401):


{
    "message": "Unauthenticated"
}
 

Respuesta de ejemplo (422):


{
    "error": "Validation error",
    "message": {
        "skus.0": [
            "The selected skus.0 is invalid."
        ]
    }
}
 

Respuesta de ejemplo (422):


{
    "error": "Validation error",
    "message": {
        "skus.0": [
            "The skus.0 field must be a string."
        ]
    }
}
 

Respuesta de ejemplo (422):


{
    "error": "Validation error",
    "message": {
        "skus": [
            "The skus field is required."
        ]
    }
}
 

Respuesta de ejemplo (500):


{
    "error": "Failed to fetch stock information",
    "message": "Error message here"
}
 

Peticiones      

POST api/products/stock

Encabezados

Authorization      

Example: Bearer {TOKEN}

Content-Type      

Example: application/json

Accept      

Example: application/json

Parametros del cuerpo

skus   string[]   

Arreglo de SKUs para obtener stock.

Consulta de stock para variaciones de productos

requires authentication

Acepta un array de objetos donde cada objeto contiene un SKU base y atributos que definen la variación específica (como talla y color). Devuelve las cantidades de stock para cada variación solicitada.

Peticion de ejemplo:
$client = new \GuzzleHttp\Client();
$url = 'https://api-vagos.dlstechnology.com.py/api/get_stock_for_variations';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            [
                'sku' => '"ABC123"',
                'attributes' => [
                    'Color' => 'Rojo',
                    'Tamaño' => '"M"',
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api-vagos.dlstechnology.com.py/api/get_stock_for_variations"
);

const headers = {
    "Authorization": "Bearer {TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = [
    {
        "sku": "\"ABC123\"",
        "attributes": {
            "Color": "Rojo",
            "Tamaño": "\"M\""
        }
    }
];

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
    "https://api-vagos.dlstechnology.com.py/api/get_stock_for_variations" \
    --header "Authorization: Bearer {TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "[
    {
        \"sku\": \"\\\"ABC123\\\"\",
        \"attributes\": {
            \"Color\": \"Rojo\",
            \"Tamaño\": \"\\\"M\\\"\"
        }
    }
]"

Respuesta de ejemplo (200):


{
    "ABC123_M_Rojo": 5,
    "ABC123_L_Azul": 0,
    "ABC123_ST_Verde": 8
}
 

Respuesta de ejemplo (401):


{
    "message": "Unauthenticated"
}
 

Respuesta de ejemplo (422):


{
    "error": "Validation error",
    "message": {
        "0.sku": [
            "El campo sku es obligatorio."
        ]
    }
}
 

Respuesta de ejemplo (422):


{
    "error": "Validation error",
    "message": {
        "0.attributes.Color": [
            "El campo Color es obligatorio."
        ]
    }
}
 

Respuesta de ejemplo (500):


{
    "error": "Failed to fetch stock information",
    "message": "Error message here"
}
 

Peticiones      

POST api/get_stock_for_variations

Encabezados

Authorization      

Example: Bearer {TOKEN}

Content-Type      

Example: application/json

Accept      

Example: application/json

Parametros del cuerpo

The request body is an array (object[]`), representing arreglo de variaciones a consultar.. Each item has the following properties:

sku   string   

SKU base del producto. Example: "ABC123"

attributes   object   

Atributos que definen la variación.

Color   string   

Color de la variación. Example: "Rojo"

Tamaño   string  optional  

optional Tamaño de la variación (usa "ST" por defecto si no se especifica). Example: "M"

Consulta de stock por sucursal

requires authentication

Acepta un array de objetos donde cada objeto contiene un SKU y una sucursal. Devuelve las cantidades de stock disponibles para cada combinación SKU-sucursal.

Peticion de ejemplo:
$client = new \GuzzleHttp\Client();
$url = 'https://api-vagos.dlstechnology.com.py/api/get_stock_by_branch';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {TOKEN}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            [
                'sku' => '"ABC123"',
                'branch' => '"ASU"',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api-vagos.dlstechnology.com.py/api/get_stock_by_branch"
);

const headers = {
    "Authorization": "Bearer {TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = [
    {
        "sku": "\"ABC123\"",
        "branch": "\"ASU\""
    }
];

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
curl --request POST \
    "https://api-vagos.dlstechnology.com.py/api/get_stock_by_branch" \
    --header "Authorization: Bearer {TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "[
    {
        \"sku\": \"\\\"ABC123\\\"\",
        \"branch\": \"\\\"ASU\\\"\"
    }
]"

Respuesta de ejemplo (200):


{
    "ABC123_ASU": 12,
    "XYZ987_CDE": 3
}
 

Respuesta de ejemplo (401):


{
    "message": "Unauthenticated"
}
 

Respuesta de ejemplo (422):


{
    "error": "Validation error",
    "message": {
        "0.sku": [
            "El campo sku es obligatorio."
        ]
    }
}
 

Respuesta de ejemplo (422):


{
    "error": "Validation error",
    "message": {
        "0.branch": [
            "El campo branch es obligatorio."
        ]
    }
}
 

Respuesta de ejemplo (500):


{
    "error": "Failed to fetch branch stock information",
    "message": "Error message here"
}
 

Peticiones      

POST api/get_stock_by_branch

Encabezados

Authorization      

Example: Bearer {TOKEN}

Content-Type      

Example: application/json

Accept      

Example: application/json

Parametros del cuerpo

The request body is an array (object[]`), representing arreglo de productos y sucursales a consultar.. Each item has the following properties:

sku   string   

SKU del producto. Example: "ABC123"

branch   string   

Código de la sucursal. Example: "ASU"