Documentación API GeneralPartners

Mejoras en la documentación: Esta documentación ahora presenta los endpoints en un formato de acordeón para facilitar la navegación. Haz clic en cualquier endpoint para expandirlo y ver sus detalles completos. También se ha añadido información sobre la autenticación Bearer Token requerida en cada endpoint.

Índice de Contenidos

Introducción

Esta API proporciona endpoints para gestionar servicios de socios generales, permitiendo crear, listar, recuperar, cancelar servicios y gestionar incidencias.

URL base: {{BASE_URL}}

Autenticación

Métodos de autenticación

La API requiere autenticación mediante estos dos métodos juntos:

  1. Token Bearer: Se incluye un token JWT en el encabezado de autorización.
    Authorization: Bearer <YOUR_TOKEN>
  2. API Key: Se incluye una clave API en el encabezado apiKey o como parámetro de consulta key.
    apiKey: <YOUR_API_KEY>
    O
    {{BASE_URL}}/v1/partners/endpoint?key=<YOUR_API_KEY>

Nota importante: Todas las solicitudes a la API deben incluir ambos métodos de autenticación simultáneamente. El API Key debe solicitarse a Wolly y el Bearer Token se debe generar para cada sesión. Ambos son obligatorios para acceder a la API.

POST Create Service

▼

Crea un nuevo servicio para un socio externo.

Autenticación requerida

Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:

  • Bearer Token: Authorization: Bearer <YOUR_TOKEN>
  • API Key: apiKey: <YOUR_API_KEY> en los encabezados

URL del Endpoint

{{BASE_URL}}/v1/partners/createService

Encabezados

Nombre Valor Descripción
Content-Type application/json Tipo de contenido de la solicitud
Authorization Bearer <YOUR_TOKEN> Token de autenticación JWT (obligatorio)
apiKey <YOUR_API_KEY> Clave API proporcionada por Wolly (obligatorio)

Cuerpo de la Solicitud

{
    "title": "servicio de prueba external Partner TEST",
    "name": "Nombre Cliente", // Nombre del cliente
    "phone": "+34666777888", // Teléfono del cliente con prefijo
    "email": "cliente@ejemplo.com", // Email del cliente
    "address": "77 López de Hoyos 28002 Madrid, España", // Dirección: número, calle, código postal, ciudad, país
    "category": "mudanzas", // Categoría del servicio
    "subcategory": "mudanza completa", // Subcategoría del servicio
    "externalId": "id-externo-123" // ID externo del servicio
}

Parámetros del Cuerpo

Parámetro Tipo Obligatorio Descripción
title string Sí Título del servicio
name string Sí Nombre del cliente
phone string Sí Teléfono del cliente con prefijo internacional (ej. +34666777888)
email string Sí Email del cliente
address string Sí Dirección completa: número, calle, código postal, ciudad, país
destination_address string No Dirección de destino (si aplica)
category string Sí Categoría del servicio
subcategory string Sí Subcategoría del servicio
externalId string Sí Identificador externo del servicio

Respuesta

Código de estado: 200 OK

{
    "success": true,
    "data": {
        "id": "serviceId123",
        "externalId": "id-externo-123",
        "status": "created"
    },
    "error": null
}

POST Get Service List

▼

Obtiene una lista de servicios según los criterios de filtrado especificados.

Autenticación requerida

Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:

  • Bearer Token: Authorization: Bearer <YOUR_TOKEN>
  • API Key: apiKey: <YOUR_API_KEY> en los encabezados

URL del Endpoint

{{BASE_URL}}/v1/partners/getServiceList

Encabezados

Nombre Valor Descripción
Content-Type application/json Tipo de contenido de la solicitud
Authorization Bearer <YOUR_TOKEN> Token de autenticación JWT (obligatorio)
apiKey <YOUR_API_KEY> Clave API proporcionada por Wolly (obligatorio)

Cuerpo de la Solicitud

