Referencia API

API de Soporte

Soporte

Referencia HTTP. Generada a partir del contrato backend. Explore los endpoints abajo o descargue OpenAPI.

Este grupo tiene 9 operaciones, generadas a partir de api/openapi.yaml. Filtre por ruta, acción o autenticación. Cada endpoint indica sus entradas; despliéguelo para ver una plantilla de solicitud y los códigos de respuesta. Las plantillas necesitan sus propios valores y un cuerpo válido según el esquema.

Reemplace los marcadores en mayúsculas con sus valores. Para una solicitud JSON, guarde un cuerpo que coincida con el esquema en request.json. Los ejemplos de cookies usan un frasco de cookies local de una sesión autenticada.

Soporte

POST/website/support-messages

Enviar un mensaje de contacto desde el sitio

Recepción JSON anónima del mismo origen para el formulario de contacto del sitio. Requiere el encabezado Origin del sitio y una Idempotency-Key de 20 a 128 letras, dígitos, guiones o guiones bajos. No crea cuentas ni sesiones. Guarda el mensaje y el correo de respuesta antes de confirmar la recepción; el proceso de soporte los envía al canal de soporte de Slack configurado.

El correo proporcionado por el visitante es un dato de contacto, nunca una prueba de identidad. Los reintentos idénticos reciben la misma confirmación sin otra entrega; cambiar el cuerpo con la misma clave produce idempotency_mismatch.

Como máximo 10 mensajes nuevos por IP de cliente por hora (IPv6 agrupadas por /64), 3 por correo al día y 200 en total por hora; todas las solicitudes comparten un límite de 120 por IP por minuto. Retry-After es vinculante. Los mensajes permanecen en cola si falla la entrega; los registros entregados caducan después de 30 días.

Autenticación
ninguno
Cuerpo de la solicitud
object
ID de operación
submitWebsiteSupportMessage

Parámetros

NombreEnviar¿Requerido?Descripción
Origenencabezadorequerido
Idempotency-Keyencabezadorequerido

Campos del cuerpo de la solicitud

CampoDescripción
correo electrónico (requerido, cadena)maxLength: 254 formato: "email"
message (obligatorio, cadena)Mensaje literal que conserva párrafos y sangría; se rechaza el texto compuesto solo por espacios en blanco. minLength: 1 maxLength: 4000
website (opcional, cadena)Campo antispam; déjalo vacío. maxLength: 200
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request POST --header 'Origin: https://screenrig.ai' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/website/support-messages'

Respuestas

EstadoSignificadoCuerpo y encabezados
202Mensaje guardado para su entrega, o reintento idéntico confirmado. No contiene datos de contacto.objeto (application/json); encabezados: Cache-Control
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
GET/api/support/status

Estado de soporte

Disponibilidad y horarios para cualquier proyecto activo. chat_allowed es verdadero para cada proyecto activo, incluido Standard. human_available es verdadero cuando una persona puede unirse al chat si se solicita (Education, Premium y Enterprise); Standard y Plus tienen documentación y soporte por IA. staffed indica si el personal está en su horario ahora. Luna responde de inmediato en todos los planes.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
supportStatus

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/status'

Respuestas

