1. Obtén tu API key
Solicita la API key por WhatsApp y guárdala como constante en wp-config.php (nunca en el código del tema).
define('SHALOM_API_KEY', 'sk_tu_api_key');Guía de integración · WooCommerce
La integración de Shalom con WooCommerce se hace del lado del servidor con un snippet de PHP: cuando un pedido pasa a 'procesando', tu tienda llama a la API, cotiza la tarifa, crea la guía en Shalom Pro y guarda el número de guía en el pedido. Es un flujo ideal para tiendas con pago contra entrega (COD): con los webhooks de tracking sabes al instante si el pedido fue entregado o rechazado, sin llamar a la agencia.
Solicita la API key por WhatsApp y guárdala como constante en wp-config.php (nunca en el código del tema).
define('SHALOM_API_KEY', 'sk_tu_api_key');Mapea la ciudad del cliente a una agencia del catálogo con la búsqueda avanzada (guárdalo en un transiente: el catálogo cambia poco):
<?php
$res = wp_remote_get(
"https://api.shalom-api.lat/agencies/search?q=" . urlencode($ciudad) . "&per_page=1",
["headers" => ["x-api-key" => SHALOM_API_KEY]]
);
$agencia = json_decode(wp_remote_retrieve_body($res), true)["data"][0] ?? null;Engancha el hook woocommerce_order_status_processing y registra el envío en tu instancia de Shalom Pro:
<?php
add_action('woocommerce_order_status_processing', function ($order_id) {
$order = wc_get_order($order_id);
$res = wp_remote_post("https://api.shalom-api.lat/account/register", [
"headers" => [
"x-api-key" => SHALOM_API_KEY,
"Content-Type" => "application/json",
],
"body" => wp_json_encode([
"instanceId" => SHALOM_INSTANCE_ID,
"origen" => 7, // tu agencia de despacho
"destino" => $agencia["ter_id"],
"destinatario" => [
"dni" => $order->get_meta("_dni"),
"nombre" => $order->get_shipping_first_name() . " " . $order->get_shipping_last_name(),
"telefono" => $order->get_billing_phone(),
"direccion" => $order->get_shipping_address_1(),
],
]),
]);
$data = json_decode(wp_remote_retrieve_body($res), true);
if (!empty($data["orderNumber"])) {
$order->update_meta_data("_shalom_guia", $data["orderNumber"]);
$order->save();
}
});Suscribe cada guía a los webhooks de tracking y muestra el estado en la página de gracias o en el correo de completado. Cada cambio de estado llega firmado a tu endpoint; valida la firma con el secreto whsec_ antes de mostrarlo.