فاکتور آنلاین رایگان — provisional workspace و PDF بک‌اند

فاکتور آنلاین رایگان — provisional workspace و PDF بک‌اند

ابوالفضل رجب پور 1405 مرداد 19

زمینه

لندینگ /free-invoice-online قبلاً PDF سمت کلاینت (jsPDF) می‌ساخت و «ذخیره در میزکار» فقط به OTP عمومی لینک می‌داد بدون انتقال داده. هدف: همان الگوی provisional سایت‌ساز، فاکتور واقعی در micro-api، PDF از قالب سیستم، و SMS مشتری فقط بعد از bind موبایل فروشنده.

معماری / جریان داده

home form
  → POST /account/create-provisional-workspace   (micro-auth, anonymous)
  → JWT + workspaceId
  → POST /sales/invoices/create-from-free-tool   (micro-api, owner perms)
  → preview + GET export/pdf (template ready/public WorkSpaceId=0)
  → bind-mobile request/verify + profile update
  → optional POST .../send-customer-notification-sms
  → app /auth/provisional-claim?returnUrl=/invoices/{id}

micro-auth

  • POST /account/create-provisional-workspace — User provisional + Workspace + JWT بدون ساخت Site
  • هسته مشترک با create-provisional-site (CreateProvisionalUserAndWorkspaceAsync)
  • همان rate-limit IP (provisional-create:{ip}) و cleanup TTL

micro-api

  • POST /sales/invoices/create-from-free-tool
    • صبر/retry کوتاه تا seed محصول/واحد
    • Contact (+ Mobile link اختیاری)
    • اقلام روی محصول seed با ProductCustomName
    • Type=Sales, هم‌تراز عنوان Workspace/Company با نام کسب‌وکار
  • PDF: GET /sales/invoice-templates/ready سپس GET /sales/invoices/export/pdf
  • SMS: همان POST /sales/invoices/{id}/send-customer-notification-sms بعد از claim

mizekar-home

  • BFF: /api/free-invoice-online/* با Authorization + X-Workspace-Id
  • UI steps: form | loading | preview | claim-phone | claim-otp | claim-name
  • session در sessionStorage (mizekar-provisional-invoice-session)

نحوه استفاده

  1. لندینگ را پر کنید؛ تیک SMS فقط با موبایل مشتری معتبر معنا دارد.
  2. PDF را می‌توان قبل از claim دانلود کرد.
  3. ذخیره / ارسال پیامک → OTP فروشنده → ورود به جزئیات فاکتور در پنل.

نکات و محدودیت‌ها

  • محیط باید حداقل یک InvoiceTemplate با WorkSpaceId=0 فعال داشته باشد.
  • SMS فقط برای فاکتور فروش و Contact با لینک موبایل.
  • ساخت provisional بدون موبایل بعد از TTL توسط cleanup پاک می‌شود.
  • ابزار رایگان جایگزین پنل کامل (گزارش، POS، کمیسیون) نیست.

منابع مرتبط

  • Customer post: blog/marketing/free-invoice-online.md
  • SEO: seo/free-invoice-online.md
  • Pattern parallel: provisional site — MZK-2026-0042-free-website-builder
اشتراک‌گذاری

نظرات

0

هنوز نظری ثبت نشده است.

سؤال امنیتی: