ภาพรวม 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 toCustomer Journey มีสองการดำเนินการที่ฟังดูคล้ายกันแต่ทำงานแตกต่างกัน
Lifecycle start จะเปลี่ยนสถานะของ journey (ตัวอย่างเช่น จาก Draft เป็น Running) Start by API จะใส่ผู้ใช้เข้าไปใน journey ที่กำลังทำงานอยู่แล้ว ตารางด้านล่างเปรียบเทียบทั้งสองอย่างแบบเคียงข้างกัน
| Lifecycle Start | Start by API | |
|---|---|---|
| Endpoint | POST /api/v3/journeygateway/start | POST /api/journey/{id}/start/external |
| สิ่งที่ทำ | เปิดใช้งาน journey และย้ายไปยังสถานะ Running | ใส่ผู้ใช้เข้าไปใน API entry point ของ journey ที่กำลังทำงานอยู่แล้ว |
| สถานะ journey ที่ต้องการ | Draft หรือ Paused | Running (พร้อมกับ 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": ... }พร้อมกับ HTTP400เมื่อมีข้อผิดพลาดในการตรวจสอบความถูกต้อง
เริ่มต้นอย่างรวดเร็ว
Anchor link tocurl -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" }'