Ventas

En este capítulo se gestionan las ventas del sistema

Añadir nueva venta

Con esta función, es posible llevar a cabo la creación de ventas así como sus productos asociados y sus fechas de entrega.

NOTA:

IMPORTANTE

URL

/CTNEAT/SALEORDER/ADD/{tkn}

Método HTTP

POST

Parámetros de la solicitud

Parámetros de la venta

Nombre del parámetro Tipo de dato Descripción del parámetro Obligatorio Posibles valores
CODIGOVENTA cadena Código de la venta Cualquiera
FECHACREACION cadena Fecha de la venta Ha de ser una string con el formato YYYYMMDDHHmmSS
REFERENCIACLIENTE cadena Código de la venta para el cliente No Cualquiera
NOMBRECLIENTE cadena Nombre del cliente No Cualquiera que esté entre los que hay almacenados en el sistema
IDCLIENTE numérico Identificador del cliente No Cualquiera que esté entre los que hay almacenados en el sistema
LINEAS Lista de objetos Líneas asociadas a la venta No Cualquiera que tenga el formato de la tabla de parámetros de la línea de la venta

Parámetros de la Línea de la venta

Nombre del parámetro Tipo de dato Descripción del parámetro Obligatorio Posibles valores
PRODUCTO cadena Código del producto asociado a la venta Cualquiera que ya exista en la base de datos
UNIDADES numérico Unidades necesarias del producto Números positivos enteros
VERSIONPRODUCTO cadena Versión del producto seleccionado No Versión del producto que aparece en el sistema. Si no se informa el campo, se añadirá la versión por defecto (v0)
PRECIO numérico Precio de la línea Cualquiera que no sea negativo con el siguiente formato 256.36 (9999999999.9999)
FECHAS Lista de objetos Fechas de entrega asociadas a la venta No Cualquiera que cumpla los requisitos del objeto de la tabla de Parámetros de la fecha de entrega

Parámetros de la fecha de entrega

Nombre del parámetro Tipo de dato Descripción del parámetro Obligatorio Posibles valores
FECHAENTREGA cadena Fecha de la entrega correspondiente a la línea de la venta Ha de ser una string con el formato YYYYMMDDHHmmSS
UNIDADES numérico Unidades de la entrega Números positivos enteros
PRECIO numérico Precio de la entrega Valores numéricos positivos.

Encabezados de la solicitud

Nombre del encabezado Descripción del encabezado Obligatorio
Content-Type Tipo de contenido de la solicitud

Cuerpo de la solicitud

Formato del cuerpo de la solicitud: application/json

Descripción del cuerpo de la solicitud:

{
	"CODIGOVENTA": "NÚMERO VENTA",
	"FECHACREACION": "YYYYMMDDHHmmSS",
	"REFERENCIACLIENTE": "CÓDIGO_CLIENTE",
	"NOMBRECLIENTE": "CLIENTE",
	"LINEAS": [{
		"PRODUCTO": "CÓDIGO PRODUCTO",
		"UNIDADES": 50,
		"VERSIONPRODUCTO": "VERSIÓN DEL PRODUCTO",
		"PRECIO": 125.25, 
		"FECHAS": [{
			"FECHAENTREGA": "YYYYMMDDHHmmSS",
			"UNIDADES": 50,
          	"PRECIO": 125.25
          }]	
    }]
}

Parámetros de la respuesta

Nombre del parámetro Tipo de dato Descripción del parámetro Formato
ErrorContent JSON Json con la descripción del resultado de la operación Formato ErrorContent

Códigos de estado de la respuesta

Código de estado Descripción del código de estado Posibles razones
200 OK La solicitud fue exitosa
400 Petición errónea Alguno de los parámetros pasados no es correcto
500 Error interno Error en el servidor
401 Unauthorized El usuario no está autenticado

Ejemplo de consulta

URL

http://ctincoming/CTNEAT/SALEORDER/ADD/6A201F1F5147079FF9CA80DCDBB032AB386905091BC973B53F50E6493EC53868

Objeto de entrada

{
	"CODIGOVENTA": "V-0001",
	"FECHACREACION": "20250410000000",
	"REFERENCIACLIENTE": "SP-098-REF",
	"NOMBRECLIENTE": "CLIENTE",
	"LINEAS": [{
		"PRODUCTO": "PROD_0001",
		"UNIDADES": 100,
		"VERSIONPRODUCTO": "v0",
		"PRECIO": 230.65, 
		"FECHAS": [{
			"FECHAENTREGA": "20250410000000",
			"UNIDADES": 50,
          	"PRECIO": 230.65
        }]	
    }]
}

