Yardım merkezi API

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

Müşterileriniz ve destek ekibiniz için kategorilere ayrılmış yardım makaleleri.

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

Kaynaklar

KaynakTabloListeleme ve okumaPOSTPATCHDELETE
help_articleshelp_article/api/v1/help_articles
help_categorieshelp_category/api/v1/help_categories

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
help_center.archive_articlehelp_center:writeArşivle
help_center.create_articlehelp_center:writeMakale taslağı yaz
help_center.delete_articlehelp_center:manageMakaleyi sil
help_center.delete_categoryhelp_center:manageKategoriyi sil
help_center.publish_articlehelp_center:writeYayımla
help_center.save_categoryhelp_center:manageKategoriyi kaydet
help_center.unpublish_articlehelp_center:writeTaslağa geri al
help_center.update_articlehelp_center:writeMakaleyi düzenle

help_center.archive_article

Arşivle — Bir makaleyi silmeden kullanımdan kaldırır.

Gereken izin help_center:write · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır) · Era çalıştırırken bir kişiye onaylatır

POSThttps://app.getera.io/api/v1/help_articles/{id}/actions/archive_article
API anahtarı ya da OAuth token · help_center:write
  • Asıl adres: POST /api/v1/actions/help_center.archive_article

Girdi

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

Ön koşullar

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

KodNe zaman reddedilir
help_article_not_foundMakale bulunmalı.
help_article_already_in_stateMakale zaten bu durumda olmamalı.

Yayımladığı olaylar: help_center.article_archived

Neye yazar: help_article (update) — Marks it archived

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.helpArticles.archiveArticle("HELP_ARTICLE_ID")
era help_articles archive_article HELP_ARTICLE_ID
tools/call
{
  "name": "era__help_center__archive_article",
  "arguments": {
    "id": "HELP_ARTICLE_ID"
  }
}

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

help_center.create_article

Makale taslağı yaz — Taslak olarak yeni bir yardım makalesi.

Gereken izin help_center:write · veriyi değiştirir

POSThttps://app.getera.io/api/v1/help_articles/actions/create_article
API anahtarı ya da OAuth token · help_center:write
  • Asıl adres: POST /api/v1/actions/help_center.create_article

Girdi

AlanTürZorunluAçıklama
titlestringevetBaşlık · en çok 300
descriptionstringÖzet · en çok 1000
contentstringİçerik · en çok 200000
categoryIduuidKategori · kimliği: help_category
localestringDil · en çok 10
positionnumberKonum
metaTitlestringArama başlığı · en çok 255
metaDescriptionstringArama açıklaması · en çok 1000
metaTagsobject / arrayEtiketler

Ön koşullar

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

KodNe zaman reddedilir
help_category_not_foundBelirtilen kategori bulunmalı.
help_article_invalid_tagsEtiketler en fazla 30 kelimelik bir liste olmalı.

Yayımladığı olaylar: help_center.article_created

Neye yazar: help_article (insert) — Writes the draft

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.helpArticles.createArticle({
  title: "Title"
})
era help_articles create_article \
  --title "Title"
tools/call
{
  "name": "era__help_center__create_article",
  "arguments": {
    "title": "Title"
  }
}

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

help_center.delete_article

Makaleyi sil — Makaleyi kalıcı olarak kaldırır. Saklamak için arşivleyin.

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

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

Girdi

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

Ön koşullar

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

KodNe zaman reddedilir
help_article_not_foundMakale bulunmalı.

Yayımladığı olaylar: help_center.article_deleted

Neye yazar: help_article (delete) — Deletes the article

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.helpArticles.deleteArticle("HELP_ARTICLE_ID")
era help_articles delete_article HELP_ARTICLE_ID
tools/call
{
  "name": "era__help_center__delete_article",
  "arguments": {
    "id": "HELP_ARTICLE_ID"
  }
}

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

help_center.delete_category

