راهنمای شروع و اتصال

از اولین فرم تا اتصال به ابزارهای کاری.

۱. فرم بسازید و منتشر کنید

از «فرم‌های من» یک فرم جدید بسازید یا از «قالب‌های آماده» شروع کنید. سؤال‌ها را اضافه کنید؛ پاسخ الزامی، گزینه‌ها و شرط نمایش را تنظیم کنید. دکمهٔ «ذخیره» نسخهٔ ویرایشی را نگه می‌دارد؛ دکمهٔ «انتشار» سؤال‌ها را در لینک پاسخ‌دهی به‌روز می‌کند.

برای تغییر رنگ، پیام پایان و توقف دریافت پاسخ، در فرم‌ساز بخش «ظاهر و پیام‌ها» را باز کنید. پاسخ‌های قبلی همراه با ساختار سؤال در زمان ثبت نگهداری می‌شوند.

۲. منطق شرطی

برای نمایش یک سؤال، یک سؤال قبلی و مقدار پاسخ آن را انتخاب کنید. مثال: اگر پاسخ «آیا مشتری ما هستید؟» برابر «بله» بود، سؤال رضایت نمایش داده شود. برای پاسخ چندانتخابی، وجود مقدار در گزینه‌های انتخاب‌شده کافی است. امتیازها و اعداد شرط را با ارقام انگلیسی وارد کنید. سؤال‌های پنهان اجباری نیستند و پاسخ آن‌ها ثبت نمی‌شود.

۳. گزارش‌ها و خروجی

در «پاسخ‌ها و گزارش‌ها» فرم را انتخاب کنید؛ تعداد پاسخ‌ها، روند روزانه و جزئیات هر پاسخ در دسترس است. خروجی CSV با کدگذاری UTF-8 برای بازشدن در Excel آماده می‌شود. هر خروجی حداکثر ۱۰ هزار پاسخ دارد؛ برای حجم بیشتر از API صفحه‌بندی‌شده استفاده کنید.

۴. API خواندنی

در پلن حرفه‌ای یا سازمانی، از «اتصالات» یک کلید بسازید. کلید تنها یک‌بار نمایش داده می‌شود و در پایگاه داده به‌صورت هش نگهداری می‌شود. تمام درخواست‌ها باید هدر زیر را داشته باشند:

Authorization: Bearer YOUR_FORMA_API_KEY

فهرست فرم‌های حساب:

GET /api/v1/forms

پاسخ‌های یک فرم، حداکثر ۱۰۰ پاسخ در هر صفحه:

GET /api/v1/forms/FORM_ID/responses?limit=100&offset=0

در پاسخ، داده‌ها در data قرار دارند. با افزایش offset به اندازهٔ limit صفحات بعدی را بخوانید. برای هر حساب تا ۱۲۰ درخواست در دقیقه مجاز است. کد ۴۰۱ به معنی کلید نامعتبر، ۴۰۳ دسترسی نامجاز و ۴۲۹ عبور از محدودیت است. در میزبانی خصوصی، محدودیت دسترسی سایت پیش از API اعمال می‌شود؛ اتصال خارجی به انتشار عمومی یا دسترسی مناسب میزبان نیاز دارد.

۵. وب‌هوک و امضای درخواست

یک نشانی عمومی HTTPS وارد و فرم مبدأ را انتخاب کنید. فرما پس از ثبت پاسخ رویداد response.created را ارسال می‌کند. کلید امضای اتصال را هنگام ساخت ذخیره کنید. در مقصد، امضای هدر را با HMAC-SHA256 بررسی کنید:

message = timestamp + "." + raw_request_body
signature = HMAC_SHA256(webhook_secret, message)
X-Forma-Timestamp: UNIX_SECONDS
X-Forma-Signature: sha256=HEX_SIGNATURE
X-Forma-Delivery: UNIQUE_DELIVERY_ID

امضا را با مقایسهٔ ثابت‌زمان بررسی کنید و درخواست‌های قدیمی‌تر از پنج دقیقه را نپذیرید. شناسهٔ ارسال را برای جلوگیری از پردازش تکراری ذخیره کنید. پاسخ HTTP از خانوادهٔ ۲xx به معنی موفقیت است؛ تغییرمسیرها دنبال نمی‌شوند. اطلاعات رویداد:

{
  "event": "response.created",
  "delivery_id": "...",
  "data": {
    "id": "response-id",
    "form_id": "form-id",
    "answers": { "question-id": "answer" },
    "created_at": "ISO-8601"
  }
}

در «گزارش ارسال‌ها» ارسال‌های ناموفق را بررسی و دستی دوباره ارسال کنید؛ سقف تلاش برای هر ارسال پنج بار است. اگر سرویس مقصد وقفه دارد، پاسخ‌ها همچنان در فرما ثبت می‌شوند. اتصال به Google Sheets، CRM و دیگر سرویس‌ها از طریق گردش‌کار وب‌هوک در n8n، Make یا Zapier قابل پیاده‌سازی است؛ اتصال مستقیم OAuth در این نسخه وجود ندارد.

۶. پلن‌ها و دسترسی مدیریت

قیمت و سقف مصرف پلن‌ها در پنل مدیریت قابل تغییر است. سهمیهٔ پاسخ در ابتدای هر ماه میلادی به وقت UTC محاسبه می‌شود. ثبت سفارش هزینه‌ای کسر نمی‌کند؛ مدیر بعد از بررسی پرداخت خارج از سامانه، سفارش را تأیید می‌کند. هر دورهٔ ماهانه ۳۰ روز و سالانه ۳۶۰ روز اعتبار دارد. پس از انقضا، محدودیت‌های پلن رایگان اعمال می‌شوند و داده‌های قبلی محفوظ می‌مانند.

در میزبانی مستقل، ورود با ایمیل و رمز عبور انجام می‌شود. مدیر اولیه از طریق لینک خصوصی راه‌اندازی تعیین می‌شود و کاربران ثبت‌نام‌شده دسترسی عادی دارند. از تنظیمات حساب می‌توانید رمز را تغییر دهید. درگاه پرداخت خودکار هنوز متصل نشده است.