Ejemplo de respuesta

{ "Success":true, "fault":{ "faultcode":"none", "faultstring":"Sale order has been added", "detail":"Sale order: V-0001 successfully added" } }

Modificar venta

Con esta función, es posible llevar a cabo la modificación de algunos de los parámetros de una venta así como sus productos asociados y sus fechas de entrega.

Hay que tener en cuenta que se podrán añadir nuevas líneas de producto y nuevas fechas de entrega para estas, siemrpe y cuando no se superen las unidades totales del producto a entregar. En cuyo caso, devolverá un error.

En la adición de nuevos productos, no se pueden añadir productos que ya forma parte de la venta, pues el hacer esta acción devolverá un error.

No obstante, es posible modificar los siguientes parámetros:

NOTA:

IMPORTANTE

URL

/CTNEAT/SALEORDER/UPDATE/{tkn}

Método HTTP

PUT

Parámetros de la solicitud

Parámetros de la venta

Nombre del parámetro Tipo de dato Descripción del parámetro Obligatorio Posibles valores
CODIGOVENTA cadena Código de la venta Cualquiera previamente generado en el sistema. Este campo no es posible modificarlo.
REFERENCIACLIENTE cadena Código de la venta para el cliente No Cualquiera
LINEAS Lista de objetos Líneas asociadas a la venta No Cualquiera que tenga el formato de la tabla de parámetros de la línea de la venta

Parámetros de la Línea de la venta

Nombre del parámetro Tipo de dato Descripción del parámetro Obligatorio Posibles valores
PRODUCTO cadena Código del producto asociado a la venta Cualquiera
VERSIONPRODUCTO cadena Versión del producto La versión correspondiente o v0 que es la que se añade por defecto en todos los productos del sistema
UNIDADES numérico Unidades necesarias del producto Números positivos enteros
PRECIO numérico Precio de la línea Cualquiera que no sea negativo con formato 256.36 (9999999999.9999)
FECHAS Lista de objetos Fechas de entrega asociadas a la venta No Cualquiera que cumpla los requisitos del objeto de la tabla de Parámetros de la fecha de entrega

Parámetros de la fecha de entrega

Nombre del parámetro Tipo de dato Descripción del parámetro Obligatorio Posibles valores
FECHAENTREGA cadena Fecha de la fecha de entrega Ha de ser una string con el formato YYYYMMDDHHmmSS
UNIDADES numérico Unidades de la fecha de entrega Números positivos enteros
PRECIO numérico Precio de la fecha de entrega Cualquiera que no sea negativo con formato 256.36 (9999999999.9999)

Encabezados de la solicitud

Nombre del encabezado Descripción del encabezado Obligatorio
Content-Type Tipo de contenido de la solicitud

Cuerpo de la solicitud

Formato del cuerpo de la solicitud: application/json

Descripción del cuerpo de la solicitud:

{
	"CODIGOVENTA": "NÚMERO VENTA",
	"REFERENCIACLIENTE": "CÓDIGO_CLIENTE",
	"LINEAS": [{
    	"PRODUCTO": "CÓDIGO PRODUCTO",
        "VERSIONPRODUCTO": "VERSIÓN DEL PRODUCTO",
		"UNIDADES": 1000,
		"PRECIO": 125.25, 
		"FECHAS": [
          {
        	"FECHAENTREGA": "YYYYMMDDHHmmSS",
          	"UNIDADES": 50,
            "PRECIO": 25.25, 
          },
          {
        	"FECHAENTREGA": "YYYYMMDDHHmmSS",
          	"UNIDADES": 40,
            "PRECIO": 100
          }
        ]	
    }]
}

Parámetros de la respuesta

Nombre del parámetro Tipo de dato Descripción del parámetro Formato
ErrorContent JSON Json con la descripción del resultado de la operación Formato ErrorContent

Códigos de estado de la respuesta

Código de estado Descripción del código de estado Posibles razones
200 OK La solicitud fue exitosa
400 Petición errónea Alguno de los parámetros pasados no es correcto
500 Error interno Error en el servidor
401 Unauthorized El usuario no está autenticado

Ejemplo de consulta

URL

http://ctincoming/CTNEAT/SALEORDER/UPDATE/6A201F1F5147079FF9CA80DCDBB032AB386905091BC973B53F50E6493EC53868

Objeto de entrada