Kategoriyi sil — Boş bir kategoriyi kaldırır.

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

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

Girdi

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

Ön koşullar

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

KodNe zaman reddedilir
help_category_not_foundBelirtilen kategori bulunmalı.
help_category_in_useYayında makaleleri olan bir kategori kalır.

Yayımladığı olaylar: help_center.category_changed

Neye yazar: help_category (delete) — Deletes the category

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.helpCategories.deleteCategory("HELP_CATEGORY_ID")
era help_categories delete_category HELP_CATEGORY_ID
tools/call
{
  "name": "era__help_center__delete_category",
  "arguments": {
    "id": "HELP_CATEGORY_ID"
  }
}

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

help_center.publish_article

Yayımla — Makaleyi herkese açık yapar; içerik zorunludur.

Gereken izin help_center:write · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır)

POSThttps://app.getera.io/api/v1/help_articles/{id}/actions/publish_article
API anahtarı ya da OAuth token · help_center:write
  • Asıl adres: POST /api/v1/actions/help_center.publish_article

Girdi

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

Ön koşullar

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

KodNe zaman reddedilir
help_article_not_foundMakale bulunmalı.
help_article_already_in_stateMakale zaten bu durumda olmamalı.
help_article_needs_contentYayımlanmış bir makalenin içeriği vardır.

Yayımladığı olaylar: help_center.article_published

Neye yazar: help_article (update) — Marks it published

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.helpArticles.publishArticle("HELP_ARTICLE_ID")
era help_articles publish_article HELP_ARTICLE_ID
tools/call
{
  "name": "era__help_center__publish_article",
  "arguments": {
    "id": "HELP_ARTICLE_ID"
  }
}

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

help_center.save_category

Kategoriyi kaydet — Bir yardım kategorisi oluşturur ya da yeniden adlandırıp taşır.

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

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

Girdi

AlanTürZorunluAçıklama
iduuidDoldurulduğu yer: adresteki {id} · Kategori · kimliği: help_category
namestringAd · en çok 200
descriptionstringAçıklama · en çok 2000
parentIduuidİçeride · kimliği: help_category
localestringDil · en çok 10
iconstringSimge · en çok 40
positionnumberKonum

Ön koşullar

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

KodNe zaman reddedilir
help_category_not_foundBelirtilen kategori bulunmalı.

Yayımladığı olaylar: help_center.category_changed

Neye yazar: help_category (upsert) — Writes the category

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.helpCategories.saveCategory("HELP_CATEGORY_ID", {
  name: "Name"
})
era help_categories save_category HELP_CATEGORY_ID \
  --name "Name"
tools/call
{
  "name": "era__help_center__save_category",
  "arguments": {
    "id": "HELP_CATEGORY_ID",
    "name": "Name"
  }
}

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

help_center.unpublish_article

Taslağa geri al — Yayımlanmış veya arşivlenmiş bir makaleyi taslağa geri alır.

Gereken izin help_center:write · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır)

POSThttps://app.getera.io/api/v1/help_articles/{id}/actions/unpublish_article
API anahtarı ya da OAuth token · help_center:write
  • Asıl adres: POST /api/v1/actions/help_center.unpublish_article

Girdi

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

Ön koşullar

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

KodNe zaman reddedilir
help_article_not_foundMakale bulunmalı.
help_article_already_in_stateMakale zaten bu durumda olmamalı.

Yayımladığı olaylar: help_center.article_unpublished

Neye yazar: help_article (update) — Marks it a draft

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.helpArticles.unpublishArticle("HELP_ARTICLE_ID")
era help_articles unpublish_article HELP_ARTICLE_ID
tools/call
{
  "name": "era__help_center__unpublish_article",
  "arguments": {
    "id": "HELP_ARTICLE_ID"
  }
}

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

help_center.update_article

Makaleyi düzenle — Makalenin başlığını, özetini, içeriğini veya kategorisini değiştirir.

