Vai al contenuto
CADCAMFUN
Documentazione

Documentazione

Eventi del progetto

Eventi inviati dal server nell'ambito del progetto per client live.

Tradotto automaticamente dall'inglese. Vedi l'originale in inglese

Playground

Invia queste richieste al tuo sidecar in corsa. I valori rimangono in questo browser.

Non connesso
Come funziona

Il sidecar resta in ascolto su una porta di loopback scelta all'avvio e la stampa nel suo file ready linea; usa quell'URL e il file CADCAMFUN_TOKEN è stato iniziato con. Le richieste vanno direttamente da questa pagina a quell'indirizzo.

Il sidecar invia intestazioni CORS solo alle origini Tauri e a http://localhost o http://127.0.0.1 su qualsiasi porto. Dai documenti ospitati il browser blocca la risposta, quindi esegui i documenti localmente (bun run dev in packages/web) per utilizzare il parco giochi, oppure copiare la richiesta come ricciolo. Per sperimentare senza toccare i dati reali, avvia il sidecar con CADCAMFUN_DATA_DIR indicato in una directory usa e getta - vedi la procedura dettagliata dell'API.

Operazioni

2 endpoint nel events gruppo, generato da quello del sidecar Documento OpenAPI. Le operazioni protette richiedono Authorization: Bearer $CADCAMFUN_TOKEN; vedere autenticazione. Comportamenti e limiti sono entrati la guida del sottosistema.

ottenere /api/projects/{id}/events events.subscribe
ottenere /api/events events.subscribeAll
Operazioni sugli eventi del progetto in 3D Trascina per orbitare · scorri per ingrandire · trascina con il tasto destro per eseguire la panoramica
Un blocco per operazione (2), impilato per sezione di risorse di questa pagina e colorato in base al metodo: verde GET, arancione POST, blu PUT, viola PATCH, rosso DELETE. Generato dal documento OpenAPI in fase di compilazione.

/api/projects

ottenere /api/projects/{id}/events # events.subscribe

Richiede Authorization: Bearer <token>.

Parametri
NomeInTipoNecessario
id sentiero corda necessario
Risposte
200 oggetto text/event-stream
{
  id: string | null
  event: string
  data: string
}
401 Codificato nonautorizzato | NonautorizzatoCodificato application/json
UnauthorizedEncoded
404 NotFoundEncoded application/json
NotFoundEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
Esempio dell'SDK
events.subscribe
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// EventsSubscribeInput
const result = await client.events.subscribe({
  id: "<id>"
})
curl
GET /api/projects/{id}/events
curl --request GET "${CADCAMFUN_URL}/api/projects/<id>/events" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
Provalo

/api/events

ottenere /api/events # events.subscribeAll

Richiede Authorization: Bearer <token>.

Risposte
200 oggetto text/event-stream
{
  id: string | null
  event: string
  data: string
}
401 Codificato nonautorizzato | NonautorizzatoCodificato application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
prendere esempio
events.subscribeAll
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/events`, {
  method: "GET",
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
curl
GET /api/events
curl --request GET "${CADCAMFUN_URL}/api/events" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
Provalo

Schemi

Schemi denominati raggiungibili dai parametri, dai corpi e dalle risposte di questo gruppo. UN ? contrassegna un campo facoltativo; | null contrassegna un campo che può essere presente con un valore nullo.

InternalErrorEncoded
{
  _tag: "InternalError"
  message: string
}
NotFoundEncoded
{
  _tag: "NotFound"
  message: string
}
UnauthorizedEncoded
{
  _tag: "Unauthorized"
  message: string
}

Chiamando questo gruppo

Gli ID operazione hanno il formato events.<name>. L'SDK Promise generato (@cadcamfun/api/sdk) ne espone la maggior parte come client.<namespace>.<method>(input), dove input è un oggetto piatto di parametri di percorso e campi del corpo; l'esempio dell'SDK di ciascuna scheda mostra l'esatto accessor e il tipo di input. Non vengono generati caricamenti in più parti, risposte binarie o JavaScript e webhook grezzi; quelle carte mostrano fetch invece.

Errori dall'SDK Promise
import { CadCam, ClientError } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

try {
  await client.projects.list()
} catch (error) {
  if (error instanceof ClientError) {
    // Transport | UnexpectedStatus | UnsupportedContentType | MalformedResponse | SseEventTooLarge
  } else {
    // a declared error body: switch on error._tag
  }
}

Risoluzione dei problemi

SintomoProbabile causaAggiustare
401 a ogni chiamataToken di un lancio precedente o mancante Bearer prefissoInviare Authorization: Bearer <token> con il gettone con cui è stato avviato il sidecar.
400 prima che accada qualcosaIl corpo o il parametro non corrisponde allo schemaConfronta il payload con lo schema di richiesta sulla carta.
403 o 404 su un record visibile altroveIl resoconto della recitazione è diversoInvia il diritto x-session-tokenoppure utilizzare il profilo locale proprietario del record.
409Stato in conflitto, ad esempio un nome duplicato o una testa di ramo obsoletaRileggere la risorsa e riprovare con i dati correnti.
Prova, dice "bloccato da CORS"I documenti vengono serviti da un'origine non di loopbackEsegui i documenti localmente o copia la richiesta come curl.
Connessione rifiutataIl sidecar è ripartito su una nuova portaLeggi il porto dal nuovo ready riga.