Etiketler API

Etiketler modülünün tüm işlemleri (6) ve veri modelleri (2): adresler, izinler, girdiler, ön koşullar, olaylar ve örnekler.

Tüm kayıtlar için tek ortak etiket listesi, kendi renklerinizle.

Modül kodu tags · 6 işlem · 2 veri modeli · 6 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ı: tags (hepsi), tags:read (yalnız okuma) ya da tags:<yetenek>.

Kaynaklar

KaynakTabloListeleme ve okumaPOSTPATCHDELETE
tag_linkstag_link/api/v1/tag_links
tagstag/api/v1/tagstags.createtags.updatetags.delete

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
tags.attachtags:readKaydı etiketle
tags.createtags:manageEtiket oluştur
tags.deletetags:manageEtiketi sil
tags.detachtags:readEtiketi kayıttan kaldır
tags.mergetags:manageİki etiketi birleştir
tags.updatetags:manageEtiketi yeniden adlandır veya renklendir

tags.attach

Kaydı etiketle — Var olan bir etiketi bir kayda koyar. O kaydı düzenleme yetkisi gerekir.

Gereken izin tags:read · veriyi değiştirir

POSThttps://app.getera.io/api/v1/tag_links/actions/attach
API anahtarı ya da OAuth token · tags:read
  • Asıl adres: POST /api/v1/actions/tags.attach

Girdi

AlanTürZorunluAçıklama
tagIduuidevetEtiket · kimliği: tag
recordTypestringevetKayıt türü · en çok 60
recordIduuidevetKayıt

Ön koşullar

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

KodNe zaman reddedilir
unknown_record_typeKayıt türü bir modülün sahip olduğu türlerden olmalı.
cannot_write_recordBir kaydı etiketlemek, o kaydın modülünde yazma yetkisi gerektirir.
tag_not_foundEtiket bu çalışma alanında bulunmalı.
record_not_foundKayıt bulunmalı.

Yayımladığı olaylar: tags.attached

Neye yazar: tag_link (insert) — Attaches the tag

curl -X POST https://app.getera.io/api/v1/tag_links/actions/attach \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"tagId":"TAG_ID","recordType":"Record type","recordId":"RECORD_ID"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "tags.attached"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.tagLinks.attach({
  tagId: "TAG_ID",
  recordType: "Record type",
  recordId: "RECORD_ID"
})
era tag_links attach \
  --tag-id "TAG_ID" \
  --record-type "Record type" \
  --record-id "RECORD_ID"
tools/call
{
  "name": "era__tags__attach",
  "arguments": {
    "tagId": "TAG_ID",
    "recordType": "Record type",
    "recordId": "RECORD_ID"
  }
}

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

tags.create

Etiket oluştur — Her modülün paylaştığı çalışma alanı sözlüğüne bir kayıt ekler.

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

POSThttps://app.getera.io/api/v1/tags/actions/create
API anahtarı ya da OAuth token · tags:manage
  • REST kısayolu: POST /api/v1/tags
  • Asıl adres: POST /api/v1/actions/tags.create

Girdi

AlanTürZorunluAçıklama
namestringevetAd · en çok 120
colorstringRenk · Kare işaretinden sonra altı onaltılık rakam. Boş bırakılırsa etiket, kimliğinden türetilen sabit bir renk alır. · en çok 7
descriptionstringAçıklama · en çok 2000
isPinnedbooleanFiltrelere sabitle

Ön koşullar

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

KodNe zaman reddedilir
empty_nameEtiketin anahtara dönüşebilen bir adı olmalı.
slug_takenİki etiket aynı anahtara dönüşemez.
bad_colourRenk, diyez işaretinden sonra altı onaltılık rakam olmalı.

Yayımladığı olaylar: tags.created

Neye yazar: tag (insert) — Writes the vocabulary entry

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.tags.create({
  name: "Name"
})
era tags create \
  --name "Name"
tools/call
{
  "name": "era__tags__create",
  "arguments": {
    "name": "Name"
  }
}

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

tags.delete

Etiketi sil — Kaydı ve tüm eklendiği yerleri kaldırır. Önce kaç tane olduğunu söyler.

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

POSThttps://app.getera.io/api/v1/tags/{id}/actions/delete
API anahtarı ya da OAuth token · tags:manage
  • REST kısayolu: DELETE /api/v1/tags/{id}
  • Asıl adres: POST /api/v1/actions/tags.delete

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Etiket · kimliği: tag

Ön koşullar

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

KodNe zaman reddedilir
not_foundEtiket bu çalışma alanında bulunmalı.

Yayımladığı olaylar: tags.deleted

Neye yazar: tag (delete) — Removes the entry; tag_link (delete) — Its attachments go with it, by cascade

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.tags.delete("TAG_ID")
era tags delete TAG_ID
tools/call
{
  "name": "era__tags__delete",
  "arguments": {
    "id": "TAG_ID"
  }
}

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

tags.detach

Etiketi kayıttan kaldır — Sözlüğe dokunmadan etiketi kayıttan çıkarır.

Gereken izin tags:read · veriyi değiştirir

POSThttps://app.getera.io/api/v1/tag_links/actions/detach
API anahtarı ya da OAuth token · tags:read
  • Asıl adres: POST /api/v1/actions/tags.detach

Girdi

