Go Search API

Introducción

Esta documentación describe cómo integrar las APIs de búsqueda de Gopersonal en una tienda Magento. Se cubren dos escenarios de implementación:

  1. Con el módulo oficial de Gopersonal instalado

  2. Integración directa sin módulo

Implementación con Módulo

Obtención del Token

Cuando el módulo está instalado, se puede utilizar la sesión del propio módulo para realizar las peticiones. El token JWT se obtiene del siguiente modo:

$token = $this->cookieManager->getCookie('gopersonal_jwt');

Ejemplo de Petición de Búsqueda

curl --location 'https://discover.gopersonal.ai/item/search' \
--header 'Authorization: Bearer {token}' \
--header 'Referer: {tu-dominio}' \
--header 'User-Agent: Mozilla/5.0' \
--header 'sec-ch-ua-platform: "macOS"' \
--header 'Content-Type: application/json'

Parámetros de Búsqueda

  • query: Término de búsqueda

  • limit: Número máximo de resultados (default: 50)

  • adapter: Debe ser "magento"

Implementación sin Módulo

1. Inicialización de Sesión

Primero es necesario crear una sesión en Gopersonal para la trazabilidad del cliente:

curl --location 'https://discover.gopersonal.ai/channel/init' \
--header 'Content-Type: application/json' \
--header 'User-Agent: Mozilla/5.0' \
--data '{
    "clientId": "TU_CLIENT_ID",
    "clientSecret": "TU_CLIENT_SECRET"
}'

Respuesta

{
    "token": "jwt_token_value",
    "expiresIn": 86400
}

2. Almacenamiento del Token

  • El token debe persistirse junto al usuario

  • Validez por defecto: 24 horas

  • Recomendación: Implementar renovación automática antes del vencimiento

3. Realización de Búsquedas

curl --location 'https://discover.gopersonal.ai/item/search' \
--header 'Authorization: Bearer {token}' \
--header 'Referer: {tu-dominio}' \
--header 'Content-Type: application/json'

Endpoints de API

Inicialización de Canal

  • URL: https://discover.gopersonal.ai/channel/init

  • Método: POST

  • Headers requeridos:

    • Content-Type: application/json

Búsqueda de Productos

  • URL: https://discover.gopersonal.ai/item/search

  • Método: GET

  • Headers requeridos:

    • Authorization: Bearer {token}

    • Referer: {tu-dominio}

    • Content-Type: application/json

Manejo de Errores

Códigos de Estado

  • 200: Petición exitosa

  • 401: Token inválido o expirado

  • 403: Acceso denegado

  • 500: Error interno del servidor

Recomendaciones

  1. Implementar retry en caso de errores 5xx

  2. Renovar token automáticamente ante error 401

  3. Mantener log de errores para debugging


Para más información o soporte, contactar al equipo de Gopersonal.

Last updated