Endpointy
Publikowanie aplikacji
Wystaw zapisaną aplikację w sieci, tak jak robi to przycisk Publish.
https://www.setherion.com/api/v1/projects/{id}/publishPlan: 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.
curl -X POST https://www.setherion.com/api/v1/projects/7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14/publish \
-H "Authorization: Bearer $SETHERION_API_KEY"Odpowiedź
{ "ok": true, "url": "https://coffee-shop.setherion.app", "ready": true }| Pole | Typ | Znaczenie |
|---|---|---|
ok | boolean | true, gdy aplikacja została opublikowana. |
url | string | Gdzie aplikacja jest w sieci. |
ready | boolean | false, 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:
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
| Status | Kiedy |
|---|---|
400 | Kod aplikacji zawiera sekret, na przykład klucz API, i nie został opublikowany. Błąd wskazuje, gdzie. |
401 | Klucza brakuje, jest błędny albo odwołany. |
404 | Nie ma takiej aplikacji albo twój klucz nie może jej edytować. |
409 | Aplikacja 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. |
429 | Opublikowano 100 razy przez API dzisiaj. Licznik zeruje się jutro. |
502 | Publikowanie nie powiodło się po naszej stronie albo nie powiodło się budowanie na hostingu. Spróbuj jeszcze raz. |
503 | Publikowanie jest chwilowo niedostępne. Spróbuj za minutę. |
Dokładne komunikaty
| Status | error |
|---|---|
400 | Publishing would put a secret key on the open internet: ... a dalej rodzaj sekretu, plik i linia oraz to, co zrobić zamiast tego. |
404 | No such app on this account. |
409 | This app has no code yet. Build it in Setherion first. |
409 | The address coffee-shop.setherion.app belongs to another app. Choose a different one. |
409 | Could not find a free address for this app. Rename it and publish again. |
409 | This 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. |
429 | That is 100 publishes through the API today. The count resets tomorrow. |
502 | The 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. |
502 | The build was cancelled on the host, so this version is not online. Publish again. |
503 | Publishing is briefly unavailable. Try again in a minute. |
Czy ta strona była pomocna?