{
    "startDate": "2024-09-12 13:01:49.444", // Fecha ISO 8601
    "endDate": "2024-11-13 13:01:49.444", // Fecha ISO 8601
    "provinces": [], // Códigos de provincias
    "guilds": [], // Gremios
    "jobStates": [], // Estados de trabajo
    "businesses": [], // IDs de promotoras
    "page": 1 // Número de página
}

Parámetros del Cuerpo

Parámetro Tipo Obligatorio Descripción
startDate string No Fecha de inicio para filtrar servicios (formato ISO 8601)
endDate string No Fecha de fin para filtrar servicios (formato ISO 8601)
provinces array No Códigos de provincias para filtrar servicios (ej. ["28", "08"])
guilds array No Gremios para filtrar servicios (ej. ["Albañil", "Construcción"])
jobStates array No Estados de trabajo para filtrar servicios. Valores posibles: "Review", "abierto", "draft", "eliminado", "falso", "finalizado", "frozen", "full", "noJobers", "pending", "pending-verification", "rechazo", "review", "signaturePending", "standby"
businesses array No IDs de promotoras para filtrar servicios
page number No Número de página para resultados paginados (límite de 100 servicios por página)

Respuesta

Código de estado: 200 OK

{
    "success": true,
    "data": {
        "result": [
            {
                "id": "serviceId123",
                "title": "Título del servicio",
                "description": "Descripción del servicio",
                "state": "Estado del servicio",
                "location": {
                    "__type": "GeoPoint",
                    "latitude": 40.4167,
                    "longitude": -3.70325
                },
                "business": "Negocio",
                "images": [],
                "createdBy": "Usuario",
                "createdAt": "2024-01-01T12:00:00.000Z"
            }
        ],
        "count": 1
    },
    "error": null
}

Descripción

Este endpoint se usa para recuperar una lista de servicios. Los resultados están limitados a 100 servicios por página. Si la propiedad "count" en la respuesta es mayor que 100, se habilita la paginación y puedes usar el parámetro "page" para navegar por los resultados.

GET Get Service

▼

Obtiene detalles de un servicio específico.

Autenticación requerida

Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:

  • Bearer Token: Authorization: Bearer <YOUR_TOKEN>
  • API Key: apiKey: <YOUR_API_KEY> en los encabezados

URL del Endpoint

{{BASE_URL}}/v1/partners/getService

Encabezados

Nombre Valor Descripción
Authorization Bearer <YOUR_TOKEN> Token de autenticación JWT (obligatorio)
apiKey <YOUR_API_KEY> Clave API proporcionada por Wolly (obligatorio)

Parámetros de Consulta

Parámetro Tipo Obligatorio Descripción
serviceId string Uno de los dos ID interno del servicio
externalServiceId string Uno de los dos ID externo del servicio

Respuesta

Código de estado: 200 OK

{
    "success": true,
    "data": {
        "count": 1,
        "result": [
            {
                "id": "serviceId123",
                "state": "Estado del servicio",
                "location": {
                    "__type": "GeoPoint",
                    "latitude": 40.4167,
                    "longitude": -3.70325
                },
                "business": "Negocio",
                "images": [],
                "address": "Dirección completa",
                "createdBy": "Usuario",
                "createdAt": "2024-01-01T12:00:00.000Z",
                "externalServiceId": "id-externo-123"
            }
        ]
    },
    "error": null
}

POST Cancel By External ID

▼

Cancela un servicio usando su ID externo.

Autenticación requerida

Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:

  • Bearer Token: Authorization: Bearer <YOUR_TOKEN>
  • API Key: apiKey: <YOUR_API_KEY> en los encabezados

URL del Endpoint

{{BASE_URL}}/v1/partners/cancelByExternalId

Encabezados

Nombre Valor Descripción
Content-Type application/json Tipo de contenido de la solicitud
Authorization Bearer <YOUR_TOKEN> Token de autenticación JWT (obligatorio)
apiKey <YOUR_API_KEY> Clave API proporcionada por Wolly (obligatorio)

