สื่อ

/v1/media

ใช้โหนด media เพื่ออัพโหลด เรียกใช้ หรือลบสื่อ

จุดเชื่อมโยง

จุดเชื่อมโยงต่อไปนี้เชื่อมต่อกับโหนดนี้

จุดเชื่อมโยงคำอธิบาย

/{media-id}

ใช้จุดเชื่อมโยงนี้เพื่อเรียกใช้หรือลบสื่อ

ก่อนเริ่มต้น

เมื่อส่งข้อความสื่อแล้ว ระบบจะจัดเก็บสื่อไว้บนเซิร์ฟเวอร์ของ WhatsApp เป็นเวลา 14 วัน หากผู้ใช้ส่งคำขอเพื่อดาวน์โหลดสื่อหลังจากผ่านไปแล้ว 14 วัน เซิร์ฟเวอร์ของ WhatsApp จะส่งคำขอรับไฟล์สื่อเดียวกันนี้จากไคลเอ็นต์ WhatsApp Business ภายในองค์กร หากมีการลบสื่อออกไปแล้ว ผู้ใช้จะได้รับการแจ้งเตือนว่าไม่สามารถใช้งานสื่อได้

ทั้งนี้ ไม่ควรสันนิษฐานว่ามีการดาวน์โหลดสื่อแล้วโดยพิจารณาจากใบตอบรับที่แสดงสถานะว่าส่งถึงแล้วและอ่านแล้วเท่านั้น โดยทั่วไปแล้ว คุณสามารถลบสื่อขาออกได้อย่างปลอดภัยหลังจากผ่านไป 30 วัน แต่คุณก็ควรเลือกใช้กลยุทธ์ที่เหมาะสำหรับธุรกิจของคุณมากที่สุด

ข้อจำกัด

  • หากคุณใช้กระบวนการอัพโหลดสื่อแทนการเชื่อมโยงไปยัง URL สื่อ คุณจะต้องอัพโหลดไฟล์ไปยังไดรฟ์ข้อมูลสื่อ เมื่อการอัพโหลดเสร็จสมบูรณ์แล้ว คุณสามารถส่งข้อความโดยใช้ ID ของสื่อได้
  • แอพพลิเคชั่นจะประมวลผลสื่อที่อัพโหลดไว้ก่อนที่จะส่งสื่อไปยังเซิร์ฟเวอร์ แม้ว่าสื่อที่สามารถอัพโหลดไปยังโหนด media ได้จะมีขนาดได้สูงสุด 100 MB แต่สื่อประเภทต่างๆ ก็จะมีขีดจำกัดหลังผ่านการประมวลผลอยู่ ตามที่ระบุไว้ในตารางขนาดสื่อหลังผ่านการประมวลผลด้านล่าง
  • ธุรกิจต้องเป็นผู้จัดการดูแลพื้นที่เก็บข้อมูลสื่อ หากไดรฟ์ข้อมูลสื่อเต็ม ก็จะเริ่มส่งข้อความไม่สำเร็จ
  • ระบบไม่รองรับการดำเนินการต่อไปนี้
    • การส่งสื่อโดยกระแสไบต์
    • การส่งข้อความที่มีสติกเกอร์ภาพเคลื่อนไหว

การอัพโหลด

ส่งคำขอ POST ไปยัง /v1/media เพื่ออัพโหลดสื่อ เนื้อความของคำขอภายในองค์กรต้องมีข้อมูลไบนารีของสื่อ และต้องกำหนดส่วนหัว Content-Type ให้เป็นประเภทของสื่อที่จะอัพโหลด โปรดดูตัวเลือกที่รองรับในส่วนประเภทเนื้อหาที่รองรับ

การส่งข้อมูลไบนารีในคำขอ POST HTTP เป็นวิธีมาตรฐานในการอัพโหลดข้อมูลไบนารี หากคุณต้องการอัพโหลดรูปภาพ คุณสามารถออกคำขอ POST พร้อมไบต์รูปภาพจริงในเพย์โหลดได้ เป็นต้น หรือคุณสามารถใช้ --data-binary หากคุณต้องการให้ cURL อ่านและใช้ไฟล์ดังกล่าวในแบบไบนารีตามที่ได้รับมาได้

ตัวอย่าง

การอัพโหลดสื่อ:

POST /v1/media
Content-Type: image/jpeg or other appropriate media type

your-binary-media-data

การอัพโหลดสื่อด้วย cURL:

curl -X POST \
https://your-webapp-hostname:your-webapp-port/v1/media \
-H 'Authorization: Bearer your-auth-token' \ 
-H 'Content-Type: image/jpeg'  \ # or other appropriate media type
--data-binary @your-file-path

ในทั้งสองกรณี การตอบกลับที่สำเร็จจะส่งคืนช่อง id ซึ่งคุณจะต้องใช้สำหรับการเรียกใช้สื่อหรือการส่งข้อความสื่อให้กับลูกค้าของคุณ

{
    "media": [
        {
            "id": "f043afd0-f0ae-4b9c-ab3d-696fb4c8cd68"
        }
    ]
}

หากคุณได้รับข้อความแสดงข้อผิดพลาด โปรดดูข้อมูลเพิ่มเติมในข้อความแสดงข้อผิดพลาดและสถานะ

ประเภทเนื้อหาที่รองรับ

สื่อ ประเภทเนื้อหาที่รองรับ

audio

audio/aac, audio/mp4, audio/amr, audio/mpeg,
audio/ogg; codecs=opus


หมายเหตุ: สำหรับ ogg/opus ไคลเอ็นต์ WA รองรับเฉพาะไฟล์เสียงแบบช่องทางเดียวเท่านั้น

