Endpointy

Publikowanie aplikacji

Wystaw zapisaną aplikację w sieci, tak jak robi to przycisk Publish.

POSThttps://www.setherion.com/api/v1/projects/{id}/publish

Plan: Każdy plan

Wystawia aplikację w sieci dokładnie tak, jak jest zapisana, tymi samymi krokami co przycisk Publish w edytorze. Aplikacja, która była już opublikowana, zachowuje swój adres; ta publikowana po raz pierwszy dostaje adres utworzony z jej nazwy, na setherion.app.

Publikowanie nie zużywa kredytów. Musisz mieć prawo edytowania aplikacji. Przez API obowiązuje limit 100 publikacji na konto dziennie, którego nikt pracujący ręcznie nie osiąga; przycisk w edytorze nie ma takiego limitu.

Żądanie

Treść żądania nie jest potrzebna.

bash
curl -X POST https://www.setherion.com/api/v1/projects/7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14/publish \
  -H "Authorization: Bearer $SETHERION_API_KEY"

Odpowiedź

json
{ "ok": true, "url": "https://coffee-shop.setherion.app", "ready": true }
PoleTypZnaczenie
okbooleantrue, gdy aplikacja została opublikowana.
urlstringGdzie aplikacja jest w sieci.
readybooleanfalse, gdy adres jest jeszcze przygotowywany. Zacznie działać w ciągu minuty lub dwóch.

Dwukrotne opublikowanie tej samej zapisanej aplikacji jest bezpieczne: drugie wywołanie odpowiada tym samym adresem.

Edycja, potem publikacja

Publikowane jest to, co jest zapisane, a edycja zapisuje się, gdy się skończy. Dlatego edycja, po której następuje publikacja, wystawia zmianę w sieci:

js
const base = 'https://www.setherion.com/api/v1/projects'
const headers = {
  Authorization: `Bearer ${process.env.SETHERION_API_KEY}`,
  'Content-Type': 'application/json',
}

const edit = await fetch(`${base}/${appId}/edit`, {
  method: 'POST',
  headers,
  body: JSON.stringify({ prompt: 'Add a contact form' }),
}).then(r => r.json())

if (edit.ok) {
  const live = await fetch(`${base}/${appId}/publish`, { method: 'POST', headers }).then(r => r.json())
  console.log(live.url)
}

Błędy

StatusKiedy
400Kod aplikacji zawiera sekret, na przykład klucz API, i nie został opublikowany. Błąd wskazuje, gdzie.
401Klucza brakuje, jest błędny albo odwołany.
404Nie ma takiej aplikacji albo twój klucz nie może jej edytować.
409Aplikacja nie ma jeszcze kodu, albo adres, którego potrzebuje, jest niedostępny, albo jest to aplikacja prywatna, która nie może trafić na twoją własną domenę. Błąd mówi, które z nich.
429Opublikowano 100 razy przez API dzisiaj. Licznik zeruje się jutro.
502Publikowanie nie powiodło się po naszej stronie albo nie powiodło się budowanie na hostingu. Spróbuj jeszcze raz.
503Publikowanie jest chwilowo niedostępne. Spróbuj za minutę.
Dokładne komunikaty
Statuserror
400Publishing would put a secret key on the open internet: ... a dalej rodzaj sekretu, plik i linia oraz to, co zrobić zamiast tego.
404No such app on this account.
409This app has no code yet. Build it in Setherion first.
409The address coffee-shop.setherion.app belongs to another app. Choose a different one.
409Could not find a free address for this app. Rename it and publish again.
409This app is private, and a private app can only be published on its setherion.app address. To use a domain of your own, make it public first. Otherwise try again in a moment. Nothing was published.
429That is 100 publishes through the API today. The count resets tomorrow.
502The build failed on the host, so this version is not online. Publish again, and if it fails again, ask for a fix in the editor.
502The build was cancelled on the host, so this version is not online. Publish again.
503Publishing is briefly unavailable. Try again in a minute.

Czy ta strona była pomocna?

Dołącz do społeczności

Pytania, pomysły i to, co budują inni.