Para integrarse con otros servicios y aplicaciones, recomendamos configurar la integración a través de Zapier.
Podrá transferir datos entre servicios sin la ayuda de programadores.
Obtenga más información sobre la integración a través de Zapier

Puede obtener la lista de pedidos solicitando una consulta al servicio API utilizando métodos de software.

La consulta es enviada por el método POST en el formato URLencode a la dirección: http://nombre_de_usuario.soloclic.com/api/getOrdersWithGoods.

Donde nombre_de_usuario es el inicio de sesión del usuario en el sistema, así como su dominio de tercer nivel en el servicio SoloClic.

En respuesta, su sistema recibirá los datos del pedido.

Parámetros Transferidos en la Consulta

Puede transferir los filtros de la siguiente manera:

begin_date - factura "desde" fecha, con el formato 01.01.2017
end_date - factura "hasta" fecha, con el formato 01.02.2017
paid - (bool) solo pedidos pagados
goods - (string or array) ID del producto que se toma de la barra de direcciones al editar el producto

En el intervalo begin_date – end_date, puede ingresar un intervalo de tiempo para un mes o menos.
Si estos valores no se transmiten, se proporcionan los datos del día actual.
Si no se especifica la fecha de finalización, se toma el momento actual.
Si las fechas hacen un intervalo de más de un mes, entonces se reduce a un mes de manera que la fecha de finalización sigue siendo la que el usuario transfirió (o la actual, si el usuario no la especificó), pero se corta el inicial.
Si especifica el parámetro pagado = verdadero, obtendrá las facturas que se pagaron en el intervalo de tiempo especificado.

¿Como funciona?

Llamas a la función de API GetOrdersWithGoods.

Su sistema recibirá el resultado de la función que se realiza y una matriz con datos de orden en la variable de resultado como respuesta.

La matriz de datos tendrá el siguiente aspecto:

Array (
[0] => stdClass Object (
[id] => número de factura,
[first_name] => nombre
[last_name] => apellido
[middle_name] => segundo nombre
[email] => correo electrónico
[phone] => número de teléfono
[city] => ciudad
[country] => país
[address] => habla a
[region] => región
[postalcode] => código postal
[created] => fecha de creación de la factura
[pay_status] => Estado de la factura
[paid] => fecha de pago de la factura
[type] => tipo de orden
[payway] => forma de pago
[comment] => comentar la factura
[domain] => dominio de pedido
[link] => enlace para pagar la página del pedido
[good_count] => la cantidad de productos en el pedido
[price] => precio del producto
[is_recurrent] => ¿La factura es recurrente? verdadero Falso
[bill_sum_topay] => queda para pagar
[tag] => etiqueta
[kupon] => cupón usado
[utm] => stdClass Object
(
[medium] => canal utm-parámetro (si existe)
 => fuente utm-parámetro (si existe)
[campaign] => сampaña utm-parámetro (si existe)
[content] => anuncio utm-parámetro (si existe)
[term] => llave utm-parámetro (si existe)
)

[items] => Array (
[0] => stdClass Object (
[id] => Identificador de Producto
[title] => nombre del producto
[sum] => el costo real
[price] => precio del producto de la configuración
[partners] => Array
(
[0] => stdClass Object
(
[partner_lvl] => nivel del programa de afiliados
[partner_id] => ID de socio
[partner_name] => inicio de sesión del socio
[partner_fee] => tarifa del socio
)

[1] => stdClass Object
(
[partner_lvl] => nivel del programa de afiliados
[partner_id] => ID de socio
[partner_name] => inicio de sesión del socio
[partner_fee] => tarifa del socio
)
)
)

[1] => stdClass Object (
[id] => Identificador de Producto
[title] => nombre del producto
[sum] => el costo real
[price] => precio del producto de la configuración
[partners] => Array
(
[0] => stdClass Object
(
[partner_lvl] => nivel del programa de afiliados
[partner_id] => ID de socio
[partner_name] => inicio de sesión del socio
[partner_fee] => tarifa del socio
)

[1] => stdClass Object
(
[partner_lvl] => nivel del programa de afiliados
[partner_id] => ID de socio
[partner_name] => inicio de sesión del socio
[partner_fee] => tarifa del socio
)
)
)
)
)

La respuesta está codificada en formato JSON. Para obtener más detalles, consulte las «Respuestas del servicio API«.

Ejemplo de obtención de la lista de pedidos en PHP

Recuperamos la información sobre los pedidos del 01/01/2017 al 01/02/2017 para productos con 1, 2, 3 id.

La función GetHash forma el hash de los datos transferidos.

La función CheckHash comprueba el hash de la respuesta del servicio.

// Inicie sesión en el sistema SoloClic. 
$user_rs['user_id'] = 'nombre_de_usuario';
// La clave para formar un hash. Consulte la sección API (el enlace en la esquina inferior derecha de la cuenta personal).
$user_rs['user_rps_key'] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

// Formando la matriz de datos para transferir a la API.
$send_data = array(
    'begin_date' => '01.01.2017',
    'end_date' => '01.02.2017',
    'paid' => 'true', // solo facturas pagadas o false
    'goods' => array(1, 2, 3) //ID de productos
);

// Formando el hash a los datos transmitidos.
$send_data['hash'] = GetHash($send_data, $user_rs);

// Llamar a la función GetOrdersWithGoods y decodificar los datos recibidos.
$resp = json_decode(Send('http://username.soloclic.com/api/getOrdersWithGoods', $send_data));

// Comprobando la respuesta del servicio.
if(!CheckHash($resp, $user_rs)){
	echo "¡Error! ¡El hash de respuesta no es cierto!" ; print_r($resp);
	exit;
}

if($resp->error_code == 0){
	echo "Información del pedido";
	print_r($resp->result);
}
else
	echo "Código de error:{$resp->error_code} - descripción: {$resp->error_text}";

// ===========  Funciones de enviar, recibir y procesar una respuesta. ============

//   Envío de la consulta al servicio API
function Send($url, $data)
{
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_POST, true);
	curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // dando salida a la respuesta a la variable.

	$res = curl_exec($ch);

	curl_close($ch);
	return $res;
}

// Formando el hash de datos transferidos a la API.
function GetHash($params, $user_rs) {
	$params = http_build_query($params);
	$user_id = $user_rs['user_id'];
	$secret = $user_rs['user_rps_key'];
	$params = "$params::$user_id::$secret";
	return md5($params);
}

// Comprobando el hash de respuesta recibido.
function CheckHash($resp, $user_rs) {
	$secret = $user_rs['user_rps_key'];
	$code = $resp->error_code;
	$text = $resp->error_text;
	$hash = md5("$code::$text::$secret");
	if($hash == $resp->hash)
		return true; // el hash es correcto
	else
		return false; // el hash no es correcto
}

Rate article

1 star2 stars3 stars4 stars5 stars (No votes)
Cargando...