document

MIME ประเภทใดก็ตามที่ใช้งานได้

image

image/jpeg, image/png


ขณะนี้เราไม่รองรับรูปภาพที่มีพื้นหลังโปร่งใส

sticker

image/webp

video

video/mp4, video/3gpp


หมายเหตุ:

  • ระบบรองรับเฉพาะตัวเข้ารหัสวิดีโอ H.264 และตัวเข้ารหัสเสียง AAC เท่านั้น
  • เรารองรับเฉพาะวิดีโอที่มีการสตรีมเสียงเดียวหรือไม่มีการสตรีมเสียง

ขนาดสื่อหลังผ่านการประมวลผล

ต่อไปนี้คือขนาดสูงสุดที่ใช้ได้ของไฟล์สื่อหลังจากบีบอัดและเข้ารหัส

ประเภทสื่อ ขนาด

audio

16 MB

document

100 MB

image

5 MB

sticker

100 KB

video

16 MB

คำถามที่พบบ่อย

สำหรับรูปภาพ คำบรรยายจะถูกเพิ่มเป็นคำอธิบาย ข้อความของคำบรรยายจะปรากฏเต็มความยาวสำหรับรูปภาพทั้งบน Android และ iPhone

สำหรับเอกสาร คำบรรยายจะแทนที่ชื่อไฟล์ ซึ่งไม่ได้หมายความว่าจะแสดงบนอุปกรณ์ของผู้ใช้เป็นคำอธิบาย แต่เพื่อแสดงชื่อของไฟล์ iPhone จะแสดงข้อความทั้งหมดในขณะที่ Android จะตัดทอนชื่อไฟล์ ซึ่งเป็นข้อจำกัดทางเทคนิคของการนำ WhatsApp มาใช้ล่าสุดบนอุปกรณ์ทั้งสองชนิด

คุณจะลบสื่อเมื่อใดก็ได้แล้วแต่คุณ

หลังจากที่อัพโหลดสื่อ คุณจะได้รับ ID สื่อ ซึ่งคุณสามารถใช้เพื่อส่งข้อความที่มีองค์ประกอบสื่อที่อัพโหลดนั้นได้ เมื่อส่งข้อความสื่อแล้ว WhatsApp Business API จะเข้ารหัสและอัพโหลดสื่อไปยังเซิร์ฟเวอร์ WhatsApp ซึ่งจะยังคงอยู่ในนั้นเป็นเวลา 14 วัน หลังจากนั้น คุณสามารถตัดสินใจว่าจะลบสื่อนั้นได้โดยระบุ ID สื่อ หรือจะเก็บไว้ใช้งานในภายหลังก็ได้ ในขณะที่เราแนะนำให้เก็บสื่อไว้เป็นเวลา 30 วัน คุณสามารถตัดสินใจนโยบายการเก็บรักษาได้โดยใช้นโยบายของธุรกิจของคุณหรือกรณีการใช้งานของธุรกิจของคุณ

ไม่มีกลไกการล้างข้อมูลสำหรับไฟล์สื่อทั้งที่ออกไปหรือเข้ามา คุณสามารถลบไฟล์สื่อได้ด้วยตนเองโดยการค้นหาตำแหน่งไฟล์ในระบบไฟล์ของคุณ

เพื่อค้นหาตำแหน่งเมาต์ของไดรฟ์ข้อมูลสื่อ คุณสามารถเรียกใช้คำสั่ง docker ได้

คำขอ

docker volume inspect whatsappMedia

การตอบกลับ

[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/whatsappMedia/_data",
        "Name": "whatsappMedia",
        "Options": {},
        "Scope": "local"
    }
]

จากนั้น เพื่อดูไฟล์สื่อที่เข้ามาทั้งหมด คุณสามารถเรียกใช้คำสั่ง ls พร้อมด้วยพาธไฟล์ Mountpoint ที่ได้รับ:

ls /var/lib/docker/volumes/whatsappMedia/_data/

สำหรับการตั้งค่า AWS ไดรฟ์ข้อมูลสื่อจะถูกเมาต์ที่พาธ /mnt/wa/media บนโฮสต์

เมื่อส่งรูปภาพเป็นอัลบั้มจาก WhatsApp Business API คุณจะต้องส่งอย่างน้อย 4 รูปอย่างต่อเนื่อง ถ้าผู้ใช้กำลังใช้งานมุมมองการสนทนาอยู่ในขณะที่ได้รับรูปภาพ ผู้ใช้จะไม่สามารถใช้งานมุมมองแบบอัลบั้มได้จนกว่าจะเข้ามาใช้ในครั้งถัดไป

ระบบจะไม่สร้างอัลบั้มหากเนื้อหาเป็นไปตามเกณฑ์ใดๆ ต่อไปนี้:

  1. รูปภาพที่มีคำบรรยายภาพ
  2. เส้นแบ่งข้อความที่ยังไม่ได้อ่าน - ผู้ใช้เห็นรูปภาพบางส่วนแล้ว แต่ยังไม่ได้ดูส่วนที่เหลือ
  3. ส่วนหัววันที่ - วันใหม่ระหว่างการส่ง

ไม่มี ขณะนี้เราต้องใช้ EFS ของ AWS เพื่อแชร์ไดรฟ์ข้อมูลสื่อระหว่าง Coreapp กับ Webapp

การอัพโหลดไฟล์มีขนาดสูงสุด 64 MB ซึ่งหมายความว่าขีดจำกัดนี้ใช้กับรูปภาพ เอกสาร หรือวิดีโอใดๆ ที่คุณส่งมากับข้อความ