
با استفاده از API چاپچی میتوانید قابلیتهای یک چاپخانه کامل را درون سیستم نرمافزاری خود بگنجانید. این قابلیت جهت سایتهای فروش اینترنتی بسیار ایدهآل میباشد به این دلیل که کل فرآیند ثبت شدن سفارش توسط مشتریان تا ارسال بسته سفارشی به صورت کاملا اتوماتیک قابل انجام خواهد بود.
همچنین برنامهنویسان میتوانند با قابلیتهای API اقدام به نوشتن سیستمهایی جهت ارائه محصولاتی خاص نمایند، مثلا سیستمی که تصاویر اینستاگرام کاربر را دریافت و بر روی محصولاتی مانند عکس، شاسی، تیشرت، ماگ یا ... عرضه میکند. استفاده از API چاپچی کاملا رایگان و بدون هزینه میباشد، وقت آن است که ایدههای خود را بدون هیچ هزینهای به واقعیت تبدیل نمایید.
شروع استفاده از API:
جهت استفاده از API ابتدا لازم است یک فروشگاه در پنل طراحان ایجاد نمایید (اگر از قبل انجام نداده باشید). از آنجایی که ایجاد فروشگاه جهت استفاده از API چاپچی الزامی است اما ممکن است نخواهید فروشگاه شما در چاپچی آنلاین باشد میتوانید در تنظیمات فروشگاه، گزینه «عدم نمایش فروشگاه» را انتخاب نمایید. (تنظیمات فرشگاههای چاپچی در این مطلب به صورت کامل توضیح داده شده است).
سپس میتوانید از قسمت انتهایی منوی پنل طراحان، گزینه «وبسرویس > افزودن» را انتخاب نمایید. با وارد نمودن مشخصات میتوانید توکن API را دریافت نمایید. جهت بررسی متدها و امتحان آنها و نمونه درخواستها میتوانید به https://api.chapchi.com مراجعه کنید. در کدهای خود نیز بایستی درخواستها را به https://api.chapchi.com/api/v1 ارسال نمایید.
همچنین میتوانید https://api.chapchi.com/openapi.json را به postman ایمپورت کنید.
وبسرویس چاپچی چه امکاناتی در اختیار شما قرار میدهد؟
۱. دریافت لیست کامل محصولات به همراه مشخصات آنها (نام محصول، سایزبندی، رنگبندی، جنس محصول، جهات چاپی که دارا میباشد و هزینه هر جهت چاپ، ملحقات اضافهء قابل انتخاب برای یک محصول)
۲. دریافت اطلاعات مربوط به یک محصول خاص
۳. دریافت لیست کامل موجودی محصولات یا دریافت وضعیت موجودی یک محصول خاص
۴. دریافت لیست طرحهایی که در پنل طراحان وارد نمودهاید و جزئیات آنها
۵. ثبت نمودن سفارش
۶. آپلود طرح (برای سفارشات با طرح اختصاصی)
۷. دریافت لیست شهرها و استانها
۸. دریافت روشهای ارسال
۹. دریافت میزان موجودی حساب کاربری
۱. دریافت لیست کامل محصولات به همراه مشخصات آنها
با استفاده از متد variants/ میتوانید لیستی کامل از محصولات و جزئیات مربوطه را دریافت کنید. در صورت فراخوانی این متد، پاسخ دریافت شده شامل شش قسمت اصلی خواهد بود که در ذیل به شرح آنها میپردازیم:
blanks: اطلاعات اولیه هر محصول در این قسمت بیان شده است که شامل نام محصول (name) و آیدی مختص آن محصول (blanks_id) میباشد. به طور مثال blanks_id برابر با ۱ برای محصول تیشرت نخی مردانه میباشد.
colors: شامل کلیه رنگهایی است که در محصولات ارائه شده است. به طور مثال بیان میکند محصول با blanks_id برابر با ۱، دارای رنگ با color_name مشکی و کد رنگ 000000# با color_id برابر با ۱ است. همچنین additional_price هزینهء اضافهای که آن کد رنگ شامل میشود را بیان میکند و color_family_id نیز بیانگر خانواده رنگ مربوطه میباشد. رنگهایی که خیلی شبیه به هم هستند در یک آیدی خانواده رنگ قرار میگیرند، به طور مثال اگر رنگ تیشرت زرد به مرور زمان در تولید شامل تغییر شود کد رنگ زرد آن تغییر میکند ولی آیدی خانواده مربوطه هیچ تغییری نمیکند. البته این تغییر نبایستی زیاد باشد، به طور مثال زرد و زرد لیمویی به عنوان دو رنگ مجزا و دو خانواده رنگ مجزا تلقی میگردند.
types: نوع جنس هر محصول در این قسمت بیان میباشد. به طور مثال بیان میکند که blanks_id برابر با ۱ دارای type_id برابر با ۱ میباشد که gender_name آن برابر با «نخی (الیاف ۱۰۰٪ طبیعی پنبه)» میباشد و این جنس دارای additional_price برابر با ۰ میباشد.
sizes: سایزبندی هر محصول خام در این قسمت بیان میشود. به طور مثال بیان میکند که blanks_id برابر با ۱ دارای size_idهای از ۱ تا ۶ میباشد که شامل size_nameهای از S تا XXXL میباشد که additional_price آنها برابر با ۰ میباشد.
print_sides: هر محصول میتواند میتواند یک یا تعداد بیشتری ناحیه چاپ را شامل شود. به طور مثال تیشرت نخی دارای دو ناحیه چاپ «جلو» و «پشت» میباشد. به طور مثال در این بخش میتوانیم ببینیم که blanks_id برابر با ۱ (تیشرت نخی مردانه) دارای ناحیههای چاپ با side_name جلو و پشت که id آنها برابر با ۱ و ۲ میباشد است، هر کدام از این ناحیههای چاپ دارای print_price برابر با ۷۰۰.۰۰۰ ریال میباشد به این معنی که در صورت درخواست چاپ در هر یک از این ناحیهها به میزان ۷۰۰.۰۰۰ ریال به قیمت پایه محصول تیشرت نخی مردانه افزوده میگردد. همچنین height و width بیان میکنند که فایل مورد نیاز جهت آن ناحیه چاپ بایستی دارای چه ابعادی باشند. (نکتهای که در مورد سایز بیان شده به پیکسل در قسمت height و width وجود دارد این است که هنگام استفاده از API در صورتی که بخواهید حتی ابعادی کوچکتر از چیزی که برای ناحیه چاپ در نظر گرفته شده است را چاپ نمایید بایستی تصویر خود را در یک مستطیل ترنسپرنت با ابعادی که برای ناحیه چاپ در نظر گرفته شده است قرار بدهید، در هر صورت تصویر شما نبایستی دارای ratio یا نسبت عرض به ارتفاع متفاوت از اعدادی که برای ناحیه چاپ در نظر گرفته شده است باشد، سیستم API از قبول فایلهایی که با ratio متفاوت ارسال میشوند خودداری میکند)
additional_items: برخی از محصولات دارای ملحقاتی به صورت اختیاری میباشند. به طور مثال در این قسمت میتوانیم ببینیم که blanks_id برابر با ۱۲ که متعلق به کوسن میباشد دارای آیتم اضافه اختیاری با ad_id برابر با 176 میباشد که اسم آن آیتم اضافه برابر با «بالش داخلی با ۴۵۰ گرم الیاف توپی مخصوص» بوده و additional_price بیان میکند که در صورت انتخاب این آیتم به میزان ۶۰۰.۰۰۰ ریال به هزینه محصول افزوده خواهد شد. همچنین sizes برابر با 267 بیان میکند که این آیتم اضافه فقط و فقط مختص سایز ۴۵×۴۵ سانتیمتر این محصول میباشد.
۲. دریافت اطلاعات مربوط به یک محصول خاص
با ارسال آیدی یک محصول خاص به صورت variant/{blanks_id} میتوانید کلیه اطلاعات مربوط به یک محصول (شامل ۶ موردی که در بالا بیان شده است) را دریافت کنید. به طور مثال میتوانید آیدی ۱۲ که مربوط به کوسن مربعی یا آیدی ۱ که مربوط به تیشرت نخی میباشد را تست کنید.
۳. دریافت لیست کامل موجودی محصولات یا دریافت وضعیت موجودی یک محصول خاص
با فراخوانی متد stocks/ لیست کلیه محصولات به همراه میزان موجودی آنها ارائه میشود. همچنین در صورت فراخوانی stock/{blanks_id}/ اطلاعات مربوط کلیه حالتهای (سایزها و رنگها و ...) یک محصول خاص به شما ارائه میشود.
میزان موجودی برابر با ۱- به معنی عدم داشتن محدودیت در ثبت سفارش، میزان موجودی برابر با ۰ به معنی عدم موجود بودن کالا و هر عدد مثبت دیگری به معنای میزان دقیق موجودی یک محصول خاص است. توجه داشته باشید که اگر برای یک محصول عددی مثبت به عنوان موجودی درج شده باشد ولی درخواست انجام سفارش به میزانی بیشتر از این عدد داشته باشید میتوانید با ما تماس گرفته تا هماهنگی مربوطه انجام گردد.
۴. دریافت لیست طرحهایی که در پنل طراحان وارد نمودهاید و جزئیات آنها
در صورتی که در پنل طراحان اقدام به وارد نمودن طرح در قسمت «طراحی» کرده باشید با استفاده از متد artworks/ اطلاعات کامل مربوط به طرحهای خود را دریافت کنید که شامل نام، توضیحات، رنگ و محصولات فعال شده جهت آن طرح میباشد. همچنین در صورت داشتن آیدی مربوط به طرحتان میتوانید با فراخوانی artwork/{art_id}/ اقدام به دریافت جزئیات مربوط به آن طرح نمایید.
۵. ثبت نمودن سفارش
متد order/ از نوع POST بوده و توسط آن میتوانید اقدام به ثبت سفارش نمایید (توجه داشته باشید که جهت ثبت شدن سفارش بایستی پنل کاربری شما حداقل به میزان مبلغ سفارش دارای اعتبار باشد در غیر این صورت ثبت سفارش انجام نشده و با خطا مواجه میشوید).
همچنین در صورتی که میخواهید اقدام به تست قسمت ثبت سفارش نمایید (بدون این که سفارشی به صورت واقعی ثبت و از اعتبار شما کاسته شود) میتوانید از order/check/ استفاده نمایید.
حتما در هنگام ثبت سفارش از موجود بودن محصولات (quantity محصول مثبت یا منفی یک) مطمئن شوید، به دلیل این که ثبت سفارش در صورت عدم موجود بودن محصول امکانپذیر نمیباشد.
این متد دارای پنج بخش جهت دریافت اطلاعات کامل سفارش میباشد.
reciever: اطلاعات مربوط به گیرنده شامل نام (name)، موبایل (mobile) با فرمت ۰۹xxxxxxxxx، آدرس (address) که شامل اطلاعات کامل پستی به جز نام استان و شهر میباشد، کد پستی ۱۰ رقمی (postal) که شامل ۱۰ عدد پشت سرهم بدون هیچ علامت اضافهای بایستی باشد، لوکیشن (location) به صورت lat,long که این گزینه اختیاری میباشد و همچنین کد شهر (city_id) در این قسمت دریافت میشود. اطلاعات مربوط به استان و شهر برای مقدار city_id در متدهای بعدی معرفی گردیده است و به دلیل وابسته بودن هر شهر به استان مخصوص خود نیازی به تعیین استان نیست.
delivery_type: آیدی مربوط به روش ارسال انتخابی در این قسمت بایستی وارد شود. روشهای ارسال مختلف قابل دریافت از متد delivery_gateways میباشد که جلوتر به معرفی آن میپردازیم.
description: در صورتی که سفارش دارای توضیحاتی میباشد میتوانید توضیحات را در این قسمت وارد کنید.
artworks: جهت ثبت سفارش دو حالت وجود دارد، یا سفارش از محصولاتی میباشد که از قبل در قسمت «طراحی» آنها را تعریف نمودهاید یا سفارش از نوع طرح اختصاصی میباشد. در صورتی که سفارش شما از نوع اول میباشد بایستی از این قسمت اطلاعات مربوط به محصولی که میخواهید سفارش بدهید را مشخص نمایید. البته سفارش شما میتواند به طور همزمان از هر دو مدل (طرح اختصاصی و طرح از پیش قرار داده شده در سیستم) باشد.
customs: اگر در حال سفارش طرح اختصاصی میباشد اطلاعات مربوط به محصول و طرح خود را بایستی از این قسمت ارسال نمایید. جهت دریافت file_uuid که در این قسمت مورد نیاز میباشد بایستی از متد uploads/ استفاده نمایید که جلوتر به معرفی آن خواهیم پرداخت (در حقیقت فایل مربوط به طرح بایستی قبل از ارسال اطلاعات سفارش به سیستم ارسال و uuid مربوطه دریافت شده باشد). همچنین میتوانید به جای مقدار file_uuid یک آدرس URL صحیح که سیستم چاپچی بتواند فایل طرح گرافیکی را از آن دانلود کند قرار بدهید و در این صورت دیگر نیازی به استفاده از متد upload/ و ارسال فایل به سرور نیستید.
۶. آپلود طرح (برای سفارشات با طرح اختصاصی)
در صورتی که میخواهید سفارشی با طرح اختصاصی ثبت نمایید قبل از انجام ثبت سفارش بایستی ابتدا فایل چاپ آن را به سیستم ارسال و uuid مربوط به آن فایل را دریافت کنید. جهت آپلود فایل بایستی از متد uploads/ که از نوع POST میباشد استفاده کنید. همچنین توجه داشته باشید که بین آپلود فایل بر روی سرور و ثبت شدن سفارش با متد order/ نبایستی بیش از ۳ ساعت وقفه بیفتد، در غیر این صورت آن فایل به عنوان فایل اضافه از روی سرور حذف خواهد گردید (پس از آپلود فایل، علاوه بر uuid به شما زمان انقضاء فایل نیز اعلام خواهد شد که هنگام ثبت سفارش میتوانید آن را چک نمایید).
همچنین در نظر داشته باشید که برای سفارش طرح اختصاصی میتوانید کلا از متد upload/ استفاده نکرده و برای file_uuid از یک آدرس URL صحیح که سیستم چاپچی قادر باشد فایل را از آن دانلود نماید ارسال کنید.
۷. دریافت لیست شهرها و استانها
با فراخوانی متد cities/ لیستی کامل از شهرها به شما ارائه میشود. هر شهر دارای آیدی مختص به خود میباشد که در هنگام ثبت سفارش بایستی این آیدی به سیستم ارسال شود. به طور مثال شهر «نیشابور» از استان «خراسان رضوی» دارای آیدی ۱۷۲ میباشد.
۸. دریافت روشهای ارسال
با فراخوانی متد delivery_gateways/ میتوانید لیستی از روشهای ارسالی که سیستم به شما ارائه میدهد را دریافت کنید. در حال حاضر تنها روش ارسال «پست پیشتاز» میباشد که به سراسر ایران قابل ارائه میباشد.
۹. دریافت میزان موجودی حساب کاربری
با فراخوانی متد balances/ میتوانید موجودی ریالی حساب کاربری خود را دریافت کنید.
در صورتی که سوالی در رابطه با استفاده از API پیش آمد میتوانید با چاپچی در تماس باشید.