ข้ามไปยังเนื้อหา

ภาพรวม Customer Journey API

Customer Journey API ช่วยให้ backend สามารถจัดการ Customer Journeys ผ่านโปรแกรมได้: สร้างและแก้ไขคำจำกัดความของ journey, ย้าย journeys ผ่านวงจรชีวิตของมัน (เริ่ม, หยุดชั่วคราว, สิ้นสุด, ร่าง, เก็บถาวร), ทริกเกอร์ journey ที่กำลังทำงานจากระบบของคุณเอง และดึงสถิติต่อ journey

มันเป็น API เดียวกันกับที่ Customer Journey builder ใช้ ซึ่งเปิดเผยผ่าน REST/JSON ผ่านสะพาน gRPC-Gateway

URL พื้นฐาน

Anchor link to

เมธอด gRPC-Gateway และเมธอดภายนอกแบบดั้งเดิมจะให้บริการบนโฮสต์ที่แตกต่างกัน:

เมธอดURL พื้นฐาน
gRPC-Gateway: /api/v3/journeygateway/... (lifecycle, create, update)https://journey-api.svc-nue.pushwoosh.com
Legacy external: /api/journey/... (start by API, statistics, drop users)https://journey.pushwoosh.com

การรับรองความถูกต้อง

Anchor link to

ทุกคำขอต้องมีส่วนหัว Authorization พร้อมด้วย API access token ฝั่งเซิร์ฟเวอร์ของ Pushwoosh:

Authorization: Api YOUR_API_TOKEN

เมธอด

Anchor link to

จัดการ journeys

Anchor link to
  • Lifecycle: POST /api/v3/journeygateway/{action} เริ่ม, หยุดชั่วคราว, สิ้นสุด, ร่าง หรือเก็บถาวร journey ด้วย UUID ของมัน
  • สร้างและอัปเดต: POST /api/v3/journeygateway และ PUT /api/v3/journeygateway/{uuid} สร้างคำจำกัดความของ journey ใหม่หรือแทนที่อันที่มีอยู่

ทริกเกอร์ journeys

Anchor link to
  • Start by API: POST /api/journey/{id}/start/external ใส่ผู้ใช้เข้าไปในจุดเริ่มต้น API ของ journey ที่กำลังทำงานอยู่แล้ว

สถิติและกลุ่มเป้าหมาย

Anchor link to
  • รับสถิติ Journey: GET /api/journey/{id}/statistics/external ตัวชี้วัดการส่งมอบและการแปลงต่อจุด
  • ลบผู้ใช้ออกจาก journeys: POST /api/journey/drop-users/external ลบผู้ใช้ออกจาก journeys ที่ใช้งานอยู่ทั้งหมดหรือที่เลือก

การอ้างอิง

Anchor link to
  • อ็อบเจกต์ Journey: รูปทรงของคำจำกัดความของ journey (info, params, points, comments) ที่ส่งคืนโดยเมธอด lifecycle, create และ update
  • การอ้างอิง Point: โครงสร้าง point_data สำหรับแต่ละประเภทของ point: องค์ประกอบการเข้า, เวลา, การแยก, การกระทำ และการส่งข้อความ

Lifecycle start เทียบกับ Start by API

Anchor link to

Customer Journey มีสองการดำเนินการที่ฟังดูคล้ายกันแต่ทำงานแตกต่างกัน

Lifecycle start จะเปลี่ยนสถานะของ journey (ตัวอย่างเช่น จาก Draft เป็น Running) Start by API จะใส่ผู้ใช้เข้าไปใน journey ที่กำลังทำงานอยู่แล้ว ตารางด้านล่างเปรียบเทียบทั้งสองอย่างแบบเคียงข้างกัน

Lifecycle StartStart by API
EndpointPOST /api/v3/journeygateway/startPOST /api/journey/{id}/start/external
สิ่งที่ทำเปิดใช้งาน journey และย้ายไปยังสถานะ Runningใส่ผู้ใช้เข้าไปใน API entry point ของ journey ที่กำลังทำงานอยู่แล้ว
สถานะ journey ที่ต้องการDraft หรือ PausedRunning (พร้อมกับ API Start point)
ความถี่ในการทำงานครั้งเดียวต่อการเปลี่ยนสถานะทำซ้ำๆ ตามที่ผู้ใช้ต้องการเข้ามา

รูปแบบคำขอและการตอบกลับ

Anchor link to
  • ประเภทเนื้อหา: application/json
  • ชื่อฟิลด์ v3 ใช้ snake_case ค่า Enum จะถูกทำให้เป็นอนุกรมเป็นชื่อสตริงของมัน (ตัวอย่างเช่น "STATUS_RUNNING", "POINT_TYPE_SEND_PUSH")
  • เมธอด gRPC-Gateway (/api/v3/journeygateway/...) จะส่งคืน อ็อบเจกต์ journey เมื่อสำเร็จ และซองข้อผิดพลาดมาตรฐานของ gRPC-Gateway เมื่อล้มเหลว: { "code": ..., "message": ..., "details": [...] }
  • เมธอดภายนอกแบบดั้งเดิม (/api/journey/...) จะส่งคืนเนื้อหา JSON เฉพาะของเมธอดเมื่อสำเร็จ และ { "success": false, "message": ... } พร้อมกับ HTTP 400 เมื่อมีข้อผิดพลาดในการตรวจสอบความถูกต้อง

เริ่มต้นอย่างรวดเร็ว

Anchor link to
เริ่มต้น journey
curl -X POST https://journey-api.svc-nue.pushwoosh.com/api/v3/journeygateway/start \
-H "Authorization: Api YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "uuid": "11111111-2222-3333-4444-555555555555" }'

ขั้นตอนถัดไป

Anchor link to