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.
Esta API proporciona endpoints para gestionar servicios de socios generales, permitiendo crear, listar, recuperar, cancelar servicios y gestionar incidencias.
URL base: {{BASE_URL}}
La API requiere autenticación mediante estos dos métodos juntos:
Authorization: Bearer <YOUR_TOKEN>
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.
Crea un nuevo servicio para un socio externo.
Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:
Authorization: Bearer <YOUR_TOKEN>apiKey: <YOUR_API_KEY> en los encabezados{{BASE_URL}}/v1/partners/createService
| 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) |
{
"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á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) |
| 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 |
Código de estado: 200 OK
{
"success": true,
"data": {
"id": "serviceId123",
"externalId": "id-externo-123",
"status": "created"
},
"error": null
}
Obtiene una lista de servicios según los criterios de filtrado especificados.
Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:
Authorization: Bearer <YOUR_TOKEN>apiKey: <YOUR_API_KEY> en los encabezados{{BASE_URL}}/v1/partners/getServiceList
| 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) |
{
"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á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) |
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
}
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.
Obtiene detalles de un servicio específico.
Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:
Authorization: Bearer <YOUR_TOKEN>apiKey: <YOUR_API_KEY> en los encabezados{{BASE_URL}}/v1/partners/getService
| 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á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 |
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
}
Cancela un servicio usando su ID externo.
Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:
Authorization: Bearer <YOUR_TOKEN>apiKey: <YOUR_API_KEY> en los encabezados{{BASE_URL}}/v1/partners/cancelByExternalId
| 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) |
{
"externalId": "id-externo-123",
"type": "false",
"message": "Motivo de cancelación"
}
| 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 |
Código de estado: 200 OK
{
"success": true,
"data": {
"id": "serviceId123",
"externalId": "id-externo-123",
"status": "cancelled"
},
"error": null
}
Código de estado: 400 Bad Request
{
"success": false,
"error": "ID not found"
}
Código de estado: 400 Bad Request
{
"success": false,
"error": "ID cannot be cancelled"
}
Añade una incidencia a un servicio existente.
Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:
Authorization: Bearer <YOUR_TOKEN>apiKey: <YOUR_API_KEY> en los encabezados{{BASE_URL}}/v1/partners/service/{externalServiceId}
| 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ámetro | Tipo | Descripción |
|---|---|---|
| externalServiceId | string | ID externo del servicio |
{
"type": "incidence",
"typology": "Pro no ha llamado al cliente",
"comment": "Comentario relacionado al incidente"
}
| 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 |
Código de estado: 200 OK
{
"success": true,
"data": {
"id": "serviceId123",
"externalId": "id-externo-123",
"status": "updated"
},
"error": null
}
Edita la información de un usuario asociado a un servicio.
Este endpoint requiere autenticación. Debes usar ambos métodos simultáneamente:
Authorization: Bearer <YOUR_TOKEN>apiKey: <YOUR_API_KEY> en los encabezados{{BASE_URL}}/v1/partners/service/{externalServiceId}
| 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ámetro | Tipo | Descripción |
|---|---|---|
| externalServiceId | string | ID externo del servicio |
{
"type": "userEdit",
"name": "Nuevo Nombre de Usuario",
"phone": "+34666777888", // Opcional
"email": "nuevo@email.com" // Opcional
}
| 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) |
| string | No | Nuevo email del usuario |
Código de estado: 200 OK
{
"success": true,
"data": {
"id": "serviceId123",
"externalId": "id-externo-123",
"status": "updated"
},
"error": null
}