Referencia API
Actualizar campaña
Actualiza campos permitidos de una campaña de la organización; se aplican permisos y reglas de estado.
https://api.sparkglim.net/api/white-label/v1/campaigns/:campaignIdModelo de acceso
- Modelo de acceso
- HMAC de Organización en el servidor
- Permiso requerido
campaigns:write- Disponibilidad documentada
- Implementado en código
Disponibilidad verificada en el código, sin garantía de producción.
La firma privada permanece en su servidor. La API Versión 1 usa firma v2; no es una API v2.
Encabezados
| Nombre | Tipo | Validación |
|---|---|---|
x-white-label-domainObligatorioDominio verificado que resuelve la cuenta de Organización aprobada y vincula esta solicitud. | string | Validación: Nombre de host HTTPS verificado. |
x-white-label-key-idObligatorioIdentificador extraído de la clave privada única; nunca envíe el secreto en esta cabecera. | string | Validación: Identificador interno de la clave privada emitida. |
x-white-label-signature-versionObligatorioSelecciona la firma vinculada al dominio; las rutas API siguen en Versión 1. | string | Validación: 2. |
x-white-label-timestampObligatorioMomento de firma en milisegundos comparado con el reloj del servidor para rechazar solicitudes caducadas. | string | Validación: Milisegundos de 13 dígitos; dentro de cinco minutos. |
x-white-label-nonceObligatorioValor aleatorio nuevo registrado por el servidor para impedir repetir una solicitud firmada. | string | Validación: Valor nuevo: 16–128 [A-Za-z0-9_-]. |
x-white-label-signatureObligatorioHMAC-SHA256 de dominio, clave de idempotencia, credencial de campaña, instante, nonce, método, ruta, consulta ordenada y hash exacto del cuerpo. | string | Validación: HMAC-SHA256 hexadecimal en minúsculas. |
x-white-label-campaign-keyOpcionalClave de campaña completa opcional que limita la solicitud privada a la misma campaña autorizada. | string | Validación: Valor keyId:secret completo, opcional y limitado a su ámbito. |
Parámetros
| Nombre | Tipo | Validación |
|---|---|---|
campaignIdObligatorioCampaña existente dentro de la cuenta y del alcance más limitado de la credencial. | string | Validación: UUID o identificador de recurso documentado. |
Solicitud
| Nombre | Tipo | Validación |
|---|---|---|
titleOpcionalTítulo público de campaña del organizador autorizado. | string | Validación: 3–255. |
descriptionOpcionalDescripción del organizador que explica campaña o entrada. | string | Validación: 10–5000. |
campaign_typeOpcionalSelecciona entradas, votación o donativos; no concede módulos no autorizados. | enum | Validación: ticketing | voting | donation. |
start_dateOpcionalFecha de apertura de campaña en formato ISO. | string | Validación: Fecha y hora en formato ISO. |
end_dateOpcionalFecha de cierre de campaña en formato ISO. | string | Validación: Fecha y hora en formato ISO. |
country_codeOpcionalCódigo del país vendedor configurado; servidor comprueba cuenta y mercado. | string | Validación: ISO2. |
currency_codeOpcionalMoneda permitida de campaña; elegir país no autoriza moneda nueva. | string | Validación: ISO3. |
slugOpcionalIdentificador de URL para campaña o artículo publicado existente. | string | Validación: Esquema configurado del identificador URL. |
statusOpcionalEstado admitido solicitado; aprobación controla publicación y acceso. | enum | Validación: draft | pending_approval | approved | rejected | archived. |
vote_priceOpcionalValor configurado del producto en moneda o unidad de capacidad de campaña. | number | Validación: >=0. |
donation_goalOpcionalValor configurado del producto en moneda o unidad de capacidad de campaña. | number | Validación: >=0. |
ticket_priceOpcionalValor configurado del producto en moneda o unidad de capacidad de campaña. | number | Validación: >=0. |
ticket_capacityOpcionalValor configurado del producto en moneda o unidad de capacidad de campaña. | integer | Validación: >0. |
image_urlOpcionalURL de imagen proporcionada; use medios públicos autorizados. | string|null | Validación: URL. |
banner_urlOpcionalURL de portada proporcionada por el organizador. | string|null | Validación: URL. |
categoryOpcionalCategoría de campaña o configuración aprobada según recurso. | string|null | Validación: <=120. |
locationOpcionalUbicación pública o filtro; separado del país vendedor financiero. | string|null | Validación: <=255. |
event_dateOpcionalFecha y hora del evento, distintas del período de venta. | string|null | Validación: Fecha y hora en formato ISO. |
verification_requiredOpcionalDefine verificación admitida sin eludir controles del servidor. | boolean | Validación: Valor predeterminado: true. |
metadataOpcionalMetadatos JSON admitidos; nunca sustituyen autorización, precios o propiedad. | object | Validación: Objeto JSON. |
Solicitud
Los ejemplos describen el contrato y no se ejecutan. Use registros de prueba autorizados; nunca pegue secretos reales aquí.
PATCH /api/white-label/v1/campaigns/11111111-1111-4111-8111-111111111111 HTTP/1.1
Host: api.sparkglim.net
x-white-label-domain: events.example.com
x-white-label-key-id: <ISSUED_KEY_ID>
x-white-label-signature-version: 2
x-white-label-timestamp: <FRESH_MILLISECONDS>
x-white-label-nonce: <FRESH_SIGNING_NONCE>
x-white-label-signature: <SERVER_GENERATED_SIGNATURE>
Content-Type: application/json
{
"title": "Updated example campaign"
}Respuesta
{
"success": true,
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"status": "pending"
},
"requestId": "wlapi_example"
}{
"success": false,
"error": "<ERROR_MESSAGE>",
"requestId": "wlapi_example"
}Validación, permisos, registros no disponibles y fallos usan el estado HTTP y error del controlador.
Límites y reintentos
Organización: 120 solicitudes por clave y 300 por IP por ventana; respete Retry-After y X-RateLimit.
Compatibilidad del código
Las operaciones autorizadas requieren pruebas específicas de la cuenta.
server/src/api/router.tsserver/src/api/routes/white-label.tsserver/src/white-label/auth.tsserver/src/white-label/schemas.tsserver/src/white-label/organization-service.tsserver/src/white-label/service.ts