Gereken izin help_center:write · veriyi değiştirir

POSThttps://app.getera.io/api/v1/help_articles/{id}/actions/update_article
API anahtarı ya da OAuth token · help_center:write
  • Asıl adres: POST /api/v1/actions/help_center.update_article

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Makale · kimliği: help_article
titlestringBaşlık · en çok 300
descriptionstringÖzet · en çok 1000
contentstringİçerik · en çok 200000
categoryIduuidKategori · kimliği: help_category
positionnumberKonum
metaTitlestringArama başlığı · en çok 255
metaDescriptionstringArama açıklaması · en çok 1000
metaTagsobject / arrayEtiketler

Ön koşullar

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

KodNe zaman reddedilir
help_article_not_foundMakale bulunmalı.
help_category_not_foundBelirtilen kategori bulunmalı.
help_article_needs_contentYayımlanmış bir makale içeriğini korur.
help_article_invalid_tagsEtiketler en fazla 30 kelimelik bir liste olmalı.

Yayımladığı olaylar: help_center.article_updated

Neye yazar: help_article (update) — Rewrites the article

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

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.helpArticles.updateArticle("HELP_ARTICLE_ID", {
  title: "Title"
})
era help_articles update_article HELP_ARTICLE_ID \
  --title "Title"
tools/call
{
  "name": "era__help_center__update_article",
  "arguments": {
    "id": "HELP_ARTICLE_ID",
    "title": "Title"
  }
}

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

Veri modelleri

HelpArticle

Tablo help_article · Kaynak help_articles

  • GET /api/v1/help_articles
  • GET /api/v1/help_articles/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
category_idstring (uuid) · uuidevethelp_category
titlestring · text
descriptionstring · textevet
contentstring · text
statusstring · textdraft, published, archived
slugstring · text
localestring · text
positioninteger · int4
viewsinteger · int4
author_user_idstring (uuid) · uuidevetapp_user
published_atstring (date-time) · timestamptzevet
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
meta_titlestring · textevet
meta_descriptionstring · textevet
meta_tagsstring[] · text[]

Birincil anahtar: id

Tekil: workspace_id, locale, slug

Denetimler:

  • CHECK ((cardinality(meta_tags) <= 30))
  • CHECK (((meta_title IS NULL) OR (length(meta_title) <= 255)))
  • CHECK (((status <> 'published'::text) OR (length(TRIM(BOTH FROM content)) > 0)))
  • CHECK ((slug ~ '^[a-z0-9]+(-[a-z0-9]+)*$'::text))
  • CHECK ((length(TRIM(BOTH FROM title)) > 0))

HelpCategory

Tablo help_category · Kaynak help_categories

  • GET /api/v1/help_categories
  • GET /api/v1/help_categories/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
parent_category_idstring (uuid) · uuidevethelp_category
namestring · text
descriptionstring · textevet
slugstring · text
localestring · text
iconstring · textevet
positioninteger · int4
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
is_publicboolean · bool

Birincil anahtar: id

Tekil: workspace_id, locale, slug

Denetimler:

  • CHECK ((length(TRIM(BOTH FROM name)) > 0))
  • CHECK ((slug ~ '^[a-z0-9]+(-[a-z0-9]+)*$'::text))

Olaylar

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

OlayNe olurTaşıdığı alanlar
help_center.article_archivedBir yardım makalesi arşivlendi.id
help_center.article_createdBir yardım makalesi taslağı hazırlandı.id, ownerUserId
help_center.article_deletedBir yardım makalesi silindi.id
help_center.article_publishedBir yardım makalesi yayımlandı.id
help_center.article_unpublishedBir yardım makalesi taslağa döndü.id
help_center.article_updatedBir yardım makalesi düzenlendi.id
help_center.category_changedBir yardım kategorisi oluşturuldu, değiştirildi ya da silindi.id
Bu sayfa yardımcı oldu mu?