دليل التكامل

المساعدة

استخدم hashavatar.app مباشرة من المتصفح أو من frontend أو backend. كل avatar URL حتمي، لذلك يعطي المعرّف نفسه والخيارات نفسها النتيجة نفسها دائما.

URL أساسي

استخدم query endpoint عندما تريد image URL عاما وبسيطا.

https://hashavatar.app/v1/[email protected]&algorithm=sha512&kind=robot&background=white&accessory=glasses&color=gold&expression=happy&shape=circle&format=webp&size=256

Path Style URL

استخدم صيغة path إذا كنت تفضل embed URLs أنظف.

https://hashavatar.app/avatar/fox/[email protected]/webp

مثال HTML

<img
  src="https://hashavatar.app/v1/[email protected]&algorithm=sha512&kind=monster&background=themed&accessory=horns&color=crimson&expression=grumpy&shape=hexagon&format=webp&size=256"
  alt="Generated monster avatar"
/>

مثال JavaScript

const avatarUrl = new URL("https://hashavatar.app/v1/avatar");
avatarUrl.search = new URLSearchParams({
  id: user.email,
  algorithm: "sha512",
  kind: "robot",
  background: "white",
  accessory: "glasses",
  color: "gold",
  expression: "happy",
  shape: "circle",
  format: "webp",
  size: "256",
}).toString();

المعاملات المدعومة

  • id: any stable identifier such as an email, username, internal user id, or one-way hash
  • tenant: optional namespace partition for multi-tenant apps
  • style_version: optional style namespace such as v2
  • algorithm: identity hash mode; only sha512 is supported
  • kind: any public hashavatar family, including cat, dog, robot, planet, rocket, frog, panda, cupcake, pizza, octopus, knight, bear, penguin, dragon, ninja, astronaut, diamond, coffee-cup, and shield
  • background: themed, white, black, dark, light, transparent, polka-dot, striped, checkerboard, grid, sunrise, ocean, or starry
  • accessory: none, glasses, hat, headphones, crown, bowtie, eyepatch, scarf, halo, or horns
  • color: default, neon-mint, pastel-pink, crimson, gold, or deep-sea-blue
  • expression: default, happy, grumpy, surprised, sleepy, winking, cool, or crying
  • shape: square, circle, squircle, hexagon, or octagon
  • format: output format; only webp is supported
  • size: from 64 up to 1024

تنطبق accessory وexpression layers على character-style families. أما object-style families مثل planet وrocket وpaws وmushroom وcactus وcupcake وpizza وicecream وdiamond وcoffee-cup وshield فتتم تسويتها إلى accessory=none وexpression=default.

روابط التخزين الموقّعة

إذا كان هذا deployment يحتوي على object storage معد، فاطلب presigned storage link من /v1/avatar/link. يخزّن ذلك endpoint الكائن generated object ويعيد JSON يحتوي على signed URL وobject key وhashed cache key. لا تعرض avatar responses العادية signed-link metadata في response headers.

GET https://hashavatar.app/v1/avatar/[email protected]&algorithm=sha512&kind=robot&background=white&accessory=glasses&color=gold&expression=happy&shape=circle&format=webp&size=256

مفتوح المصدر

مصدر الموقع العام موجود في API repository، ومحرك reusable avatar renderer منشور على crates.io. المستودع · crates.io