EstadoSignificadoCuerpo y encabezados
200Resultado de soporte.SupportStatus (application/json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
GET/api/support/conversations

Listar conversaciones de soporte

Conversaciones del proyecto, las más recientes primero, máximo 100. Los conteos de no leídos del personal son por persona o agente autenticado.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
listSupportConversations

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
beforeconsultaopcionalID de conversación del cursor siguiente de la página anterior.
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/conversations'

Respuestas

EstadoSignificadoCuerpo y encabezados
200Resultado de soporte.SupportConversationList (application/json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
POST/api/support/conversations

Crear conversación de soporte

Disponible en todos los planes; Luna responde primero, de inmediato. Donde una persona puede unirse (human_available en el estado del soporte), solicitarla pausa a Luna para el personal; en Standard y Plus se ignora y Luna responde. Se revisa antes del almacenamiento o Slack.

Un mensaje inicial con menos de 8 caracteres o 3 palabras devuelve submission_too_short; uno que no sea pregunta o problema devuelve submission_unclear; spam, texto con muchos enlaces, inyección de indicaciones y texto inseguro devuelven submission_rejected. El texto rechazado no se conserva ni se envía a Luna, y el detalle del problema nunca lo repite.

El texto con forma de credencial distinto a las credenciales de ScreenRig (tokens bearer, claves cloud y API, claves privadas) se reemplaza por [redactado] antes de almacenarlo; el material de credenciales de ScreenRig devuelve invalid_request. Una nueva conversación inicia un hilo en Slack; los seguimientos permanecen en él. Las solicitudes con la misma clave se repiten durante 24 horas, incluida una negativa.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
SupportWrite
ID de operación
createSupportConversation

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
Idempotency-Keyencabezadorequerido

Campos del cuerpo de la solicitud

CampoDescripción
body (requerido, cadena)minLength: 1 maxLength: 4000
human_requested (opcional, booleano)

Pedir una persona, lo que pausa a Luna y espera al personal. Solo cuenta donde una persona puede unirse (human_available: Education, Premium y Enterprise); en Standard y Plus se ignora y Luna responde. predeterminado: falso

Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/support/conversations'

Respuestas

EstadoSignificadoCuerpo y encabezados
201Resultado de soporte.SupportSubmission (application/json)
422El mensaje fue rechazado por filtrado: submission_too_short o submission_unclear (solo el mensaje inicial) o submission_rejected. El detalle nunca repite el texto.Problema (application/problem+json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
GET/api/support/conversations/{id}/messages

Listar mensajes de soporte

Mensajes en la conversación del proyecto, secuencia ascendente, máximo 100. Continúe después de la última secuencia de mensajes para paginación de conversaciones anteriores. La lectura no reconoce el estado de no leído del personal.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
listSupportMessages

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
despuésconsultaopcionalSecuencia de mensajes de soporte del proyecto; se reanuda estrictamente después de esta posición.
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/conversations/RESOURCE_ID/messages'

Respuestas

EstadoSignificadoCuerpo y encabezados
200Resultado de soporte.SupportMessageList (application/json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
POST/api/support/conversations/{id}/messages

Responder conversación de soporte

Agrega un mensaje de cliente a una conversación abierta. Un seguimiento no tiene longitud mínima y nunca se rechaza por ser poco claro por sí solo ("gracias", "sí"); se revisa para seguridad, inyección de indicaciones y spam de enlaces, se rechaza con submission_rejected, y el texto con forma de credencial se maneja como para una nueva conversación.

El texto rechazado no se conserva, y una negativa se reproduce bajo la misma clave durante 24 horas.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
SupportWrite
ID de operación
replySupportConversation

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
Idempotency-Keyencabezadorequerido

Campos del cuerpo de la solicitud

CampoDescripción
body (requerido, cadena)minLength: 1 maxLength: 4000
human_requested (opcional, booleano)

Pedir una persona, lo que pausa a Luna y espera al personal. Solo cuenta donde una persona puede unirse (human_available: Education, Premium y Enterprise); en Standard y Plus se ignora y Luna responde. predeterminado: falso

Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/support/conversations/RESOURCE_ID/messages'

Respuestas

EstadoSignificadoCuerpo y encabezados
201Resultado de soporte.SupportSubmission (application/json)
422El mensaje fue rechazado por filtrado: submission_too_short o submission_unclear (solo el mensaje inicial) o submission_rejected. El detalle nunca repite el texto.Problema (application/problem+json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
PUT/api/support/conversations/{id}/read

Leer conversación de soporte

Reconozca los mensajes monótonamente a través de la secuencia para este lector. No se puede reconocer más allá de la conversación last_sequence.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
SupportRead
ID de operación
readSupportConversation

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido

Campos del cuerpo de la solicitud

CampoDescripción
secuencia (requerida, entero)mínimo: 0
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/support/conversations/RESOURCE_ID/read'

Respuestas

EstadoSignificadoCuerpo y encabezados
200Resultado de soporte.SupportRead (application/json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
POST/api/support/conversations/{id}/close

Cerrar conversación de soporte

Finalizar esta conversación del proyecto y cancelar respuestas pendientes de IA. Repetible; conserva el historial. El personal puede reabrirla en Slack.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
closeSupportConversation

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/conversations/RESOURCE_ID/close'

Respuestas

EstadoSignificadoCuerpo y encabezados
200Conversación cerrada.SupportConversation (application/json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
GET/stream/support

Transmitir mensajes de soporte

Mensajes de soporte del proyecto en todos los planes como SSE reanudables. event es support.message; id es la secuencia de soporte del proyecto, data es SupportMessage. after tiene prioridad sobre Last-Event-ID. Cursor 0 reproduce el historial. Los mensajes de personal, cliente y IA se distinguen por rol. Los flujos revalidan credenciales y acceso activo al proyecto.

No se envían capturas de pantalla ni datos de credenciales.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
streamSupportMessages

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
despuésconsultaopcionalSecuencia de mensajes de soporte del proyecto; se reanuda estrictamente después de esta posición.
Last-Event-IDencabezadoopcional
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/stream/support'

Respuestas

EstadoSignificadoCuerpo y encabezados
200Mensaje de soporte SSE.cadena (text/event-stream)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)