Cuerpo de la Solicitud

{
    "externalId": "id-externo-123",
    "type": "false",
    "message": "Motivo de cancelación"
}

Parámetros del Cuerpo

Parámetro Tipo Obligatorio Descripción
externalId string Sí ID externo del servicio a cancelar
type string No Tipo de cancelación
message string No Mensaje adicional relacionado con la cancelación

Respuesta Exitosa

Código de estado: 200 OK

{
    "success": true,
    "data": {
        "id": "serviceId123",
        "externalId": "id-externo-123",
        "status": "cancelled"
    },
    "error": null
}

Respuestas de Error

Servicio no encontrado

Código de estado: 400 Bad Request

{
    "success": false,
    "error": "ID not found"
}

No se puede cancelar

Código de estado: 400 Bad Request

{
    "success": false,
    "error": "ID cannot be cancelled"
}

PATCH Add Incidence

▼

Añade una incidencia a un servicio existente.

Autenticación requerida

Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:

  • Bearer Token: Authorization: Bearer <YOUR_TOKEN>
  • API Key: apiKey: <YOUR_API_KEY> en los encabezados

URL del Endpoint

{{BASE_URL}}/v1/partners/service/{externalServiceId}

Encabezados

Nombre Valor Descripción
Content-Type application/json Tipo de contenido de la solicitud
Authorization Bearer <YOUR_TOKEN> Token de autenticación JWT (obligatorio)
apiKey <YOUR_API_KEY> Clave API proporcionada por Wolly (obligatorio)

Parámetros de Ruta

Parámetro Tipo Descripción
externalServiceId string ID externo del servicio

Cuerpo de la Solicitud

{
    "type": "incidence",
    "typology": "Pro no ha llamado al cliente",
    "comment": "Comentario relacionado al incidente"
}

Parámetros del Cuerpo

Parámetro Tipo Obligatorio Descripción
type string Sí Debe ser "incidence" para este endpoint
typology string Sí Tipo de incidencia. Valores permitidos: "Pro no ha llamado al cliente", "Pro no ha acudido a la cita", "Cliente no quiere pagar", "Otros"
comment string Sí Comentario relacionado con la incidencia

Respuesta

Código de estado: 200 OK

{
    "success": true,
    "data": {
        "id": "serviceId123",
        "externalId": "id-externo-123",
        "status": "updated"
    },
    "error": null
}

PATCH Edit User

▼

Edita la información de un usuario asociado a un servicio.

Autenticación requerida

Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:

  • Bearer Token: Authorization: Bearer <YOUR_TOKEN>
  • API Key: apiKey: <YOUR_API_KEY> en los encabezados

URL del Endpoint

{{BASE_URL}}/v1/partners/service/{externalServiceId}

Encabezados

Nombre Valor Descripción
Content-Type application/json Tipo de contenido de la solicitud
Authorization Bearer <YOUR_TOKEN> Token de autenticación JWT (obligatorio)
apiKey <YOUR_API_KEY> Clave API proporcionada por Wolly (obligatorio)

Parámetros de Ruta

Parámetro Tipo Descripción
externalServiceId string ID externo del servicio

Cuerpo de la Solicitud

{
    "type": "userEdit",
    "name": "Nuevo Nombre de Usuario",
    "phone": "+34666777888", // Opcional
    "email": "nuevo@email.com" // Opcional
}

Parámetros del Cuerpo

Parámetro Tipo Obligatorio Descripción
type string Sí Debe ser "userEdit" para este endpoint
name string No Nuevo nombre del usuario
phone string No Nuevo teléfono del usuario (con prefijo internacional)
email string No Nuevo email del usuario

Respuesta

Código de estado: 200 OK

{
    "success": true,
    "data": {
        "id": "serviceId123",
        "externalId": "id-externo-123",
        "status": "updated"
    },
    "error": null
}