{
	"CODIGOVENTA": "V-0001",
	"REFERENCIACLIENTE": "SP-098-REF",
	"LINEAS": [{
		"PRODUCTO": "PROD_0001",
        "VERSIONPRODUCTO": "v1",
		"UNIDADES": 100,
		"PRECIO": 230.65, 
		"FECHAS": [
          {
        	"FECHAENTREGA": "20260120030325",
          	"UNIDADES": 50
          },
          {
        	"FECHAENTREGA": "20260120030325",
          	"UNIDADES": 50
          }
        ]	
	}]
}

Ejemplo de respuesta

{ "Success":true, "fault":{ "faultcode":"none", "faultstring":"Sale order has been modified", "detail":"Sale order: V-0001 successfully updated" } }

Eliminar una venta

Con esta función, es posible eliminar una venta y todas sus asociaciones a productos o fechas de entrega. Este proceso es irreversible, por lo que, si se elimina una venta no habrá forma de recuperarla.

URL

/CTNEAT/SALEORDER/DELETE/{tkn}

Método HTTP

DELETE

Parámetros de la solicitud

Parámetros de la venta

Nombre del parámetro Tipo de dato Descripción del parámetro Obligatorio Posibles valores
CODIGOVENTA cadena Código de la venta Cualquiera previamente generado en el sistema.

Encabezados de la solicitud

Nombre del encabezado Descripción del encabezado Obligatorio
Content-Type Tipo de contenido de la solicitud

Cuerpo de la solicitud

Esta llamada no tiene cuerpo de solicitud, solo una query añadida en la URL.

Parámetros de la respuesta

Nombre del parámetro Tipo de dato Descripción del parámetro Formato
ErrorContent JSON Json con la descripción del resultado de la operación Formato ErrorContent

Códigos de estado de la respuesta

Código de estado Descripción del código de estado Posibles razones
200 OK La solicitud fue exitosa
400 Petición errónea Alguno de los parámetros pasados no es correcto
500 Error interno Error en el servidor
401 Unauthorized El usuario no está autenticado

Ejemplo de consulta

URL

http://ctincoming/CTNEAT/SALEORDER/DELETE/6A201F1F5147079FF9CA80DCDBB032AB386905091BC973B53F50E6493EC53868?V0001

Ejemplo de respuesta

{ "Success":true, "fault":{ "faultcode":"none", "faultstring":"Sale order has been deleted", "detail":"Sale order: V0001 successfully deleted" } }

Buscar ventas

Con esta función, se tiene la capacidad de leer las ventas que han sido registrados en el sistema. Es importante destacar que se puede proporcionar el nombre de una en concreto a través de un parámetro de URL query así como una fecha de creación de esta. En caso de no especificar estos parámetro, se llevará a cabo la lectura de todos las ventas del sistema. Si la fecha se introduce en el formato no deseado, se mostrarán todas las fechas.

URL

/CTNEAT/SALEORDER/READ/{tkn}

Método HTTP

GET

Parámetros de la solicitud

Nombre del parámetro Tipo de dato Descripción del parámetro Obligatorio Posibles valores
CODIGOVENTA cadena Nombre de la venta No Cualquiera
FECHACREACION cadena Fecha de creación o lanzamiento del pedido No Fechas en formato DD/MM/YYYY

Encabezados de la solicitud

Nombre del encabezado Descripción del encabezado Obligatorio

Cuerpo de la solicitud

No se requiere un cuerpo de solicitud para este método HTTP.

Parámetros de la respuesta

Nombre del parámetro Tipo de dato Descripción del parámetro
Result JSON Json con la descripción del resultado de la operación
Elementos de Result

Códigos de estado de la respuesta

Código de estado Descripción del código de estado Posibles razones
200 OK La solicitud fue exitosa
400 Petición errónea Alguno de los parámetros pasados no es correcto
500 Error interno Error en el servidor
401 Unauthorized El usuario no está autenticado

Ejemplo de consulta

http://ctincoming/SALEORDER/READ/693DDFEC2F4BFDDEAF04DD2724984C9B3CA89D553DD8E5B9BB233AD6BB6075F1?CODIGOVENTA=PEDIDO&FECHACREACION=20250302112358

Ejemplo de respuesta

{ 
  "NRecords":1, 
  "Data":[ 
    {
        "CODIGOVENTA": "V-0001",
        "FECHACREACION": "24/02/2025",
        "REFERENCIACLIENTE": "SP-098-REF",
        "NOMBRECLIENTE": "CLIENTE",
        "LINEAS": [{
            "PRODUCTO": "PROD_0001",
            "UNIDADES": 100,
            "VERSIONPRODUCTO": "v0",
            "PRECIO": 230.65, 
            "FECHAS": [{
                "FECHAENTREGA": "24/04/2025",
                "UNIDADES": 50,
                "PRECIO": 10
            }]	
        }]
    } 
  ] 
}