Saltar al contenido principal
PUT
/
channels
Upsert de canales
curl --request PUT \
  --url https://api.example.com/channels
{
  "data": {
    "created": 1,
    "updated": 1
  }
}
Crea o actualiza uno o más canales del comercio autenticado. Usa este endpoint para sincronizar nombres, estado y asignaciones de plantilla CMS desde tu stack operativo hacia Fire spark. Cada elemento del arreglo se identifica por id. Si no existe un canal con ese id para el comercio, Fire spark lo crea. Si ya existe, Fire spark actualiza los campos editables listados abajo. En una actualización, los campos omitidos conservan su valor actual.
Requiere un access token con el scope channels:write. Consulta Autorizar para obtener un token.
Los valores de id del canal son inmutables. No puedes cambiar el id de un canal existente por este endpoint — envía el mismo id en cada sincronización.

Solicitud

Envía un arreglo JSON. Cada elemento representa un canal. Incluye id en cada elemento — es el identificador externo estable y la clave del upsert. No se puede cambiar después de crear el canal.
curl -X PUT "https://firespark.vercel.app/api/integrations/v1/channels" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "id": "app",
      "name": "App móvil",
      "status": "ACTIVE",
      "cms_template_id": "d4e5f6a7-b8c9-0123-def4-567890abcdef"
    },
    {
      "id": "uber-eats",
      "name": "Uber Eats",
      "status": "ACTIVE",
      "cms_template_id": null
    }
  ]'

Campos de la solicitud

CampoTipoDescripción
idstringObligatorio. Identificador externo del canal. Solo alfanuméricos, _ y -. 1–64 caracteres. Único por comercio. Clave del upsert. No se puede cambiar después de crear el canal.
namestringNombre visible. 1–100 caracteres.
statusstringACTIVE o INACTIVE.
cms_template_idstring (UUID)Plantilla CMS a asignar. Omitir para conservar el valor actual en una actualización, o enviar null para quitar la plantilla. Debe referenciar una plantilla con entity CHANNELS.
cms es de solo lectura en las respuestas de canales. Puedes asignar o quitar una plantilla con cms_template_id, pero no puedes escribir valores de campos CMS por este endpoint.

Respuesta

{
  "data": {
    "created": 1,
    "updated": 1
  }
}

Respuestas de error

EstadoDescripción
400El cuerpo de la solicitud no pasó la validación. Revisa las restricciones de campos arriba.
401Access token ausente o inválido.
403El token no incluye el scope channels:write.
422Violación de regla de negocio — por ejemplo intentar cambiar el id de un canal, o id o name duplicado para el comercio.
Error de validación
{
  "error": "validation_error",
  "message": "name: Name must be between 1 and 100 characters"
}