Aprende cómo integrar el portal del cliente usando la API de Treli

Empezar

Con el portal del cliente, puedes permitir a tus clientes gestionar sus suscripciones, métodos de pago y pagar facturas sin necesidad de desarrollar un portal tú mismo. Después de configurar e integrar el portal, los clientes son redirigidos a un portal de marca compartida donde pueden administrar su cuenta según las funcionalidades que configures.

Para integrar tu aplicación o página web con el portal del cliente:

  1. Configura las características y la interfaz de usuario del portal. Puedes hacer esto en tu cuenta de Treli.
  2. Implementa una redirección para integrar el portal con tu aplicación o página web.
  3. Pon en marcha el portal en tu entorno de producción

1. Configura el portal

Antes de integrar el portal del cliente, configura su funcionalidad y marca en tu cuenta de Treli para definir qué pueden hacer tus usuarios con el portal.

Para hacer esto, ingresa a tu cuenta de Treli y dirígete a sección de Configuraciones > Esenciales de cara al cliente > Portal de autoservicio

2. Implementa una redirección

Una sesión de portal es el punto de entrada al portal del cliente. Proporciona un enlace único y temporal al portal. Cuando un cliente quiere gestionar sus suscripciones o facturas, crea una nueva sesión de portal y redirígelo a la url de la sesión.

En tu sitio, agrega un botón que los clientes puedan hacer clic para entrar al portal. Usa una solicitud POST para crear una sesión de portal:

<form method="POST" action="/crear-sesion-de-portal">
  <button type="submit">Mi cuenta</button>
</form>

A continuación, agrega un endpoint que crea una sesión de portal y redirige a tus clientes. Asegúrate de autenticar a los clientes en tu sitio antes de crear sesiones para ellos. Para crear una sesión, necesitas el correo del cliente y opcionalmente, un return_url, para redirigir a los clientes a cuando hacen clic en el enlace del portal para cerrar su sesión.

Cuando creas una sesión de portal, Treli devuelve el objeto de sesión del portal, que contiene la URL de corta duración (auth_url) de la sesión que tus clientes utilizan para acceder al portal del cliente.

import requests
import json

url = "https://treli.co/wp-json/api/portal/sessions/create"

payload = json.dumps({
  "customer_email": "{{CUSTOMER_EMAIL}}",
  "return_url": "https://ejemplo.com"
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Basic {{AUTHENTICATION}}'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://treli.co/wp-json/api/portal/sessions/create',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "customer_email": "{{CUSTOMER_EMAIL}}",
    "return_url": "https://ejemplo.com"
	}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: Basic {{AUTHENTICATION}}'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

3. Puesta en marcha

Asegúrate de probar el portal antes de habilitarlo en producción. Cuando estés listo para ponerlo en marcha:

Cuando creas una sesión del portal, Treli devuelve el objeto de sesión del portal, que contiene la URL de corta duración (auth_url) que tus clientes deben usar para acceder al portal del cliente.

🚧

Duración del enlace

El enlace retornado por el API, es válido únicamente durante 30 minutos.

Opcional: Enlaces directos

Es posible que desees optimizar las acciones del cliente y personalizar aún más los flujos de trabajo entre tu propia aplicación y Treli. Los enlaces directos del portal del cliente te permiten enlazar directamente a una página especifica del portal.

En el endpoint para crear la sesión de portal, agrega el parámetro forward con alguno de los siguientes valores:

ValorDescripción
customer_update_addressPermite a tus clientes actualizar su información de facturación.
customer_invoicesPermite a tus clientes obtener un listado y realizar el pago de facturas pendientes.
subscription_update_paymentPermite a tu cliente actualizar el método de pago de una suscripción