Documentación API
Descripción
A continuación se describen los pasos a seguir para implementar la API de forma correcta. Siga a detalle cada paso, si presenta algun problema comuniquese con nosotros al correo: soporte@acontrol.com.mx.
Autenticación
La llave de autenticación es usada para autenticar todas tus llamadas al servidor de AControl por medio de una autenticación basada en una llave de Usuario. La llave de usuario debe ser proporcionada por el propietario de la cuenta AControl.
Además de la llave de usuario se utiliza la cabecera: "X-Authorization", la cual también debe ser proporcionada por el propietario de la cuenta AControl.
Métodos de Interacción
URL
URL base para consumir la API.
https://cloud.acontrol.net/restapi/v1
1.- Crear un pedido
Método | URL |
---|---|
POST | /guardar_pedido |
Ejemplo PHP:
CURLOPT_URL => "https://cloud.acontrol.net/restapi/v1/guardar_pedido"
CURLOPT_CUSTOMREQUEST => "POST"
- Establecer cabeceras:
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
- Campos de la petición:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
usuario_key | SI | varchar (alfanumérico sin espacios) | 50 | Llave del usuario. |
fecha_emision | SI | varchar | 20 | Fecha de creación del pedido. |
folio_alt | NO | varchar | 50 | Folio alternativo del pedido. |
id_cotizacion | NO | int | 10 | Id de la cotización realizada. |
id_cliente | NO | int | 10 | Id del cliente de su sitio, para que este dato sea correcto se debe vincular previamente los clientes desde el modulo de clientes. |
empresa_cli | NO | varchar | 150 | Nombre de la empresa a la que pertenece el cliente. |
nombre_cli | SI | varchar | 100 | Nombre del cliente al que se hizo el pedido. |
area_cli | SI | varchar | 150 | Nombre del área a la que pertenece el cliente. |
calle_cliente | NO | varchar | 300 | Nombre de la calle. Este dato se define cuando no se ingresa un id del cliente. |
numExt_cliente | NO | varchar | 50 | Número exterior del lugar donde se encuentra el cliente. Este dato se define cuando no se ingresa un id del cliente. |
numInt_cliente | NO | varchar | 50 | Número interior del lugar donde se encuentra el cliente. Este dato se define cuando no se ingresa un id del cliente. |
colonia_cliente | NO | varchar | 300 | Nombre de la colonia. Este dato se define cuando no se ingresa un id del cliente. |
municipio_cliente | NO | varchar | 300 | Nombre del municipio. Este dato se define cuando no se ingresa un id del cliente. |
estado_cliente | NO | varchar | 300 | Estado donde se ubica el cliente. Este dato se define cuando no se ingresa un id del cliente. |
cp_cliente | NO | varchar | 10 | Código postal. Este dato se define cuando no se ingresa un id del cliente. |
pais_cliente | NO | varchar | 3 | Páis donde se encuentra el cliente, se toman unicamente tres digítos. Este dato se define cuando no se ingresa un id del cliente. |
rfc_cliente | NO | varchar | 13 | Registro Federal del Contribuyente asignado al cliente. Este dato se define cuando no se ingresa un id del cliente. |
email_cliente | NO | varchar | 100 | Correo Electrónico dle cliente. Este dato se define cuando no se ingresa un id del cliente. |
telefono_cliente | NO | varchar | 100 | Teléfono de contacto. Este dato se define cuando no se ingresa un id del cliente. |
no_compra_cliente | NO | varchar | 50 | Número de compra del cliente. Este dato se define cuando no se ingresa un id del cliente. |
c_UsoCFDI | NO | varchar | 3 | Dato del SAT, tipo de uso de CFDI. Este dato se define cuando no se ingresa un id del cliente. |
manejo_iva | SI | varchar | 2 |
Recibe unicamente dos valores: 1.- "SI" 2.- "NO" |
iva_valor | NO | int | 2 | Se especifica este valor cuando la variable manejo_iva es "SI". Recibe un valor entero de dos dijitos, ejemplo: 16. |
moneda | SI | int | 1 | La moneda en que se realizo el pedido. |
valorCambio | NO | float | En caso de que la moneda sea mayor a 1 (Peso Mexicano), se debe ingresar el tipo de cambio de la moneda extrangera. | |
subtotal | SI | double | Suma del importe de los productos sin iva. | |
porciento_desc | NO | double | Porcentaje del descuento a dos cifras sin punto decimal. | |
descuento | NO | double | Valor del descuento aplicado al subtotal. | |
subtotal2 | SI | double | Es el resultado del subtotal menos el descuento aplicado. | |
iva | NO | double | Monto acumulado del impuesto I.V.A. | |
total | SI | double | Es el resultado de la suma del subtotal2 más el impuesto I.V.A. | |
anticipo | SI | double | En caso de que el pedido este pagado por completo el anticipo es igual al total, o si es por pagos se debe ingresar el pago. | |
resta | SI | double | Es el resultado del total menos el aticipo | |
estatus_pago | SI | varchar | 15 |
Recibe unicamente dos valores: 1.- "Pendiente" 2.- "Pagado" |
referencia | NO | varchar | 50 | Referencia del pedido. |
observaciones | NO | longtext | Observaciones del pedido. | |
transaccion_autorizacion | NO | int | 11 | Número de autorización del pago |
transaccion_tipo | NO | varchar | 100 | Tipo de transacción, por ejemplo: "cargo". |
transaccion_inicio | NO | varchar | 20 | Fecha y hora del inicio de la transacción. Ejemplo: "2019-11-15T17:39:44-" |
transaccion_fin | NO | varchar | 20 | Fecha y hora del final de la transacción. Ejemplo: "2019-11-15T17:39:44-" |
transaccion_tipo_tar | NO | varchar | 100 | Tipo de tarjeta utilizada en la transacción. Ejemplos: "Master Card", "American Express", "Visa", "Etc.". |
transaccion_met_pago | NO | varchar | 50 |
Tipo de tarjeta utilizada para el pago. Solo acepta dos opciones: 1.- "credit" 2.- "debit" |
id_prod = array() | SI | int | 10 | Arreglo de id del producto vendidos en el pedido. El id del producto debe ser previamente vinculado desde el modulo de catalogo. Ejemplo: "id_prod = array(1, 2, 3)". |
nombre_pro = array() | SI | varchar | 100 | Arreglo de los nombres de productos vendidos en el pedido. Ejemplo: "nombre_pro = array("Reloj Digital", "Llavero de globo", "...")". |
modelo_pro = array() | SI | varchar | 50 | Arreglo de los modelos de productos vendidos en el pedido. Ejemplo: "modelo_pro = array("Led", "Metal", "...")". |
descripcion_pro = array() | SI | longtext | Arreglo de las descripciones de productos vendidos en el pedido. Ejemplo: "descripcion_pro = array("Reloj digital led acabado mate", "Llavero ...", "...")". | |
clave_pro_servicio = array() | NO | varchar | 8 | Arreglo de las claves de producto o servicio (SAT) vendidos en el pedido. Ejemplo: "clave_pro_servicio = array("54111500", "31162306", "")". |
clave_unidad_pro = array() | NO | varchar | 3 | Arreglo de las claves de unidad del producto (SAT) vendidos en el pedido. Ejemplo: "clave_unidad_pro = array("H87", "H87", "")". |
unidad_medida_pro = array() | NO | varchar | 20 | Arreglo de las unidades de medida del producto vendidos en el pedido. Ejemplo: "unidad_medida_pro = array("Pieza", "PIEZA", "")". |
cantidad_pro = array() | SI | double | Arreglo de las cantidades del producto vendidos en el pedido. Ejemplo: "cantidad_pro = array(2, 5, 1)". | |
precio_uni_pro = array() | SI | double | Arreglo de los precios unitarios del producto vendidos en el pedido. Ejemplo: "precio_uni_pro = array(55.56, 10.00, 50)". | |
porc_mas_menos_pro = array() | NO | float | Arreglo de los porcentajes de descuento o aumento en el precio del producto vendidos en el pedido. Ejemplo descuento: "porc_mas_menos_pro = array(-10, -15, -50)". Ejemplo aumento: "porc_mas_menos_pro = array(10, 15, 50)". | |
importe_pro = array() | SI | double | Arreglo de los importes del producto vendidos en el pedido. Ejemplo: "importe_pro = array(111.12, 50, 50)". |
Ejemplo de la petición API, método POST:
{
"usuario_key": "26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd",
"fecha_emision": "2021/06/10",
"id_cliente": "2",
"nombre_cli": "Pedro Juarez",
"area_cli": "jefe",
"manejo_iva": "SI",
"iva_valor": "16",
"moneda": "1",
"subtotal": "1237.47",
"subtotal2": "1237.47",
"iva": "197.9952",
"total": "1435.4652",
"anticipo": "1435.4652",
"resta": "0",
"estatus_pago": "Pagado",
"referencia": "API",
"transaccion_autorizacion": "801585",
"transaccion_tipo": "charge",
"transaccion_inicio": "2021-11-20T10:57:08-",
"transaccion_fin": "2021-11-20T10:57:08-",
"transaccion_tipo_tar": "visa",
"transaccion_met_pago": "credit",
"id_prod": array(
[0] => "179",
[1] => "180"
),
"nombre_pro": array(
[0] => "Training Pads Guardian 21 X 21 120CT 25G",
[1] => "Training Pads Guardian 30 X 21 50CT"
),
"modelo_pro": array(
[0] => "Training Pads Guardian 21 X 21 120CT 25G",
[1] => "Training Pads Guardian 30 X 21 50CT"
),
"descripcion_pro": array(
[0] => "",
[1] = ""
),
"cantidad_pro": array(
[0] => "2",
[1] => "1"
),
"precio_uni_pro": array(
[0] => "453.8625",
[1] => "329.745"
),
"importe_pro": array(
[0] => "907.725"
[1] => "329.745"
)
}
- Tabla de campos Response:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
error | SI | bool | Indica si existe un error en la ejecución. Si el valor es true existe un error. | |
message | SI | varchar | Describe los detalles de la ejecución. Aqui se pueden mostrar los detalles de los errores o los mensajes de ejecución correcta. | |
status | SI | int | Muestra el estatus de la ejecución, devuelve un estatus "201" si todo es correcto, de lo contrario puede devolver un estatus "400" o "401". |
Ejemplo de la respuesta :
Pedido correcto
{
"error":false,
"message":"Pedido guardado correctamente.",
"status":201
}
Pedido incorrecto
{
"error":true,
"message":"Campo(s) usuario_key falta(n) o esta(n) vacio(s)",
"status":400
}
Descripción
A continuación se describen los pasos a seguir para implementar la API de forma correcta. Siga a detalle cada paso, si presenta algun problema comuniquese con nosotros.
Métodos de Interacción
1.- Vincular Productos
A continuación se muestran los pasos para vincular un producto del sistema AControl con un producto de otro sitio.
Dentro de los modulos de Catalogo y Inventario se agrego una sección llamada API, tanto en agregar, editar y ver. En esta sección se deberá agregar en el campo ID Sitio el id del producto que tienen el su sitio. De esta forma se pueden vincular los productos con el sistema AControl a la hora de consumir la API.
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
ID Sitio | SI | int | 11 | Id del cliente en el sitio. |
Una vez vinculado tu producto puedes enviar este id como id de producto utilizando la API para insertar un pedido y el sistema lo vinculara para descontar de inventario en caso de ser entregado o poner en pendiente por surtir.
*En caso de alguna duda comuniquese con nosotros.
2.- Listar Productos
URL
URL base para consumir la API.
https://cloud.acontrol.net/restapi/v1
Método | URL |
---|---|
POST | /lista_productos |
HEADERS AUTHORIZATION*
Para la implementación de cualquier método deben implementar el header de autorización.
Key | Value |
---|---|
X-Authorization | e06952e347066213419ab45a15e37fb45c91f614 |
array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
Ejemplo PHP:
CURLOPT_URL => "https://cloud.acontrol.net/restapi/v1/lista_productos"
CURLOPT_CUSTOMREQUEST => "POST"
- Establecer cabeceras:
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
- Campos de la petición:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
usuario_key | SI | varchar (alfanumérico sin espacios) | 50 | Llave del usuario. |
Ejemplo de la petición API, método POST:
{
"usuario_key": "26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd" //Llave de ejemplo
}
- Tabla de campos Response:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
error | SI | bool | Indica si existe un error en la ejecución. Si el valor es true existe un error. | |
message | SI | varchar | Describe los detalles de la ejecución. Aqui se pueden mostrar los detalles de los errores o los mensajes de ejecución correcta. | |
productos | SI | objetc | Muestra la lista de productos . | |
status | SI | int | Muestra el estatus de la ejecución, devuelve un estatus "201" si todo es correcto, de lo contrario puede devolver un estatus "400" o "401". |
Ejemplo de la respuesta :
Productos listados
{
"error": false,
"message": "Productos listados correctamente.",
"productos": [
{
"id": "1",
"nombre": "Phantom 3 Standard",
"imagen": "phantom3-standar.fw_.png",
"descripcion": "CONTENIDO 1 Control
1 Cargador 2 Juegos de hélices
1 Batería 1 Clip para sostener el
celular 1 Cable USB 1 Micro
SD de 8 GBple Description
CÁMARA Video: 2.7k/2704 x 1520p
24/25/30 Foto: 12 Mpx
AERONAVE Autonomía
(tiempo de vuelo): 12-15 min
Tiempo de carga: 40 min promedio
Alcance en RC: 1 km
Velocidad máxima: 16 m/s
Velocidad max. ascenso: 5 m/s
Velocidad max. descenso: 3 m/s
Altitud sobre nivel del mar: 6,000 m
GPS Y GIMBAL Hover
Vuelo Automático
Follow Me
Punto de interés
Giroestabilización en 3 ejes",
"modelo": "",
"categoria": "1",
"codigo": "PS123",
"marca": "",
"unidad_medida": "Pieza",
"contenido": "0",
"sub_unidad_medida": "",
"c_ClaveProdServ": "",
"c_ClaveUnidad": "",
"moneda_compra": "1",
"precio_comp": "0",
"descuento_comp": "0",
"costo_comp": "0",
"iva_comp_vent": "0",
"precio_lista": "12400",
"porcentaje_lista": "0",
"precio_publico": "12400",
"porcentaje_publico": "0",
"precio_mayoreo": "12400",
"porcentaje_mayoreo": "0",
"precio4": "0",
"porcentaje_mas4": "0",
"precio5": "0",
"porcentaje_mas5": "0"
},
{
"id": "2",
"nombre": "SPARK",
"imagen": "spark.fw_.png",
"descripcion": "INCLUYE 1 Drone Spar
k 3 Pares
de hélices 1 Batería
1 Cargador
1 Cable micro USB
1 Caja de almacenamiento
AERONAVE
Anatomía (tiempo de vuelo): 9 min.
Tiempo de carga: 60 min promedio
Alcance en RC: 2 km.
Velocidad máxima: 50 km/h (31 mph) en
modo Sport sin viento
Velocidad max. ascenso: 3 m/s (9.8 pies/s)
en modo Sport
sin viento
Velocidad max. descenso: 3 m/s (9.8 pies/s)
en modo Aterrizaje Automático
Altitud sobre nivel del mar: 4,000 m
CÁMARA Video: FHD: 1920 × 1080
30p Foto: 3968 × 2976
GPS Y GIMBAL
Hover
QuickShot
ActiveTrack
TapFly
Giroestabilización en 2 ejes",
"modelo": "DR-SPK",
"categoria": "1",
"codigo": "",
"marca": "",
"unidad_medida": "",
"contenido": "0",
"sub_unidad_medida": "",
"c_ClaveProdServ": "",
"c_ClaveUnidad": "",
"moneda_compra": "2",
"precio_comp": "5000",
"descuento_comp": "0",
"costo_comp": "5000",
"iva_comp_vent": "0",
"precio_lista": "7500",
"porcentaje_lista": "50",
"precio_publico": "7000",
"porcentaje_publico": "40",
"precio_mayoreo": "6500",
"porcentaje_mayoreo": "30",
"precio4": "0",
"porcentaje_mas4": "0",
"precio5": "0",
"porcentaje_mas5": "0"
},
{
"id": "3",
"nombre": "MAVIC PRO",
"imagen": "venta-de-drones-mavicPro.jpg",
"descripcion": "CONTENIDO Accordion
Sa 1 Drone Mavic
1 Control
3 Pares de hélices
1 Cubierta para Gimbal
1 Cargador
1 Micro SD 16 de GB
1 Batería 1 Cable
para iPhone
1 Cable para Androidmple Description
AERONAVE
Autonomía (tiempo de vuelo): 15-18 min
Tiempo de carga: 40 min promedio
Alcance en RC: 5 km
Velocidad máxima: 20 m/s
Velocidad max. ascenso: 5 m/s
Velocidad max. descenso: 3 m/s
Altitud sobre nivel del mar: 6,000 m
CÁMARA Video: 4k/4096 x 2160p
24/25, 3840 x 2160p 24/25/30
Video en cámara lenta: 1920 x 1080p
120 fps
Foto: 12 Mpx
GPS Y GIMBAL
Hover
Vuelo automático
Follow objects
Punto de interés
Giroestabilización en 3 ejes",
"modelo": "DR-MAP",
"categoria": "1",
"codigo": "141413",
"marca": "",
"unidad_medida": "Pza.",
"contenido": "0",
"sub_unidad_medida": "",
"c_ClaveProdServ": "10161803",
"c_ClaveUnidad": "DMO",
"moneda_compra": "1",
"precio_comp": "0",
"descuento_comp": "0",
"costo_comp": "0",
"iva_comp_vent": "0",
"precio_lista": "24700",
"porcentaje_lista": "0",
"precio_publico": "24700",
"porcentaje_publico": "0",
"precio_mayoreo": "24700",
"porcentaje_mayoreo": "0",
"precio4": "0",
"porcentaje_mas4": "0",
"precio5": "0",
"porcentaje_mas5": "0"
},
{
"id": "4",
"nombre": "Phantom 4 PRO",
"imagen": "phantom-4-pro.fw_.png",
"descripcion": "CONTENIDO Drone Phantom
4 PRO 1 Control
1 Cargador
2 Juegos de hélices
1 Batería
1 Clip para sostener el celular
1 Cable USB
1 Micro SD de 16 GB
CÁMARA Video: 4k/4096 x
2160p 24/25,
3840x2160p 24/25/30
Video en Cámara Lenta: 1920 x 1080p
120 fps
Foto: 20 Mpx AERONAVE
Autonomía (tiempo de vuelo): 22 min
Tiempo de carga: 40 min promedio
Alcance en RC: 7 km Velocidad máxima:
20 m/s
Velocidad max. ascenso: 5 m/s
Velocidad max. descenso: 3 m/s
Altitud sobre nivel del mar: 6,000 m
GPS Y GIMBAL
Hover
Vuelo Automático
Follow Objects
Punto de interés
Active Track
Giroestabilización en 3 ejes",
"modelo": "DR-P4P",
"categoria": "1",
"codigo": null,
"marca": "",
"unidad_medida": "",
"contenido": "0",
"sub_unidad_medida": "",
"c_ClaveProdServ": "",
"c_ClaveUnidad": "",
"moneda_compra": "1",
"precio_comp": "0",
"descuento_comp": "0",
"costo_comp": "0",
"iva_comp_vent": "0",
"precio_lista": "38900",
"porcentaje_lista": "0",
"precio_publico": "38900",
"porcentaje_publico": "0",
"precio_mayoreo": "38900",
"porcentaje_mayoreo": "0",
"precio4": "0",
"porcentaje_mas4": "0",
"precio5": "0",
"porcentaje_mas5": "0"
}
],
"status": 201
}
Listado de Productos incorrecto
{
"error":true,
"message":"Campo(s) usuario_key falta(n) o esta(n) vacio(s)",
"status":400
}
3.- Listar Producto por ID
URL
URL base para consumir la API.
https://cloud.acontrol.net/restapi/v1
Método | URL |
---|---|
GET | /producto |
HEADERS AUTHORIZATION*
Para la implementación de cualquier método deben implementar el header de autorización.
Key | Value |
---|---|
X-Authorization | e06952e347066213419ab45a15e37fb45c91f614 |
array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
Ejemplo PHP:
CURLOPT_URL => "https://cloud.acontrol.net/restapi/v1/producto?usuario_key=26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd&id_producto=2"
CURLOPT_CUSTOMREQUEST => "GET"
- Establecer cabeceras:
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
- Campos de la petición:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
usuario_key | SI | varchar (alfanumérico sin espacios) | 50 | Llave del usuario. |
id_producto | SI | int | 11 | Id del producto. |
Ejemplo de la petición API, método GET:
url => https://cloud.acontrol.net/restapi/v1/producto?usuario_key=26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd&id_producto=22
- Tabla de campos Response:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
error | SI | bool | Indica si existe un error en la ejecución. Si el valor es true existe un error. | |
message | SI | varchar | Describe los detalles de la ejecución. Aqui se pueden mostrar los detalles de los errores o los mensajes de ejecución correcta. | |
producto | SI | objetc | Muestra los datos del producto con el id especificado. | |
status | SI | int | Muestra el estatus de la ejecución, devuelve un estatus "201" si todo es correcto, de lo contrario puede devolver un estatus "400" o "401". |
Ejemplo de la respuesta :
Producto listados
{
"error": false,
"message": "Producto listado correctamente.",
"producto": [
{
"id": "22",
"nombre": "Cámara Canon PRO XC15 Videocámara Compacta",
"imagen": "camara-canon2.png",
"descripcion": "Características Megapíxeles: 13.36.
Zoom ratio: 10 x 24.1-241 milímetros (35 milímetros
equivalentes por foto) 27.3-273 milímetros
(35 milímetros equivalentes para película)
Características Extras: Formato de archivo:
MXF- compresión: MPEG-4 AVC/H.264 pulgadas
Detalles Sensor de imagen: 1.0-inch (16.0 milímetros diagonal)
Estabilizador: IS de imagen óptico
Megapixeles: 13.3 megapíxeles
Media de grabación: CFast para 4k, tarjeta SD para
video HD, fotos (jpg), menús y más.
Compatibilidad: Wi-Fi
Tipo de Pantalla LCD: 7.66 centímetros diagonal",
"modelo": "CA-CPRO",
"categoria": "3",
"codigo": null,
"marca": "",
"unidad_medida": "",
"contenido": "0",
"sub_unidad_medida": "",
"c_ClaveProdServ": "",
"c_ClaveUnidad": "",
"moneda_compra": "1",
"precio_comp": "0",
"descuento_comp": "0",
"costo_comp": "0",
"iva_comp_vent": "0",
"precio_lista": "47600",
"porcentaje_lista": "0",
"precio_publico": "47600",
"porcentaje_publico": "0",
"precio_mayoreo": "47600",
"porcentaje_mayoreo": "0",
"precio4": "0",
"porcentaje_mas4": "0",
"precio5": "0",
"porcentaje_mas5": "0"
}
],
"status": 201
}
Listado de Producto incorrecto
{
"error":true,
"message":"Campo(s) usuario_key falta(n) o esta(n) vacio(s)",
"status":400
}
4.- Obtener Imagen del Producto
A continuación se muestra la ruta para poder visualizar la imagen del producto y poder incluirla en donde lo requieran.
URL | IMAGEN |
---|---|
https://cloud.acontrol.net/usuarios/(RFC Usuario AControl)/catalogo/ | "ejemplo_nombre_imagen.png" |
Ejemplo | |
https://cloud.acontrol.net/usuarios/(RFC Usuario AControl)/catalogo/ejemplo_nombre_imagen.png |
Descripción
A continuación se describen los pasos a seguir para implementar la API de forma correcta. Siga a detalle cada paso, si presenta algun problema comuniquese con nosotros.
Métodos de Interacción
1.- Crear un Cliente
Método | URL |
---|---|
POST | /guardar_cliente |
HEADERS AUTHORIZATION*
Para la implementación de cualquier método deben implementar el header de autorización.
Key | Value |
---|---|
X-Authorization | e06952e347066213419ab45a15e37fb45c91f614 |
array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
Ejemplo PHP:
CURLOPT_URL => "https://cloud.acontrol.net/restapi/v1/guardar_cliente"
CURLOPT_CUSTOMREQUEST => "POST"
- Establecer cabeceras:
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
- Campos de la petición:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
usuario_key | SI | varchar (alfanumérico sin espacios) | 50 | Llave del usuario. |
nombre_razon_social | SI | varchar | 100 | Nombre o razón social del cliente, en el sistema se encuentra como empresa. |
numero_alternativo | NO | varchar | 20 | Número alternativo para control interno. |
nombre_comercial | NO | varchar | 100 | Nombre comercial del cliente. |
nombre_contacto | NO | varchar | 50 | Nombre de contacto del cliente. |
cargo_contacto | NO | varchar | 30 | Cargo o departamento del contacto. |
cobranza_contacto | NO | varchar | 50 | Contacto para cobranza. |
calle | NO | varchar | 100 | Calle de la dirección del cliente. |
numExt | NO | varchar | 45 | Número exterior de la dirección del cliente. |
numInt | NO | varchar | 45 | Número interior de la dirección del cliente. |
colonia | NO | varchar | 50 | Colonia donde se ubicado el cliente. |
municipio | NO | varchar | 50 | Municipio donde se ubica el cliente. |
ciudad | NO | varchar | 50 | Ciudad donde se ubica el cliente. |
estado | NO | varchar | 50 | Estado donde se ubica el cliente. |
codigoPostal | NO | varchar | 10 | Código postal donde se ubica el cliente. |
pais | NO | varchar | 3 | Páis donde se encuentra el cliente, se toman unicamente tres digítos. |
rfc | NO | varchar | 25 | Registro Federal del Contribuyente del cliente. |
NO | varchar | 50 | Correo electrónico del cliente para contacto. | |
telefono | NO | varchar | 100 | Teléfono de contacto a 10 digítos |
celular | NO | varchar | 100 | Número de teléfono celular a 10 digítos, puede incluir lada. |
nextel | NO | varchar | 100 | Nextel del cliente. |
Ejemplo de la petición API, método POST:
{
"usuario_key": "26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd",
"nombre_razon_social": "TECMAC MÉXICO",
"numero_alternativo": "121",
"nombre_comercial": "Tecmac Maquinarias",
"nombre_contacto": "Luis Andres Muños",
"cargo_contacto": "Administración",
"cobranza_contacto": "",
"calle": "Diamante",
"numExt": "7845",
"numInt": "",
"colonia": "Paraiso",
"ciudad": "Puebla",
"estado": "Puebla",
"codigoPostal": "74859",
"pais": "MEX",
"rfc": "MAMM881026-9PMX",
"email": "luis_muños@tecmac.com.mx",
"telefono": "2227894875",
"celular": "5578010254",
"nextel": ""
}
- Tabla de campos Response:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
error | SI | bool | Indica si existe un error en la ejecución. Si el valor es true existe un error. | |
message | SI | varchar | Describe los detalles de la ejecución. Aqui se pueden mostrar los detalles de los errores o los mensajes de ejecución correcta. | |
data | NO | array | Regresa todos los datos que se dieron de alta del cliente. | |
status | SI | int | Muestra el estatus de la ejecución, devuelve un estatus "201" si todo es correcto, de lo contrario puede devolver un estatus "400" o "401". |
Ejemplo de la respuesta :
Cliente correcto
{
"error": false,
"message": "Cliente guardado correctamente.",
"data": {
"id": "98",
"empresa": "TECMAC MÉXICO",
"rfc": "MAMM881026-9PMX",
"nombre_comercial": "Tecmac Maquinarias",
"numero_alternativo": "121",
"calle": "Diamante",
"numeroExterior": "7845",
"numeroInterior": "",
"colonia": "Paraiso",
"localidad": "",
"municipio": "",
"estado": "Puebla",
"codigoPostal": "74859",
"pais": "MEX",
"nombre_contacto": "",
"cargo": "",
"cobranza": "",
"telefono": "2227894875",
"ext": "",
"celular": "5578010254",
"nextel": "",
"email": "",
"registro": "2020/07/31"
},
"status": 201
}
Cliente incorrecto
{
"error": true,
"message": "Campo(s) usuario_key, nombre_razon_social falta(n) o
esta(n) vacio(s)",
"status": 400
}
2.- Vincular Clientes
Dentro del modulo de Clientes se agrego una sección llamada Datos para API, tanto en agregar, editar y ver. En esta sección se deberá agregar en el campo ID Sitio, el id que tiene el cliente en su sitio. De esta forma se pueden vincular los clientes con el sistema AControl a la hora de consumir la API.
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
ID Sitio | SI | int | 11 | Id del cliente en el sitio. |
Una vez vinculado el cliente puedes enviar este id como id de cliente en caso de tenerlo registrado utilizando la API para insertar un pedido y el sistema lo vinculara.
*En caso de alguna duda comuniquese con nosotros.
3.- Listar Clientes
URL
URL base para consumir la API.
https://cloud.acontrol.net/restapi/v1
Método | URL |
---|---|
POST | /lista_clientes |
HEADERS AUTHORIZATION*
Para la implementación de cualquier método deben implementar el header de autorización.
Key | Value |
---|---|
X-Authorization | e06952e347066213419ab45a15e37fb45c91f614 |
array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
Ejemplo PHP:
CURLOPT_URL => "https://cloud.acontrol.net/restapi/v1/lista_clientes"
CURLOPT_CUSTOMREQUEST => "POST"
- Establecer cabeceras:
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
- Campos de la petición:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
usuario_key | SI | varchar (alfanumérico sin espacios) | 50 | Llave del usuario. |
Ejemplo de la petición API, método POST:
{
"usuario_key": "26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd" //Llave de ejemplo
}
- Tabla de campos Response:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
error | SI | bool | Indica si existe un error en la ejecución. Si el valor es true existe un error. | |
message | SI | varchar | Describe los detalles de la ejecución. Aqui se pueden mostrar los detalles de los errores o los mensajes de ejecución correcta. | |
clientes | SI | objetc | Muestra la lista de clientes . | |
status | SI | int | Muestra el estatus de la ejecución, devuelve un estatus "201" si todo es correcto, de lo contrario puede devolver un estatus "400" o "401". |
Ejemplo de la respuesta :
Clientes listados
{
"error": false,
"message": "Clientes listados correctamente.",
"clientes": [
{
"id": "73",
"empresa": "ACONTROL",
"rfc": "",
"nombre_comercial": "",
"numero_alternativo": "",
"calle": "",
"numeroExterior": "",
"numeroInterior": "",
"colonia": "",
"localidad": "",
"municipio": "",
"estado": "",
"codigoPostal": "",
"pais": "México",
"nombre_contacto": "CRISTIAN DAVILA",
"cargo": "",
"cobranza": "",
"telefono": "2227117600",
"ext": "",
"celular": "",
"nextel": "",
"email": "MAGGIE@ACONTROL.COM.MX",
"registro": "2020/02/07"
},
{
"id": "46",
"empresa": "ALONSO MUÑOS",
"rfc": "",
"nombre_comercial": "Muños Alonso",
"numero_alternativo": "12",
"calle": "",
"numeroExterior": "",
"numeroInterior": "",
"colonia": "",
"localidad": "",
"municipio": "",
"estado": "",
"codigoPostal": "",
"pais": "México",
"nombre_contacto": "Alonso Muñoz",
"cargo": "",
"cobranza": "",
"telefono": "",
"ext": "",
"celular": "",
"nextel": "",
"email": "",
"registro": "2019/08/18"
},
{
"id": "87",
"empresa": "ALTOS ENERGETICOS MEXICANOS S.A. DE C.V.",
"rfc": "AEM160511LMA",
"nombre_comercial": "",
"numero_alternativo": null,
"calle": "",
"numeroExterior": "",
"numeroInterior": "",
"colonia": "",
"localidad": "",
"municipio": "",
"estado": "",
"codigoPostal": "",
"pais": null,
"nombre_contacto": "",
"cargo": "",
"cobranza": "",
"telefono": "",
"ext": "",
"celular": "",
"nextel": "",
"email": "",
"registro": ""
},
{
"id": "48",
"empresa": "AMELIA MUÑOS",
"rfc": "",
"nombre_comercial": "",
"numero_alternativo": "Admin",
"calle": "",
"numeroExterior": "",
"numeroInterior": "",
"colonia": "",
"localidad": "",
"municipio": "",
"estado": "",
"codigoPostal": "",
"pais": "México",
"nombre_contacto": "",
"cargo": "",
"cobranza": "",
"telefono": "",
"ext": "",
"celular": "",
"nextel": "",
"email": "",
"registro": "2019/08/18"
}
],
"status": 201
}
Listado de Clientes incorrecto
{
"error":true,
"message":"Campo(s) usuario_key falta(n) o esta(n) vacio(s)",
"status":400
}
4.- Listar Cliente por ID o por RFC
URL
URL base para consumir la API.
https://cloud.acontrol.net/restapi/v1
Método | URL |
---|---|
GET | /cliente |
HEADERS AUTHORIZATION*
Para la implementación de cualquier método deben implementar el header de autorización.
Key | Value |
---|---|
X-Authorization | e06952e347066213419ab45a15e37fb45c91f614 |
array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
Ejemplo PHP:
CURLOPT_URL => "https://cloud.acontrol.net/restapi/v1/cliente?usuario_key=26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd&id_cliente=2||&rfcAAA000000"
CURLOPT_CUSTOMREQUEST => "GET"
- Establecer cabeceras:
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
- Campos de la petición:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
usuario_key | SI | varchar (alfanumérico sin espacios) | 50 | Llave del usuario. |
id_cliente | NO | int | 11 | Id del cliente, este camnpo es requerido si no se ingresa el rfc del cliente. |
rfc | NO | varchar | 25 | RFC del cliente, este campo es requerido si no se especifica el id del cliente. |
Ejemplo de la petición API, método GET:
url => https://cloud.acontrol.net/restapi/v1/cliente?usuario_key=26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd&id_cliente=87
- Tabla de campos Response:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
error | SI | bool | Indica si existe un error en la ejecución. Si el valor es true existe un error. | |
message | SI | varchar | Describe los detalles de la ejecución. Aqui se pueden mostrar los detalles de los errores o los mensajes de ejecución correcta. | |
cliente | SI | objetc | Muestra los datos del cliente con el id o rfc especificado. | |
status | SI | int | Muestra el estatus de la ejecución, devuelve un estatus "201" si todo es correcto, de lo contrario puede devolver un estatus "400" o "401". |
Ejemplo de la respuesta :
Cliente listado
{
"error": false,
"message": "Cliente listado correctamente.",
"cliente": [
{
"id": "87",
"empresa": "ALTOS ENERGETICOS MEXICANOS S.A. DE C.V.",
"rfc": "AEM160511LMA",
"nombre_comercial": "",
"numero_alternativo": null,
"calle": "",
"numeroExterior": "",
"numeroInterior": "",
"colonia": "",
"localidad": "",
"municipio": "",
"estado": "",
"codigoPostal": "",
"pais": null,
"nombre_contacto": "",
"cargo": "",
"cobranza": "",
"telefono": "",
"ext": "",
"celular": "",
"nextel": "",
"email": "",
"registro": ""
}
],
"status": 201
}
Lista de Cliente incorrecto
{
"error":true,
"message":"Campo(s) usuario_key falta(n) o esta(n) vacio(s)",
"status":400
}
Descripción
Las siguientes tablas son informativas acerca de valores aceptados por la API. Si presentan algun problema comuniquese con nosotros.
Listas de Valores
1.- Lista Paises
Valor API | PAÍS |
---|---|
AFG | Afganistán |
ALB | Albania |
DEU | Alemania |
AND | Andorra |
AGO | Angola |
AIA | Anguila |
ATA | Antártida |
ATG | Antigua y Barbuda |
SAU | Arabia Saudita |
DZA | Argelia |
ARG | Argentina |
ARM | Armenia |
ABW | Aruba |
AUS | Australia |
AUT | Austria |
AZE | Azerbaiyán |
BHS | Bahamas (las) |
BGD | Bangladés |
BRB | Barbados |
BHR | Baréin |
BEL | Bélgica |
BLZ | Belice |
BEN | Benín |
BMU | Bermudas |
BLR | Bielorrusia |
BOL | Bolivia, Estado Plurinacional de |
BES | Bonaire, San Eustaquio y Saba |
BIH | Bosnia y Herzegovina |
BWA | Botsuana |
BRA | Brasil |
BRN | Brunéi Darussalam |
BGR | Bulgaria |
BFA | Burkina Faso |
BDI | Burundi |
BTN | Bután |
CPV | Cabo Verde |
KHM | Camboya |
CMR | Camerún |
CAN | Canadá |
QAT | Catar |
TCD | Chad |
CHL | Chile |
CHN | China |
CYP | Chipre |
COL | Colombia |
COM | Comoras |
COG | Congo |
COD | Congo (la República Democrática del) |
KOR | Corea (la República de) |
PRK | Corea (la República Democrática Popular de) |
CRI | Costa Rica |
CIV | Côte d'Ivoire |
HRV | Croacia |
CUB | Cuba |
CUW | Curaçao |
DNK | Dinamarca |
DMA | Dominica |
ECU | Ecuador |
EGY | Egipto |
SLV | El Salvador |
ARE | Emiratos Árabes Unidos (Los) |
ERI | Eritrea |
SVK | Eslovaquia |
SVN | Eslovenia |
ESP | España |
USA | Estados Unidos (los) |
EST | Estonia |
ETH | Etiopía |
PHL | Filipinas (las) |
FIN | Finlandia |
FJI | Fiyi |
FRA | Francia |
GAB | Gabón |
GMB | Gambia (La) |
GEO | Georgia |
SGS | Georgia del sur y las islas sandwich del sur |
GHA | Ghana |
GIB | Gibraltar |
GRD | Granada |
GRC | Grecia |
GRL | Groenlandia |
GLP | Guadalupe |
GUM | Guam |
GTM | Guatemala |
GUF | Guayana Francesa |
GGY | Guernsey |
GIN | Guinea |
GNQ | Guinea Ecuatorial |
GNB | Guinea-Bisáu |
GUY | Guyana |
HTI | Haití |
HND | Honduras |
HKG | Hong Kong |
HUN | Hungría |
IND | India |
IDN | Indonesia |
IRQ | Irak |
IRN | Irán (la República Islámica de) |
IRL | Irlanda |
BVT | Isla Bouvet |
IMN | Isla de Man |
CXR | Isla de Navidad |
HMD | Isla Heard e Islas McDonald |
NFK | Isla Norfolk |
ISL | Islandia |
ALA | Islas Åland |
CYM | Islas Caimán (las) |
CCK | Islas Cocos (Keeling) |
COK | Islas Cook (las) |
UMI | Islas de Ultramar Menores de Estados Unidos (las) |
FRO | Islas Feroe (las) |
FLK | Islas Malvinas [Falkland] (las) |
MNP | Islas Marianas del Norte (las) |
MHL | Islas Marshall (las) |
SLB | Islas Salomón (las) |
TCA | Islas Turcas y Caicos (las) |
VGB | Islas Vírgenes (Británicas) |
VIR | Islas Vírgenes (EE.UU.) |
ISR | Israel |
ITA | Italia |
JAM | Jamaica |
JPN | Japón |
JEY | Jersey |
JOR | Jordania |
KAZ | Kazajistán |
KEN | Kenia |
KGZ | Kirguistán |
KIR | Kiribati |
KWT | Kuwait |
LAO | Lao, (la) República Democrática Popular |
LSO | Lesoto |
LVA | Letonia |
LBN | Líbano |
LBR | Liberia |
LBY | Libia |
LIE | Liechtenstein |
LTU | Lituania |
LUX | Luxemburgo |
MAC | Macao |
MKD | Macedonia (la antigua República Yugoslava de) |
MDG | Madagascar |
MYS | Malasia |
MWI | Malaui |
MDV | Maldivas |
MLI | Malí |
MLT | Malta |
MAR | Marruecos |
MTQ | Martinica |
MUS | Mauricio |
MRT | Mauritania |
MYT | Mayotte |
MEX | México |
FSM | Micronesia (los Estados Federados de) |
MDA | Moldavia (la República de) |
MCO | Mónaco |
MNG | Mongolia |
MNE | Montenegro |
MSR | Montserrat |
MOZ | Mozambique |
MMR | Myanmar |
NAM | Namibia |
NRU | Nauru |
NPL | Nepal |
NIC | Nicaragua |
NER | Níger (el) |
NGA | Nigeria |
NIU | Niue |
NOR | Noruega |
NCL | Nueva Caledonia |
NZL | Nueva Zelanda |
OMN | Omán |
NLD | Países Bajos (los) |
ZZZ | Países no declarados |
PAK | Pakistán |
PLW | Palaos |
PSE | Palestina, Estado de |
PAN | Panamá |
PNG | Papúa Nueva Guinea |
PRY | Paraguay |
PER | Perú |
PCN | Pitcairn |
PYF | Polinesia Francesa |
POL | Polonia |
PRT | Portugal |
PRI | Puerto Rico |
GBR | Reino Unido (el) |
CAF | República Centroafricana (la) |
CZE | República Checa (la) |
DOM | República Dominicana (la) |
REU | Reunión |
RWA | Ruanda |
ROU | Rumania |
RUS | Rusia, (la) Federación de |
ESH | Sahara Occidental |
WSM | Samoa |
ASM | Samoa Americana |
BLM | San Bartolomé |
KNA | San Cristóbal y Nieves |
SMR | San Marino |
MAF | San Martín (parte francesa) |
SPM | San Pedro y Miquelón |
VCT | San Vicente y las Granadinas |
SHN | Santa Helena, Ascensión y Tristán de Acuña |
LCA | Santa Lucía |
VAT | Santa Sede[Estado de la Ciudad del Vaticano] (la) |
STP | Santo Tomé y Príncipe |
SEN | Senegal |
SRB | Serbia |
SYC | Seychelles |
SLE | Sierra leona |
SGP | Singapur |
SXM | Sint Maarten (parte holandesa) |
SYR | Siria, (la) República Árabe |
SOM | Somalia |
LKA | Sri Lanka |
SWZ | Suazilandia |
ZAF | Sudáfrica |
SDN | Sudán (el) |
SSD | Sudán del Sur |
SWE | Suecia |
CHE | Suiza |
SUR | Surinam |
SJM | Svalbard y Jan Mayen |
THA | Tailandia |
TWN | Taiwán (Provincia de China) |
TZA | Tanzania, República Unida de |
TJK | Tayikistán |
IOT | Territorio Británico del Océano Índico (el) |
ATF | Territorios Australes Franceses (los) |
TLS | Timor-Leste |
TGO | Togo |
TKL | Tokelau |
TON | Tonga |
TTO | Trinidad y Tobago |
TUN | Túnez |
TKM | Turkmenistán |
TUR | Turquía |
TUV | Tuvalu |
UKR | Ucrania |
UGA | Uganda |
URY | Uruguay |
UZB | Uzbekistán |
VUT | Vanuatu |
VEN | Venezuela, República Bolivariana de |
VNM | Viet Nam |
WLF | Wallis y Futuna |
YEM | Yemen |
DJI | Yibuti |
ZMB | Zambia |
ZWE | Zimbabue |
2.- Lista c_UsoCFDI
Valor API | CFDI Descripción |
---|---|
G01 | G01 - Adquisición de mercancias |
D06 | D06 - Aportaciones voluntarias al SAR. |
I07 | I07 - Comunicaciones satelitales |
I06 | I06 - Comunicaciones telefónicas |
I01 | I01 - Construcciones |
I05 | I05 - Dados, troqueles, moldes, matrices y herramental |
D09 | D09 - Depósitos en cuentas para el ahorro, primas que tengan como base planes de pensiones. |
G02 | G02 - Devoluciones, descuentos o bonificaciones |
D04 | D04 - Donativos. |
I04 | I04 - Equipo de computo y accesorios |
I03 | I03 - Equipo de transporte |
D08 | D08 - Gastos de transportación escolar obligatoria. |
G03 | G03 - Gastos en general |
D03 | D03 - Gastos funerales. |
D02 | D02 - Gastos médicos por incapacidad o discapacidad |
D01 | D01 - Honorarios médicos, dentales y gastos hospitalarios. |
D05 | D05 - Intereses reales efectivamente pagados por créditos hipotecarios (casa habitación). |
I02 | I02 - Mobilario y equipo de oficina por inversiones |
I08 | I08 - Otra maquinaria y equipo |
D10 | D10 - Pagos por servicios educativos (colegiaturas) |
P01 | P01 - Por definir |
D07 | D07 - Primas por seguros de gastos médicos. |
3.- Lista Monedas
Valor API | Moneda |
---|---|
1 | Peso Méxicano (MXN) |
2 | Dólar estadounidense (USD) |
3 | Dólar canadiense (CAD) |
4 | Euro (EUR) |
5 | Libra esterlina (GBP) |
6 | Yen (JPY) |
7 | Yuan chino (CNY) |
Descripción
A continuación se describen los pasos a seguir para implementar la API de forma correcta. Siga a detalle cada paso, si presenta algun problema comuniquese con nosotros.
Métodos de Interacción
URL
URL base para consumir la API.
https://cloud.acontrol.net/restapi/v1
1.- Crear una cotización
Método | URL |
---|---|
POST | /guardar_cotizacion |
Ejemplo PHP:
CURLOPT_URL => "https://cloud.acontrol.net/restapi/v1/guardar_cotizacion"
CURLOPT_CUSTOMREQUEST => "POST"
- Establecer cabeceras:
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
- Campos de la petición:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
usuario_key | SI | varchar (alfanumérico sin espacios) | 50 | Llave del usuario. |
fecha_emision | SI | varchar | 20 | Fecha de creación en el formato año/mes/día. |
folio_alt | NO | varchar | 50 | Folio alternativo. |
vigencia | SI | varchar | 20 | Indica la duración de la cotización, por ejemplo: "2 días". |
id_cliente | NO | int | 10 | Id del cliente de su sitio, para que este dato sea correcto se debe vincular previamente los clientes desde el modulo de clientes. |
empresa_cli | NO | varchar | 150 | Nombre de la empresa a la que pertenece el cliente. |
nombre_cli | SI | varchar | 100 | Nombre del cliente. |
area_cli | SI | varchar | 150 | Nombre del área a la que pertenece el cliente. |
calle_cliente | NO | varchar | 300 | Nombre de la calle. Este dato se define cuando no se ingresa un id del cliente. |
numExt_cliente | NO | varchar | 50 | Número exterior del lugar donde se encuentra el cliente. Este dato se define cuando no se ingresa un id del cliente. |
numInt_cliente | NO | varchar | 50 | Número interior del lugar donde se encuentra el cliente. Este dato se define cuando no se ingresa un id del cliente. |
colonia_cliente | NO | varchar | 300 | Nombre de la colonia. Este dato se define cuando no se ingresa un id del cliente. |
municipio_cliente | NO | varchar | 300 | Nombre del municipio. Este dato se define cuando no se ingresa un id del cliente. |
estado_cliente | NO | varchar | 300 | Estado donde se ubica el cliente. Este dato se define cuando no se ingresa un id del cliente. |
cp_cliente | NO | varchar | 10 | Código postal. Este dato se define cuando no se ingresa un id del cliente. |
pais_cliente | NO | varchar | 3 | Páis donde se encuentra el cliente, se toman unicamente tres digítos. Este dato se define cuando no se ingresa un id del cliente. |
rfc_cliente | NO | varchar | 13 | Registro Federal del Contribuyente asignado al cliente. Este dato se define cuando no se ingresa un id del cliente. |
email_cliente | NO | varchar | 100 | Correo Electrónico del cliente. Este dato se define cuando no se ingresa un id del cliente. |
telefono_cliente | NO | varchar | 100 | Teléfono de contacto. Este dato se define cuando no se ingresa un id del cliente. |
manejo_iva | SI | varchar | 2 |
Recibe unicamente dos valores: 1.- "SI" 2.- "NO" |
iva_valor | NO | int | 2 | Se especifica este valor cuando la variable manejo_iva es "SI". Recibe un valor entero de dos dijitos, ejemplo: 16. |
moneda | SI | int | 1 | La moneda en que se realiza la cotización. |
valorCambio | NO | float | En caso de que la moneda sea mayor a 1 (Peso Mexicano), se debe ingresar el tipo de cambio de la moneda extrangera. | |
observaciones | NO | LONGTEXT | Observaciones o datos extras de la cotización. | |
subtotal | SI | double | Suma del importe de los productos sin iva. | |
porciento_desc | NO | double | Porcentaje del descuento a dos cifras sin punto decimal. | |
descuento | NO | double | Valor del descuento aplicado al subtotal. | |
subtotal2 | SI | double | Es el resultado del subtotal menos el descuento aplicado. | |
iva | NO | double | Monto acumulado del impuesto I.V.A. | |
total | SI | double | Es el resultado de la suma del subtotal2 más el impuesto I.V.A. | |
referencia | NO | varchar | 50 | Referencia de la cotización. |
id_prod = array() | SI | int | 10 | Arreglo de id del producto vendidos en la cotización. El id del producto debe ser previamente vinculado desde el modulo de catalogo. Ejemplo: "id_prod = array(1, 2, 3)". |
nombre_pro = array() | SI | varchar | 100 | Arreglo de los nombres de productos vendidos en la cotización. Ejemplo: "nombre_pro = array("Reloj Digital", "Llavero de globo", "...")". |
modelo_pro = array() | SI | varchar | 50 | Arreglo de los modelos de productos vendidos en la cotización. Ejemplo: "modelo_pro = array("Led", "Metal", "...")". |
descripcion_pro = array() | SI | longtext | Arreglo de las descripciones de productos vendidos en la cotización. Ejemplo: "descripcion_pro = array("Reloj digital led acabado mate", "Llavero ...", "...")". | |
cantidad_pro = array() | SI | double | Arreglo de las cantidades del producto vendidos en la cotización. Ejemplo: "cantidad_pro = array(2, 5, 1)". | |
precio_uni_pro = array() | SI | double | Arreglo de los precios unitarios del producto vendidos en la cotización. Ejemplo: "precio_uni_pro = array(55.56, 10.00, 50)". | |
importe_pro = array() | SI | double | Arreglo de los importes del producto vendidos en la cotización. Ejemplo: "importe_pro = array(111.12, 50, 50)". |
Ejemplo de la petición API, método POST:
{
"usuario_key" => "6cfc9df3f500cd9322b54d12ae229c4782ee9eed38e4a9a859",
"fecha_emision" => "",
"folio_alt" => "",
"vigencia" => "15 días apartir de 23 de julio",
"empresa_cli" => "WorkHome",
"nombre" => "Juan Antonio Ramirez",
"area" => "Ventas",
"calle_cliente" => "Blvd. 5 de Mayo",
"numExt_cliente" => "784",
"numInt_cliente" => "",
"colonia_cliente" => "Unidad Juarez",
"municipio_cliente" => "Libres",
"estado_cliente" => "Puebla",
"cp_cliente" => "78458",
"pais_cliente" => "MEX",
"rfc_cliente" => "",
"email_cliente" => "antoni_2020@workhome.com",
"telefono_cliente" => "2256874501",
"manejo_iva" => "SI",
"iva_valor" => "16",
"moneda" => "1",
"valorCambio" => "",
"observaciones" => "Cotización pendiente",
"subtotal" => "5,334.75",
"porcentaje_desc" => "",
"descuento" => "",
"subtotal2" => "5,334.75",
"iva" => "853.56",
"total" => "6,188.31",
"referencia" => "Cotización por medio de API",
"id_producto[0]" => "3",
"nombre_pro[0]" => "Guia 1",
"modelo_pro[0]" => "2020",
"descripcion_pro[0]" => "Libro Guia 1 edición Trillas",
"cantidad_pro[0]" => "10",
"precio_uni_pro[0]" => "398.475",
"importe_pro[0]" => "3,984.75",
"id_producto[1]" => "2",
"nombre_pro[1]" => "Guia 2",
"modelo_pro[1]" => "2020",
"descripcion_pro[1]" => "Libro Guia 2 edición Trillas",
"cantidad_pro[1]" => "5",
"precio_uni_pro[1]" => "270",
"importe_pro[1]" => "1,350.00"
}
- Tabla de campos Response:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
error | SI | bool | Indica si existe un error en la ejecución. Si el valor es true existe un error. | |
message | SI | varchar | Describe los detalles de la ejecución. Aqui se pueden mostrar los detalles de los errores o los mensajes de ejecución correcta. | |
data | NO | array | Este campo solo aparece si el campo error es false. El valor devuelto es el id de la cotización. | |
status | SI | int | Muestra el estatus de la ejecución, devuelve un estatus "201" si todo es correcto, de lo contrario puede devolver un estatus "400" o "401". |
Ejemplo de la respuesta :
Cotización correcta
{
"error": false,
"message": "Cotización guardada correctamente.",
"data": {
"id_cotizacion": "3366"
},
"status": 201
}
Cotización incorrecta
{
"error": true,
"message": "Campo(s) fecha_emision falta(n) o esta(n) vacio(s)",
"status": 400
}
Descripción
A continuación se describen los pasos a seguir para implementar la API de forma correcta. Siga a detalle cada paso, si presenta algun problema comuniquese con nosotros.
Métodos de Interacción
1.- Listar Categorias
URL
URL base para consumir la API.
https://cloud.acontrol.net/restapi/v1
Método | URL |
---|---|
POST | /lista_categorias |
HEADERS AUTHORIZATION*
Para la implementación de cualquier método deben implementar el header de autorización.
Key | Value |
---|---|
X-Authorization | e06952e347066213419ab45a15e37fb45c91f614 |
array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
Ejemplo PHP:
CURLOPT_URL => "https://cloud.acontrol.net/restapi/v1/lista_categorias"
CURLOPT_CUSTOMREQUEST => "POST"
- Establecer cabeceras:
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
- Campos de la petición:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
usuario_key | SI | varchar (alfanumérico sin espacios) | 50 | Llave del usuario. |
Ejemplo de la petición API, método POST:
{
"usuario_key": "26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd" //Llave de ejemplo
}
- Tabla de campos Response:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
error | SI | bool | Indica si existe un error en la ejecución. Si el valor es true existe un error. | |
message | SI | varchar | Describe los detalles de la ejecución. Aqui se pueden mostrar los detalles de los errores o los mensajes de ejecución correcta. | |
categorias | SI | objetc | Muestra la lista de categorias . | |
status | SI | int | Muestra el estatus de la ejecución, devuelve un estatus "201" si todo es correcto, de lo contrario puede devolver un estatus "400" o "401". |
Ejemplo de la respuesta :
Categorías listadas
{
"error": false,
"message": "Categorias listadas correctamente.",
"categorias": [
{
"id": "1",
"nombre": "DRONES",
"imagen": "drones.png",
"descripcion": "",
"categoria_padre": "0"
},
{
"id": "2",
"nombre": "material electrico",
"imagen": null,
"descripcion": "",
"categoria_padre": "23"
},
{
"id": "3",
"nombre": "CÁMARAS FOTOGRÁFICAS",
"imagen": "camras.jpg",
"descripcion": "",
"categoria_padre": "0"
},
{
"id": "4",
"nombre": "REALIDAD VIRTUAL",
"imagen": "realidad_1.jpg",
"descripcion": "",
"categoria_padre": "0"
}
],
"status": 201
}
Listado de Categorias incorrecto
{
"error":true,
"message":"Campo(s) usuario_key falta(n) o esta(n) vacio(s)",
"status":400
}
2.- Listar Categoría por ID
URL
URL base para consumir la API.
https://cloud.acontrol.net/restapi/v1
Método | URL |
---|---|
GET | /categoria |
HEADERS AUTHORIZATION*
Para la implementación de cualquier método deben implementar el header de autorización.
Key | Value |
---|---|
X-Authorization | e06952e347066213419ab45a15e37fb45c91f614 |
array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
Ejemplo PHP:
CURLOPT_URL => "https://cloud.acontrol.net/restapi/v1/categoria?usuario_key=26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd&id_categoria=2"
CURLOPT_CUSTOMREQUEST => "GET"
- Establecer cabeceras:
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
- Campos de la petición:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
usuario_key | SI | varchar (alfanumérico sin espacios) | 50 | Llave del usuario. |
id_categoria | SI | int | 11 | Id de la categoría. |
Ejemplo de la petición API, método GET:
url => https://cloud.acontrol.net/restapi/v1/categoria?usuario_key=26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd&id_categoria=2
- Tabla de campos Response:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
error | SI | bool | Indica si existe un error en la ejecución. Si el valor es true existe un error. | |
message | SI | varchar | Describe los detalles de la ejecución. Aqui se pueden mostrar los detalles de los errores o los mensajes de ejecución correcta. | |
categoria | SI | objetc | Muestra los datos de la categoria con el id especificado. | |
status | SI | int | Muestra el estatus de la ejecución, devuelve un estatus "201" si todo es correcto, de lo contrario puede devolver un estatus "400" o "401". |
Ejemplo de la respuesta :
Categoría listada
{
"error": false,
"message": "Categoria listada correctamente.",
"categoria": [
{
"id": "2",
"nombre": "material electrico",
"imagen": null,
"descripcion": "",
"categoria_padre": "23"
}
],
"status": 201
}
Lista de Categoria incorrecto
{
"error":true,
"message":"Campo(s) usuario_key, id_categoria falta(n) o
esta(n) vacio(s)",
"status":400
}
Descripción
A continuación se describen los pasos a seguir para implementar la API de forma correcta. Siga a detalle cada paso, si presenta algun problema comuniquese con nosotros.
Métodos de Interacción
1.- Listar Productos Inventario
URL
URL base para consumir la API.
https://cloud.acontrol.net/restapi/v1
Método | URL |
---|---|
POST | /lista_inventarios |
HEADERS AUTHORIZATION*
Para la implementación de cualquier método deben implementar el header de autorización.
Key | Value |
---|---|
X-Authorization | e06952e347066213419ab45a15e37fb45c91f614 |
array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
Ejemplo PHP:
CURLOPT_URL => "https://cloud.acontrol.net/restapi/v1/lista_inventarios"
CURLOPT_CUSTOMREQUEST => "POST"
- Establecer cabeceras:
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
- Campos de la petición:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
usuario_key | SI | varchar (alfanumérico sin espacios) | 50 | Llave del usuario. |
Ejemplo de la petición API, método POST:
{
"usuario_key": "26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd" //Llave de ejemplo
}
- Tabla de campos Response:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
error | SI | bool | Indica si existe un error en la ejecución. Si el valor es true existe un error. | |
message | SI | varchar | Describe los detalles de la ejecución. Aqui se pueden mostrar los detalles de los errores o los mensajes de ejecución correcta. | |
productos | SI | objetc | Muestra la lista de productos del inventario . | |
status | SI | int | Muestra el estatus de la ejecución, devuelve un estatus "201" si todo es correcto, de lo contrario puede devolver un estatus "400" o "401". |
Ejemplo de la respuesta :
Productos Inventario listadas
{
"error": false,
"message": "Producto de inventario listado correctamente.",
"productos": [
{
"id": "1",
"categoria": "1",
"nombre": "Phantom 3 Standard",
"modelo": "",
"codigo": "PS123",
"stock_min": "0",
"stock_max": "0",
"no_serie": "",
"existencia_total": "0.00",
"pendientes_recibir_total": "2.00",
"pendientes_surtir_total": "11.00",
"existencia_matriz": "0.00",
"existencia_cs": "0",
"existencia_G1": "0",
"existencia_TC": "0"
},
{
"id": "2",
"categoria": "1",
"nombre": "SPARK",
"modelo": "DR-SPK",
"codigo": "",
"stock_min": "0",
"stock_max": "0",
"no_serie": "",
"existencia_total": "1.00",
"pendientes_recibir_total": "0.00",
"pendientes_surtir_total": "4.00",
"existencia_matriz": "0.00",
"existencia_cs": "0",
"existencia_G1": "1",
"existencia_TC": "0"
},
{
"id": "3",
"categoria": "1",
"nombre": "MAVIC PRO",
"modelo": "DR-MAP",
"codigo": "141413",
"stock_min": "0",
"stock_max": "0",
"no_serie": "",
"existencia_total": "5.00",
"pendientes_recibir_total": "0.00",
"pendientes_surtir_total": "5.00",
"existencia_matriz": "5.00",
"existencia_cs": "0",
"existencia_G1": "0",
"existencia_TC": "0"
},
{
"id": "4",
"categoria": "1",
"nombre": "Phantom 4 PRO",
"modelo": "DR-P4P",
"codigo": null,
"stock_min": "0",
"stock_max": "0",
"no_serie": "",
"existencia_total": "9.00",
"pendientes_recibir_total": "0.00",
"pendientes_surtir_total": "3.00",
"existencia_matriz": "9.00",
"existencia_cs": "0",
"existencia_G1": "0",
"existencia_TC": "0"
}
],
"status": 201
}
Listado de Productos Inventario incorrecto
{
"error":true,
"message":"Campo(s) usuario_key falta(n) o esta(n) vacio(s)",
"status":400
}
2.- Listar Producto Inventario por ID
URL
URL base para consumir la API.
https://cloud.acontrol.net/restapi/v1
Método | URL |
---|---|
GET | /inventario |
HEADERS AUTHORIZATION*
Para la implementación de cualquier método deben implementar el header de autorización.
Key | Value |
---|---|
X-Authorization | e06952e347066213419ab45a15e37fb45c91f614 |
array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
Ejemplo PHP:
CURLOPT_URL => "https://cloud.acontrol.net/restapi/v1/inventario?usuario_key=26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd&id_producto=2"
CURLOPT_CUSTOMREQUEST => "GET"
- Establecer cabeceras:
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"X-Authorization: e06952e347066213419ab45a15e37fb45c91f614"
);
- Campos de la petición:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
usuario_key | SI | varchar (alfanumérico sin espacios) | 50 | Llave del usuario. |
id_producto | SI | int | 11 | Id del producto. |
Ejemplo de la petición API, método GET:
url => https://cloud.acontrol.net/restapi/v1/inventario?usuario_key=26c56cce490f3524e34a77b8688f7e2d3a9417419ff6889ccd&id_producto=2
- Tabla de campos Response:
VARIABLE | VALOR OBLIGATORIO | TIPO | LONGITUD | DESCRIPCIÓN |
---|---|---|---|---|
error | SI | bool | Indica si existe un error en la ejecución. Si el valor es true existe un error. | |
message | SI | varchar | Describe los detalles de la ejecución. Aqui se pueden mostrar los detalles de los errores o los mensajes de ejecución correcta. | |
producto | SI | objetc | Muestra los datos del producto con el id especificado. | |
status | SI | int | Muestra el estatus de la ejecución, devuelve un estatus "201" si todo es correcto, de lo contrario puede devolver un estatus "400" o "401". |
Ejemplo de la respuesta :
Categoría listada
{
"error": false,
"message": "Producto de inventario listado correctamente.",
"producto": [
{
"id": "2",
"categoria": "1",
"nombre": "SPARK",
"modelo": "DR-SPK",
"codigo": "",
"stock_min": "0",
"stock_max": "0",
"no_serie": "",
"existencia_total": "1.00",
"pendientes_recibir_total": "0.00",
"pendientes_surtir_total": "4.00",
"existencia_matriz": "0.00",
"existencia_cs": "0",
"existencia_G1": "1",
"existencia_TC": "0"
}
],
"status": 201
}
Lista de Productos Inventario incorrecto
{
"error":true,
"message":"Campo(s) usuario_key, id_producto falta(n) o
esta(n) vacio(s)",
"status":400
}
soporte@acontrol.com.mx