Loading repository data…
Loading repository data…
Geloon / repository
Este proyecto proporciona una solución modular y escalable en PHP para integrar tu sitio web o aplicación con STEL Order.
Este proyecto proporciona una solución modular y escalable en PHP para integrar tu sitio web o aplicación con STEL Order.
Incluye un Cliente API para enviar y recibir datos (Productos, Clientes, Pedidos) y un Receptor de Webhooks para recibir notificaciones (vía middleware o polling).
StelApiService para facilitar llamadas GET/POST/PUT.examples/demo_bbdd.php)./
├── config.php # (Privado) Tus claves API (NO SUBIR AL REPO)
├── config.example.php # Plantilla de configuración
├── public/
│ └── index.php # URL pública para recibir Webhooks
├── src/
│ ├── Controllers/ # Lógica de negocio (qué hacer con los datos)
│ └── Services/ # Cliente API y Logger
├── cron/
│ └── poller.php # Script para Tareas Programadas (si no usas Zapier)
├── logs/ # Archivos de registro
└── examples/ # Ejemplos de uso para desarrolladores
Clonar el repositorio:
git clone https://github.com/tu-usuario/STELWebhook.git
cd STELWebhook
Configurar:
config.example.php a config.php.config.php y añade tus credenciales:
api_key: Tu API Key de STEL Order.secret_token: Una contraseña segura inventada por ti para proteger el webhook.Probar:
php examples/uso_api.php
Puedes usar la clase StelApiService en cualquier parte de tu proyecto:
Consulta el Diccionario Completo: Para ver todos los métodos y cómo usarlos, lee el archivo API_REFERENCE.md.
use App\Services\StelApiService;
// Inicializar
$api = new StelApiService('TU_API_KEY', 'URL_BASE', $logger);
// Obtener listado de productos
$productos = $api->getProductos(['limit' => 10]);
// Crear un pedido (o actualizar)
$api->updatePedido($idPedido, ['status' => 'APPROVED']);
Revisa el archivo examples/uso_api.php para ver un código funcional completo.
¿Quieres mostrar facturas o pedidos en tu "Área de Cliente"? Es muy fácil.
src y config.php a tu servidor.mis-pedidos.php o header.php), añade:// 1. Cargar la librería
require_once '/ruta/a/STELWebhook/config.php';
require_once '/ruta/a/STELWebhook/src/Services/LoggerService.php';
require_once '/ruta/a/STELWebhook/src/Services/StelApiService.php';
use App\Services\LoggerService;
use App\Services\StelApiService;
// 2. Iniciar conexión
$config = require '/ruta/a/STELWebhook/config.php';
$logger = new LoggerService($config['logging']['path']);
$stel = new StelApiService($config['stel_api']['api_key'], $config['stel_api']['base_url'], $logger);
// 3. ¡Listo! Pide datos y píntalos
$pedidos = $stel->get('/orders', ['limit' => 5]);
Tienes un ejemplo completo de una página web funcionando en:
examples/demo_integracion_web.php
El archivo public/index.php actúa como receptor.
https://tu-dominio.com/stel-webhook/public/index.phpX-Webhook-Secret con el token que definiste en config.php.Puedes modificar la lógica de recepción en src/Controllers/WebhookController.php.
Si prefieres consultar cambios periódicamente en lugar de recibir avisos, configura un Cron Job que ejecute:
php /ruta/al/proyecto/cron/poller.php
Este proyecto es de código abierto.