AlanTürZorunluAçıklama
tagIduuidevetEtiket · kimliği: tag
recordTypestringevetKayıt türü · en çok 60
recordIduuidevetKayıt

Ön koşullar

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

KodNe zaman reddedilir
unknown_record_typeKayıt türü bir modülün sahip olduğu türlerden olmalı.
cannot_write_recordBir kayıttan etiket kaldırmak, o kaydın modülünde yazma yetkisi gerektirir.
not_taggedEtiket gerçekten kayıtta olmalı.

Yayımladığı olaylar: tags.detached

Neye yazar: tag_link (delete) — Detaches the tag

curl -X POST https://app.getera.io/api/v1/tag_links/actions/detach \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"tagId":"TAG_ID","recordType":"Record type","recordId":"RECORD_ID"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "tags.detached"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.tagLinks.detach({
  tagId: "TAG_ID",
  recordType: "Record type",
  recordId: "RECORD_ID"
})
era tag_links detach \
  --tag-id "TAG_ID" \
  --record-type "Record type" \
  --record-id "RECORD_ID"
tools/call
{
  "name": "era__tags__detach",
  "arguments": {
    "tagId": "TAG_ID",
    "recordType": "Record type",
    "recordId": "RECORD_ID"
  }
}

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

tags.merge

İki etiketi birleştir — Bir kayıttaki her şeyi diğerine taşır ve boş kalanı kaldırır.

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

POSThttps://app.getera.io/api/v1/tags/{id}/actions/merge
API anahtarı ya da OAuth token · tags:manage
  • Asıl adres: POST /api/v1/actions/tags.merge

Girdi

AlanTürZorunluAçıklama
winnerIduuidevetDoldurulduğu yer: adresteki {id} · Tut · kimliği: tag
loserIduuidevetBirleştirilip kaldırılacak · kimliği: tag

Ön koşullar

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

KodNe zaman reddedilir
same_tagBir etiket kendisiyle birleştirilemez.
not_foundİki etiket de bu çalışma alanında bulunmalı.

Yayımladığı olaylar: tags.merged

Neye yazar: tag_link (update) — Repoints the attachments; tag (delete) — Removes the entry that was merged away

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.tags.merge("TAG_ID", {
  loserId: "TAG_ID"
})
era tags merge TAG_ID \
  --loser-id "TAG_ID"
tools/call
{
  "name": "era__tags__merge",
  "arguments": {
    "winnerId": "TAG_ID",
    "loserId": "TAG_ID"
  }
}

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

tags.update

Etiketi yeniden adlandır veya renklendir — Kaydın kendisini değiştirir. Etiketlenmiş hiçbir şeye dokunulmaz.

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

POSThttps://app.getera.io/api/v1/tags/{id}/actions/update
API anahtarı ya da OAuth token · tags:manage
  • REST kısayolu: PATCH /api/v1/tags/{id}
  • Asıl adres: POST /api/v1/actions/tags.update

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Etiket · kimliği: tag
namestringAd · en çok 120
colorstringRenk · Kare işaretinden sonra altı onaltılık rakam. Boş bırakılırsa etiket, kimliğinden türetilen sabit bir renk alır. · en çok 7
descriptionstringAçıklama · en çok 2000
isPinnedbooleanFiltrelere sabitle

Ön koşullar

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

KodNe zaman reddedilir
not_foundEtiket bu çalışma alanında bulunmalı.
empty_nameEtiketin anahtara dönüşebilen bir adı olmalı.
slug_takenİki etiket aynı anahtara dönüşemez.
bad_colourRenk, diyez işaretinden sonra altı onaltılık rakam olmalı.

Yayımladığı olaylar: tags.updated

Neye yazar: tag (update) — Rewrites the entry

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.tags.update("TAG_ID", {
  name: "Name"
})
era tags update TAG_ID \
  --name "Name"
tools/call
{
  "name": "era__tags__update",
  "arguments": {
    "id": "TAG_ID",
    "name": "Name"
  }
}

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

Veri modelleri

Tablo tag_link · Kaynak tag_links

  • GET /api/v1/tag_links
  • GET /api/v1/tag_links/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
tag_idstring (uuid) · uuidtag
record_typestring · text
record_idstring (uuid) · uuid
tagged_by_user_idstring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz

Birincil anahtar: id

Tag

Tablo tag · Kaynak tags

SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
namestring · text
slugstring · text
colorstring · textevet
descriptionstring · textevet
is_pinnedboolean · bool
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz

Birincil anahtar: id

Denetimler:

  • CHECK (((color IS NULL) OR (color ~ '^#[0-9A-Fa-f]{6}$'::text)))
  • CHECK (((name = btrim(name)) AND (length(name) > 0)))
  • CHECK (((slug = lower(slug)) AND (slug = btrim(slug)) AND (length(slug) > 0)))

Olaylar

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

OlayNe olurTaşıdığı alanlar
tags.attachedBir kayıt etiketlendi.id, recordType, recordId
tags.createdSözlüğe bir etiket eklendi.id, name, slug
tags.deletedBir etiket ve eklendiği yerler kaldırıldı.id, name, detached
tags.detachedBir kayıttan bir etiket kaldırıldı.id, recordType, recordId
tags.mergedİki etiket birleşti.id, losingId, moved
tags.updatedBir etiket yeniden adlandırıldı ya da rengi değişti.id, name, slug
Bu sayfa yardımcı oldu mu?