API: پشتیبانی

تیکت‌ها، پاسخ‌ها، پیوست‌ها، فرم تماس عمومی و وضعیت سرویس‌ها.

دسته‌های تیکت technical، finance، sales و abuse_security هستند. پیوست‌ها ابتدا آپلود می‌شوند و با نشانیِ برگردانده‌شده ارجاع داده می‌شوند.

ارسال پیام تماس

POST /contact

نقطهٔ پایانی عمومی پشت فرم تماس وب‌سایت. تعداد درخواست در دقیقه برای هر آدرس محدود است.

احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.

بدنهٔ درخواست (application/json)

فیلد نوع الزامی مقادیر
name string بله
email string بله
category string بله general, sales, technical, billing
subject string بله
message string بله

پاسخ‌ها

  • 200 موفق. برمی‌گرداند: message (string).
  • 422 خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
  • 429 درخواست‌های بیش از حد

نمونه

curl -X POST https://veneshcloud.ir/api/contact \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name":"my-name","email":"you@example.com","category":"general","subject":"Short summary","message":"Describe the request."}'

فهرست تیکت‌های شما

GET /tickets

تیکت‌های شما را برمی‌گرداند، با امکان فیلتر بر اساس وضعیت.

احراز هویت: کلید API یا توکن خود را به‌صورت Bearer بفرستید.

پارامترهای query

فیلد نوع مقادیر
per_page integer
page integer
status string

پاسخ‌ها

  • 200 موفق

نمونه

curl -X GET https://veneshcloud.ir/api/tickets \
  -H "Authorization: Bearer $VENESH_API_KEY" \
  -H "Accept: application/json"

ثبت تیکت

POST /tickets

یک تیکت را در یک دسته همراه با پیام اول می‌سازد.

احراز هویت: کلید API یا توکن خود را به‌صورت Bearer بفرستید.

بدنهٔ درخواست (application/json)

فیلد نوع الزامی مقادیر
category string بله technical, finance, sales, abuse_security
sub_category string خیر
subject string بله
message string بله
attachments فهرستی از string خیر

پاسخ‌ها

  • 200 موفق. برمی‌گرداند Ticket.

نمونه

curl -X POST https://veneshcloud.ir/api/tickets \
  -H "Authorization: Bearer $VENESH_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"category":"technical","subject":"Short summary","message":"Describe the request."}'

آپلود پیوست

POST /tickets/attachments

تصویر یا PDF تا ۱۰ مگابایت را به‌صورت multipart/form-data آپلود می‌کند و url را برای ارسال در attachments برمی‌گرداند.

احراز هویت: کلید API یا توکن خود را به‌صورت Bearer بفرستید.

بدنهٔ درخواست (multipart/form-data)

فیلد نوع الزامی مقادیر
file file بله

پاسخ‌ها

  • 200 موفق. برمی‌گرداند: id (string), ref (string), url (string).

نمونه

curl -X POST https://veneshcloud.ir/api/tickets/attachments \
  -H "Authorization: Bearer $VENESH_API_KEY" \
  -H "Accept: application/json" \
  -F "file=@screenshot.png"

دریافت پیوست تیکت

GET /tickets/attachments/{attachment}

فایل یک پیوست از تیکت‌های شما را برمی‌گرداند. فقط صاحب تیکت می‌تواند آن را دریافت کند.

احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.

پارامترهای مسیر

فیلد نوع
attachment string

پارامترهای query

فیلد نوع مقادیر
expires integer
signature string

پاسخ‌ها

  • 200 موفق
  • 404 پیدا نشد

نمونه

curl -X GET https://veneshcloud.ir/api/tickets/attachments/ATTACHMENT_ID \
  -H "Accept: application/json"

دریافت یک تیکت

GET /tickets/{ticket}

گفتگوی تیکت را برمی‌گرداند. یادداشت‌های داخلی کارکنان هرگز شامل نمی‌شود.

احراز هویت: کلید API یا توکن خود را به‌صورت Bearer بفرستید.

پارامترهای مسیر

فیلد نوع
ticket integer

پاسخ‌ها

  • 200 موفق. برمی‌گرداند Ticket.

نمونه

curl -X GET https://veneshcloud.ir/api/tickets/TICKET_ID \
  -H "Authorization: Bearer $VENESH_API_KEY" \
  -H "Accept: application/json"

پاسخ به تیکت

POST /tickets/{ticket}/messages

یک پیام به گفتگو اضافه می‌کند.

احراز هویت: کلید API یا توکن خود را به‌صورت Bearer بفرستید.

پارامترهای مسیر

فیلد نوع
ticket integer

بدنهٔ درخواست (application/json)

فیلد نوع الزامی مقادیر
body string بله
attachments فهرستی از string خیر

پاسخ‌ها

  • 200 موفق

نمونه

curl -X POST https://veneshcloud.ir/api/tickets/TICKET_ID/messages \
  -H "Authorization: Bearer $VENESH_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"body":"Your reply."}'

دریافت وضعیت سرویس‌ها

GET /status

نقطهٔ پایانی عمومی پشت صفحهٔ وضعیت سرویس‌ها: وضعیت کلی، هر سرویس با دسترس‌پذیری روزانهٔ ۹۰ روز اخیر و رخدادهای فعال، زمان‌بندی‌شده و گذشته. حدود ۳۰ ثانیه کش می‌شود و تعداد درخواست برای هر آدرس محدود است.

احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.

پاسخ‌ها

  • 200 موفق. برمی‌گرداند StatusPage.
  • 429 درخواست‌های بیش از حد

نمونه

curl -X GET https://veneshcloud.ir/api/status \
  -H "Accept: application/json"

اشیاء

فهرست فیلدهای اشیایی که در بالا برگردانده می‌شوند.

LocalizedText

فیلد نوع مقادیر
en string
fa string

StatusIncident

فیلد نوع مقادیر
id integer
kind string incident, maintenance
impact string none, minor, major, critical
status string investigating, identified, monitoring, resolved, scheduled, in_progress, completed
title LocalizedText
body object
components فهرستی از string
scheduled_start_at string
scheduled_end_at string
started_at string
resolved_at string
created_at string
updates فهرستی از object

StatusPage

فیلد نوع مقادیر
status string operational, maintenance, degraded, partial_outage, major_outage
generated_at string
history_days integer
groups فهرستی از object
active_incidents فهرستی از StatusIncident
scheduled_maintenance فهرستی از StatusIncident
past_incidents فهرستی از StatusIncident

Ticket

فیلد نوع مقادیر
id integer
category string technical, finance, sales, abuse_security
sub_category string
subject string
status string open, pending_customer, pending_staff, resolved, closed
sla_due_at string
resolved_at string
created_at string
messages فهرستی از object