OpenAPI YAMLOpenAPI JSONproblemi YAMLPanoramica dell’API
Questo gruppo ha 9 operazioni, generate da api/openapi.yaml. Filtra per percorso, azione o autenticazione. Ogni endpoint elenca i suoi input; espandilo per vedere un modello di richiesta e i codici di risposta. I modelli richiedono i tuoi valori e un corpo valido secondo lo schema.
Sostituisci i segnaposto maiuscoli con i tuoi valori. Per una richiesta JSON, salva un corpo che corrisponde allo schema in request.json. Gli esempi di cookie usano un cookie jar locale da una sessione autenticata.
Assistenza
Inviare un messaggio di contatto dal sito
Ricezione JSON anonima dalla stessa origine per il modulo di contatto del sito. Richiede l’intestazione Origin del sito e una Idempotency-Key di 20–128 lettere, cifre, trattini o trattini bassi. Non crea account né sessioni. Salva il messaggio e l’email per la risposta prima di confermare la ricezione; il servizio di assistenza li invia al canale Slack di supporto configurato.
L’email fornita dal visitatore è un dato di contatto, mai una prova di identità. I tentativi identici ricevono la stessa conferma senza un’altra consegna; un corpo modificato con la stessa chiave genera idempotency_mismatch.
Al massimo 10 nuovi messaggi per IP client all’ora (IPv6 raggruppati per /64), 3 per email al giorno e 200 complessivi all’ora; tutte le richieste condividono il limite di 120 per IP al minuto. Retry-After è vincolante. In caso di errori di consegna, i messaggi restano in coda; i record consegnati scadono dopo 30 giorni.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| Origine | intestazione | obbligatorio | |
| Idempotency-Key | intestazione | obbligatorio |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| email (obbligatorio, stringa) | maxLength: 254 format: "email" |
| message (obbligatorio, stringa) | Messaggio letterale che conserva paragrafi e rientri; il testo composto solo da spazi bianchi viene rifiutato. minLength: 1 maxLength: 4000 |
| website (facoltativo, stringa) | Campo antispam; lasciare vuoto. maxLength: 200 |
Modello richiesta e risposte
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'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 202 | Messaggio salvato per la consegna oppure nuovo tentativo identico confermato. Non contiene dati di contatto. | oggetto (application/json); intestazioni: Cache-Control |
| predefinito | Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore. | Problema (application/problem+json) |
Stato assistenza
Disponibilità e orari per ogni progetto attivo. chat_allowed è true per ogni progetto attivo, incluso Standard. human_available è true quando una persona può unirsi alla chat su richiesta (Education, Premium ed Enterprise); Standard e Plus hanno documentazione e assistenza AI. staffed indica se lo staff è nel suo orario in questo momento. Luna risponde subito su ogni piano.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
Modello richiesta e risposte
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/status'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Risultato assistenza. | SupportStatus (application/json) |
| predefinito | Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore. | Problema (application/problem+json) |
Elenca le conversazioni di assistenza
Conversazioni del progetto, le più recenti per prime, massimo 100. Il conteggio dei messaggi non letti dallo staff è per persona o agente autenticato.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| before | query | opzionale | ID conversazione dal cursore successivo della pagina precedente. |
Modello richiesta e risposte
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/conversations'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Risultato assistenza. | SupportConversationList (application/json) |
| predefinito | Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore. | Problema (application/problem+json) |
Crea conversazione assistenza
Disponibile su ogni piano; Luna risponde per prima, subito. Dove una persona può unirsi (human_available nello stato dell’assistenza), la richiesta mette in pausa Luna per lo staff; su Standard e Plus viene ignorata e Luna risponde. Controllato prima dell’archiviazione o Slack.
Un messaggio iniziale sotto gli 8 caratteri o 3 parole restituisce submission_too_short; uno che non è domanda o problema restituisce submission_unclear; spam, testo con molti link, prompt injection e testo non sicuro restituiscono submission_rejected. Il testo rifiutato non viene conservato né inviato a Luna, e il dettaglio del problema non lo ripete mai.
Testi con forma di credenziali diversi da credenziali ScreenRig (token bearer, chiavi cloud e API, chiavi private) sono sostituiti con [redacted] prima della memorizzazione; materiale di credenziali ScreenRig restituisce invalid_request. Una nuova conversazione inizia un thread Slack; i follow-up restano in esso. Richieste con la stessa chiave vengono riprodotte per 24 ore, incluso un rifiuto.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| Idempotency-Key | intestazione | obbligatorio |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| body (obbligatorio, stringa) | minLength: 1 maxLength: 4000 |
| human_requested (opzionale, booleano) | Chiedi una persona: mette in pausa Luna e attende lo staff. Conta solo dove una persona può unirsi (human_available: Education, Premium ed Enterprise); su Standard e Plus viene ignorato e Luna risponde. predefinito: false |
Modello richiesta e risposte
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'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 201 | Risultato assistenza. | SupportSubmission (application/json) |
| 422 | Il messaggio è stato rifiutato dallo screening: submission_too_short o submission_unclear (solo il messaggio iniziale) o submission_rejected. Il dettaglio non ripete mai il testo. | Problema (application/problem+json) |
| predefinito | Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore. | Problema (application/problem+json) |
Elenca i messaggi di assistenza
Messaggi nella conversazione del progetto, sequenza ascendente, massimo 100. Continua dopo l’ultima sequenza messaggi per la paginazione di conversazioni più vecchie. La lettura non riconosce lo stato di non letto dello staff.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio | |
| dopo | query | opzionale | Sequenza messaggi assistenza progetto; riprende rigorosamente dopo questa posizione. |
Modello richiesta e risposte
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/conversations/RESOURCE_ID/messages'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Risultato assistenza. | SupportMessageList (application/json) |
| predefinito | Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore. | Problema (application/problem+json) |
Rispondi alla conversazione assistenza
Aggiunge un messaggio cliente a una conversazione aperta. Un seguito non ha lunghezza minima e non è mai rifiutato come poco chiaro da solo ("grazie", "sì"); è controllato per sicurezza, iniezione prompt e spam di link, rifiutato con submission_rejected, e testo a forma di credenziali è gestito come per una nuova conversazione.
Il testo rifiutato non viene conservato, e un rifiuto si ripete con la stessa chiave per 24 ore.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio | |
| Idempotency-Key | intestazione | obbligatorio |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| body (obbligatorio, stringa) | minLength: 1 maxLength: 4000 |
| human_requested (opzionale, booleano) | Chiedi una persona: mette in pausa Luna e attende lo staff. Conta solo dove una persona può unirsi (human_available: Education, Premium ed Enterprise); su Standard e Plus viene ignorato e Luna risponde. predefinito: false |
Modello richiesta e risposte
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'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 201 | Risultato assistenza. | SupportSubmission (application/json) |
| 422 | Il messaggio è stato rifiutato dallo screening: submission_too_short o submission_unclear (solo il messaggio iniziale) o submission_rejected. Il dettaglio non ripete mai il testo. | Problema (application/problem+json) |
| predefinito | Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore. | Problema (application/problem+json) |
Leggi conversazione assistenza
Riconoscere monotonamente i messaggi tramite sequenza per questo lettore. Non è possibile riconoscere oltre la conversazione last_sequence.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| sequenza (obbligatorio, intero) | minimo: 0 |
Modello richiesta e risposte
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'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Risultato assistenza. | SupportRead (application/json) |
| predefinito | Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore. | Problema (application/problem+json) |
Chiudi conversazione assistenza
Termina questa conversazione di progetto e annulla le risposte AI in sospeso. Ripetibile; conserva la cronologia. Lo staff può riaprirla in Slack.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio |
Modello richiesta e risposte
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/conversations/RESOURCE_ID/close'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Conversazione chiusa. | SupportConversation (application/json) |
| predefinito | Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore. | Problema (application/problem+json) |
Messaggi assistenza flusso
Messaggi assistenza progetto su ogni piano come SSE riprendibile. event è support.message; id è la sequenza assistenza progetto, data è SupportMessage. after ha priorità su Last-Event-ID. Il cursore 0 riproduce la cronologia. I messaggi di staff, cliente e AI si distinguono per ruolo. I flussi rivalidano credenziali e accesso attivo al progetto.
Nessun dato di screenshot o credenziali viene inviato.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| dopo | query | opzionale | Sequenza messaggi assistenza progetto; riprende rigorosamente dopo questa posizione. |
| Last-Event-ID | intestazione | opzionale |
Modello richiesta e risposte
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/stream/support'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Messaggio di assistenza SSE. | stringa (text/event-stream) |
| predefinito | Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore. | Problema (application/problem+json) |