Paylaşılan görünümler ve formlar API

Paylaşılan görünümler ve formlar modülünün tüm işlemleri (3) ve veri modelleri (1): adresler, izinler, girdiler, ön koşullar, olaylar ve örnekler.

Bir Base görünümünü gizli bir bağlantıyla paylaşın ya da form olarak yayımlayın.

Modül kodu data_sharing · 3 işlem · 1 veri modeli · 3 olay. Bir anahtar ya da token, arkasındaki kişinin bu modülde yapabildiğinden fazlasını asla yapamaz; satır düzeyindeki güvenlik uygulamadakiyle birebir aynıdır. Yetki kapsamları: data_sharing (hepsi), data_sharing:read (yalnız okuma) ya da data_sharing:<yetenek>.

Kaynaklar

KaynakTabloListeleme ve okumaPOSTPATCHDELETE
data_sharesdata_share/api/v1/data_shares

Listeler limit (en çok 200), cursor, order (ör. -created_at), fields ve q alır; diğer her sorgu parametresi bir sütun süzgecidir: ?status=paid, ?total[gte]=100, ?id[in]=a,b, ?x=null.

İşlemler

İşlemGereken izinNe yapar
data_sharing.create_linkdata_sharing:manageGörünümü paylaş
data_sharing.revoke_linkdata_sharing:managePaylaşılan bağlantıyı iptal et
data_sharing.update_linkdata_sharing:managePaylaşılan bağlantıyı değiştir

Görünümü paylaş — Bir görünümü gizli bir bağlantıyla yayımlar — salt okunur ya da yabancıların doldurabileceği bir form.

Gereken izin data_sharing:manage · veriyi değiştirir

POSThttps://app.getera.io/api/v1/data_shares/actions/create_link
API anahtarı ya da OAuth token · data_sharing:manage
  • Asıl adres: POST /api/v1/actions/data_sharing.create_link
AlanTürZorunluAçıklama
savedViewIduuidevetGörüntüle · kimliği: saved_view
scopestring (enum)evetBağlantıya sahip olanlar şunu yapabilir · İzin verilen değerler: read, submit
passwordstringŞifre · en çok 200
expiresAtdate-timeSona erme
allowDownloadbooleanCSV indirmeye izin ver

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
view_not_foundGörünüm bu çalışma alanında bir Base görünümü olmalı.
wrong_view_kindFormlar doldurulmak için, diğer görünümler okunmak için paylaşılır.
form_not_builtForm görünümü, formu oluşturulduktan sonra paylaşılır.
password_too_shortBağlantı şifresi en az altı karakterdir.
expiry_in_pastBağlantının süresi gelecekte dolmalı.

Yayımladığı olaylar: data_sharing.link_created

Neye yazar: data_share (insert) — Creates the link

curl -X POST https://app.getera.io/api/v1/data_shares/actions/create_link \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"savedViewId":"SAVED_VIEW_ID","scope":"read"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "data_sharing.link_created"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.dataShares.createLink({
  savedViewId: "SAVED_VIEW_ID",
  scope: "read"
})
era data_shares create_link \
  --saved-view-id "SAVED_VIEW_ID" \
  --scope "read"
tools/call
{
  "name": "era__data_sharing__create_link",
  "arguments": {
    "savedViewId": "SAVED_VIEW_ID",
    "scope": "read"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data_sharing:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 view_not_found, wrong_view_kind, form_not_built, password_too_short, expiry_in_past · 429 çok sık istek

Paylaşılan bağlantıyı iptal et — Bağlantı, elinde olan herkes için hemen çalışmaz olur.

Gereken izin data_sharing:manage · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır

POSThttps://app.getera.io/api/v1/data_shares/{id}/actions/revoke_link
API anahtarı ya da OAuth token · data_sharing:manage
  • Asıl adres: POST /api/v1/actions/data_sharing.revoke_link
AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Bağlantı · kimliği: data_share

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
link_not_foundBağlantı bulunmalı ve hâlâ geçerli olmalı.

Yayımladığı olaylar: data_sharing.link_revoked

Neye yazar: data_share (update) — Switches the link off

curl -X POST https://app.getera.io/api/v1/data_shares/DATA_SHARE_ID/actions/revoke_link \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "data_sharing.link_revoked"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.dataShares.revokeLink("DATA_SHARE_ID")
era data_shares revoke_link DATA_SHARE_ID
tools/call
{
  "name": "era__data_sharing__revoke_link",
  "arguments": {
    "id": "DATA_SHARE_ID"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data_sharing:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 link_not_found · 429 çok sık istek

Paylaşılan bağlantıyı değiştir — Şifresini ve son tarihini koyar veya kaldırır; indirmeye izin verip vermediğini belirler.

Gereken izin data_sharing:manage · veriyi değiştirir

POSThttps://app.getera.io/api/v1/data_shares/{id}/actions/update_link
API anahtarı ya da OAuth token · data_sharing:manage
  • Asıl adres: POST /api/v1/actions/data_sharing.update_link
AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Bağlantı · kimliği: data_share
passwordstringYeni şifre · en çok 200
removePasswordbooleanŞifreyi kaldır
expiresAtdate-timeSona erme
removeExpirybooleanSüresiz
allowDownloadbooleanCSV indirmeye izin ver

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
link_not_foundBağlantı bulunmalı ve hâlâ geçerli olmalı.
password_too_shortBağlantı şifresi en az altı karakterdir.
expiry_in_pastBağlantının süresi gelecekte dolmalı.

Yayımladığı olaylar: data_sharing.link_changed

Neye yazar: data_share (update) — Changes the link

curl -X POST https://app.getera.io/api/v1/data_shares/DATA_SHARE_ID/actions/update_link \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"password":"New password"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "data_sharing.link_changed"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.dataShares.updateLink("DATA_SHARE_ID", {
  password: "New password"
})
era data_shares update_link DATA_SHARE_ID \
  --password "New password"
tools/call
{
  "name": "era__data_sharing__update_link",
  "arguments": {
    "id": "DATA_SHARE_ID",
    "password": "New password"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data_sharing:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 link_not_found, password_too_short, expiry_in_past · 429 çok sık istek

Veri modelleri

DataShare

Tablo data_share · Kaynak data_shares

  • GET /api/v1/data_shares
  • GET /api/v1/data_shares/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
data_table_idstring (uuid) · uuid
saved_view_idstring (uuid) · uuid
scopestring · textread, submit
expires_atstring (date-time) · timestamptzevet
allow_downloadboolean · bool
is_activeboolean · bool
created_bystring (uuid) · uuidapp_user
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz

Birincil anahtar: id

Tekil: token

Olaylar

İş akışları ve webhook'lar bu olaylara tepki verir.

OlayNe olurTaşıdığı alanlar
data_sharing.link_changedPaylaşılan bir bağlantının şifresi ya da son kullanma tarihi değişti.id
data_sharing.link_createdBir görünüm bir bağlantıyla paylaşıldı.id, savedViewId, scope
data_sharing.link_revokedPaylaşılan bir bağlantı kapatıldı.id
Bu sayfa yardımcı oldu mu?