Content
Mensajes de Código y Respuesta de la Tabla API del servicio SoloClic
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
Podrá transferir datos entre servicios sin la ayuda de programadores.
Obtenga más información sobre la integración a través de Zapier
Después de cada acceso a las funciones del servicio API, su sistema recibe una respuesta en la codificación JSON.
(Para saber cómo obtenerlo y procesarlo, consulte el ejemplo de PHP a continuación.)
En la respuesta, se devuelven los campos error_code, error_text y hash. A veces, la matriz de resultados regresa, cuando es necesario devolver más datos:
- error_code es el código numérico del mensaje de error;
- error_text es un mensaje de error de texto;
- hash es una firma de los datos para asegurarse de que la respuesta sea de nuestro sistema, y no falsificada (para saber cómo se forma, ver más abajo);
- resultes la matriz con los datos del resultado (por ejemplo, result-> bill_id es el número del pedido creado).
| error_code | error_text | descripción |
| errores generales | ||
| 0 | ok | La acción se ha realizado correctamente. |
| 1 | not transferred hash | El hash de la consulta no se transfiere. |
| 2 | no transmitted data | Los parámetros de la consulta no se transmiten. |
| 3 | wrong posted data | Los parámetros de la consulta son incorrectos. |
| 4 | incorrect hash | El hash de la consulta es incorrecto. |
| 5 | invalid user name | El inicio de sesión no se transfiere o no se encuentra en el sistema SoloClic |
| 6 | permission denied for ip … | Se deniega el acceso a la IP especificada. |
| 7 | account disabled | La cuenta está desactivada. |
| Adición de errores de contacto | ||
| 0 | activation email sent to subscriber | El usuario se agrega a los grupos. Se le envía una carta de activación. |
| 100 | email is missing | No hay contacto de correo electrónico en los parámetros transmitidos. |
| 101 | subscription error: (description) | Error al agregar un usuario al grupo. |
| 102 | the subscriber is already registered | El contacto ya existe en todos los grupos transferidos. |
| 103 | has an invalid subscriptions group | Se transfirió un grupo inexistente en la consulta. |
| 104 | subscription forbidden for (group id) | Agregar un contacto a este grupo es imposible. Por ejemplo, es un grupo automático. |
| Ordenar errores operativos | ||
| 0 | order status changed | El estado del pedido ha cambiado correctamente. |
| 200 | nonexistent order | El pedido con el número especificado no existe. |
| 201 | wrong status | El estado del pedido no es válido. |
| 202 | order not paid | El error ocurrió al pagar el pedido. |
| 203 | order number is empty | No se transfiere ningún número de pedido. |
| Eliminar y editar un estado de errores de pedido | ||
| 0 | order status changed | El estado del pedido se ha cambiado correctamente. |
| 0 | order deleted | El pedido se eliminó correctamente. |
| 302 | nonexistent order | Se transfirió un número de pedido inexistente en la consulta. |
| 303 | wrong status | No existe tal estado de pedido en el sistema. |
| Obtener una lista de productos comprados mediante los errores de correo electrónico del cliente | ||
| 400 | order not found | El pedido con el número especificado no existe. |
| Obtener una lista de grupo utilizando los errores de correo electrónico del cliente | ||
| 500 | subscriber not found | El suscriptor con el correo electrónico especificado no existe. |
| 501 | group not found | El contacto no está incluido en ningún grupo. |
| Crear el error de pedido | ||
| 600 | wrong email | Se transmite un correo electrónico del cliente incorrecto. |
| 601 | order already exist. his number send in result array. | Este pedido ya existe. (Su número se transferirá en result-> bill_id). |
| 602 | error creating order | El sistema no pudo crear un pedido. |
| 603 | missing products | No hay productos en el pedido. |
| 604 | product not exist | No hay ningún producto con este ID en su tienda. (Se devolverá el ID de este producto). |
| 605 | not having any data for delivery products | No hay datos suficientes para entregar el producto (ni dirección ni nombre). |
| Recibir todos los errores de los productos | ||
| 700 | no products | La Tienda no tiene ningún producto. |
| Adición de errores de contacto | ||
| 800 | group subscribers is not found | No se encuentra el grupo de contactos especificado (no existe). |
| 801 | subscriber with such address is not found | No se encuentra el contacto especificado (no existe). |
| Recuperación de errores de datos de pedidos | ||
| 400 | Order not found | El pedido con el número especificado no existe. |
La tabla de respuestas se complementará a medida que se desarrolle el servicio API.
Ejemplo en PHP que recibe y procesa la respuesta del servicio
// Inicie sesión en el sistema SoloClic.
$user_rs['user_id'] = 'username';
// La clave para formar un hash
$user_rs['user_rps_key'] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
// Formando la matriz de datos para transferir a la API.
$send_data = array
(
'rid[0]' => 'super',
'lead_name' => 'Name',
'lead_email' => 'prueba@email.es',
'lead_phone' => '+788888888',
'lead_city' => 'City',
'aff' => 111,
'tag' => 'esto es etiqueta',
'ad' => 1111,
'doneurl2' => 'https://soloclic.com/', );
// Formando el hash a los datos transmitidos.
$send_data['hash'] = GetHash($send_data, $user_rs);
// Llamar a la función AddLeadToGroup en la API y decodificar los datos recibidos.
$resp = json_decode(Send('https://username.soloclic.com/api/AddLeadToGroup', $send_data));
// Comprobando la respuesta del servicio.
if(!CheckHash($resp, $user_rs))
{
echo "¡Error! ¡El hash de respuesta no es cierto!";
exit;
}
if($resp->error_code == 0)
echo "Usuario agregado al grupo {$send_data['rid[0]']}. Respuesta de servicio: {$resp->error_code}";
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
}

