تعيين صورة جهة اتصال
يرفع الصورة المعروضة لجهة اتصال، فيستبدل ما كان منها. والجسم هو الصورة نفسها لا JSON، ونوعها في `Content-Type`: `image/png` أو `image/jpeg` أو `image/webp` أو `image/gif`، حتى 5 MB. وتُلاءَم داخل مربع 512 بكسل وتُحفظ بصيغة WebP، وتحتفظ الصورة المتحركة بإطارها الأول.
ينفّذ الاستدعاء الحقيقي على مساحة عملك، بمفتاحك أنت.
PUT /contacts/{email}/photo
يرفع الصورة المعروضة لجهة اتصال، فيستبدل ما كان منها. والجسم هو الصورة نفسها لا JSON، ونوعها في Content-Type: image/png أو image/jpeg أو image/webp أو image/gif، حتى 5 MB. وتُلاءَم داخل مربع 512 بكسل وتُحفظ بصيغة WebP، وتحتفظ الصورة المتحركة بإطارها الأول.
مثال
يتطلب contacts:write. ويجب أن يكون العنوان جهة اتصال محفوظة، فاحفظه أولًا بـ PUT /contacts/{email}.
curl -X PUT "$OE/contacts/grace%40example.com/photo" -H "$AUTH" -H 'content-type: image/jpeg' --data-binary @grace.jpg{ "object": "contact", "email": "[email protected]", "name": "Grace Hopper", "source": "manual", "notes": null, "photoUrl": "https://cdn-prod.openemail.uk/contacts/photos/5b0e2c7a-91d4-4f3e-8a26-c4f1d9e07b3a.webp", "lastSeenAt": null, "createdAt": "2026-09-18T09:00:00.000Z", "updatedAt": "2026-09-23T10:20:00.000Z", "audiences": [ { "id": "aud_9f2c4b7e1a0d63d84c5f2e7b", "name": "All contacts", "builtin": "default" } ]}العنوان الذي ليس جهة اتصال محفوظة هو 404 contact_not_found. والجسم الذي ليس صورة من نوع مقبول، أو يتجاوز 5 MB، أو لا يمكن قراءته هو 422 invalid_image.
تردّ خدمة الصور المشغولة بـ 503 image_busy، وإعادة المحاولة آمنة. وكل رفع يحصل على photoUrl جديد، فلا تظهر صورة قديمة مخزّنة مكان الجديدة أبدًا.