PAYLOAD CMS

เชื่อมต่อ Payload กับ mr.timmy

ติดตั้งปลั๊กอิน Payload ขนาดเล็ก สร้าง Connector Key แล้วใส่ URL และ Key ใน timmy

สำหรับนักพัฒนา

Payload เป็นระบบแบบ code-first ให้ติดตั้ง Connector เป็นแพ็กเกจ npm เปิดใช้งานใน Payload Config แล้ว deploy จากนั้นสร้าง Key ใน Payload Admin

ระบบจะ map Title, Content, SEO Fields, Featured Image, Inline Images, Categories และ Tags ถ้า Collection ของคุณใช้ชื่อ field ต่างกัน ให้ปรับเฉพาะ mapping ใน snippet

สำหรับ Agent: ตรวจ Payload Collection ก่อน แล้วค่อยปรับชื่อ field ใน snippet ตัวเชื่อม timmy ต้องใช้แค่ API URL และ API Key

กลับไปที่ Integrations

PAYLOAD CMS

1. ติดตั้งแพ็กเกจ

pnpm add @mrtimmy/payload-connector

PAYLOAD CMS

2. เปิดใช้งาน Plugin

import { buildConfig } from "payload"
import { mrTimmyPayloadConnector } from "@mrtimmy/payload-connector"

export default buildConfig({
  plugins: [
    mrTimmyPayloadConnector({
      postsCollection: "posts",
      media: {
        collection: "media",
      },
      fields: {
        title: "title",
        content: "content",
        excerpt: "excerpt",
        slug: "slug",
        metaTitle: "meta.title",
        metaDescription: "meta.description",
        focusKeyword: "focusKeyword",
        featuredImageUrl: "featuredImage",
        categories: "categories",
        tags: "tags",
      },
      taxonomies: {
        categories: {
          collection: "categories",
          matchFields: ["slug", "title"],
        },
        tags: {
          collection: "tags",
          matchFields: ["slug", "title"],
        },
      },
    }),
  ],
})

ถ้าใช้ Payload ใน Next.js ให้เพิ่มใน next.config.js เป็น external server package ด้วย

const nextConfig = {
  serverExternalPackages: ["@mrtimmy/payload-connector"],
}

export default nextConfig

PAYLOAD CMS

3. ตรวจ Mapping

timmy ส่งค่าต่อไปนี้ ถ้า field ใน Payload ใช้ชื่ออื่น ให้แก้เฉพาะ path ใต้ fields เท่านั้น

timmy ส่ง

Title
title
Content
content
Excerpt
excerpt
SEO Title
metaTitle
SEO Description
metaDescription
URL Slug
slug
Focus Keyword
focusKeyword
Featured Image
featuredImage
Inline Images
Markdown images in content
Categories และ Tags
categories, tags

Payload ต้องมี

title
Text field สำหรับชื่อบทความ
content
Rich text หรือ text field สำหรับเนื้อหาหลัก
slug
URL field สำหรับ path ของบทความ
meta.title
SEO title หรือ SEO field ที่ map ไว้
meta.description
SEO description หรือ SEO field ที่ map ไว้
focusKeyword
Focus keyword ถ้าเว็บไซต์เก็บค่านี้
featuredImage
Upload field สำหรับ media collection
categories
optional: relation หรือ field สำหรับ categories
tags
optional: relation หรือ field สำหรับ tags

PAYLOAD CMS

4. เพิ่มใน timmy

ใน Payload Admin ที่ mr.timmy → Connector Keys ให้สร้าง Key

API URL:
https://example.com/api/mrtimmy/create-post
API Key:
timmy_xxx

PAYLOAD CMS

ข้อผิดพลาดที่พบบ่อย

  • 401: API Key ไม่ถูกต้องหรือถูกปิดใช้งาน
  • 404: Plugin ยังไม่ได้ติดตั้ง ยังไม่ได้ deploy หรือ path ไม่ถูกต้อง
  • 500: Payload server error คำตอบจะระบุขั้นตอนที่ล้มเหลว เช่น rich text conversion, taxonomy mapping, media upload หรือ Payload create