جستجو در بخش : سوال جواب منابع اسلامی لغت نامه ها قوانین و مصوبات
×

فرم ورود

ورود با گوگل ورود با گوگل ورود با تلگرام ورود با تلگرام
رمز عبور را فراموش کرده ام عضو نیستم، می خواهم عضو شوم
×

×

آدرس بخش انتخاب شده


جهت کپی کردن میتوانید از دکمه های Ctrl + C استفاده کنید
رویداد ها - امتیازات
در حال بارگذاری
×

رویداد ها - امتیازات

برای بررسی عملکرد فعالیت و امتیازات خود باید در وب سایت وارد باشید. در صورت عضویت از بخش بالای صفحه وارد شوید، در غیر این صورت از دکمه پایین، مستقیم به صفحه ثبت نام وارد شوید.


×
×
ممنون میشیم نظر خودتون رو راجع به طرح «صیانت از فضای مجازی» به عنوان پاسخ به این سوال با ما به اشتراک بگذارید.
×

دلیل درخواست بستن پست

کلیه پست هایی که جنبه تبلیغاتی داشته، محتوای اسپم و بی مفهوم در این دسته قرار میگیرند. همچنین پست هایی که به منظور گرفتن بک لینک درج می شوند شامل این مورد هستند.
حاوی مفاهیم غیر اخلاقی، سیاسی و یا توهین آمیز. کلیه پست هایی که از نظر محتوایی نیاز به بررسی و یا حذف شدن دارند در این دسته قرار می گیرند.
محتوایی با عدم جزئیات کافی و مورد نیاز. کلیه پست هایی که منظور نویسنده به وضوح مشخص نیست و نیازمند توضیحات و جزئیات بیشتر می باشند در این دسته قرار می گیرند.
محتوایی بی ربط با موضوعیت سرفصل کلی. کلیه پست هایی که از منظر مفهوم و مضمون ارتباطی با عنوان اصلی سوال ندارند در این دسته قرار می گیرند.
محتوایی دلخواه و بر پایه سلیقه. کلیه پست هایی که یک پاسخ مشخص ندارند و متوانند چندین پاسخ متفاوت و صحیح داشته باشند که کاملا مبتنی بر نظر شخصی افراد هستند در این دسته قرار می گیرند.
محتوایی در حوزه خیلی وسیع. کلیه پست هایی که از نظر محتوایی در یک حوزه ی وسیعی قرار دارند و مشخصا به یک موضوع خاصی اشاره ندارند که پاسخدهی به آن ها مستلزم تشریح مفاهیمی کلی می باشند در این دسته قرار می گیرند.
قبلا در لام تا کام مطرح شده. پست هایی که دقیقا با همین محتوا و مضمون قبلا در وب سایت لام تا کام درج شده اند، با ذکر آدرس منبع تکراری با پست حال حاضر شامل این دسته هستند. تکراری است با:
به سایر دلایل، نیازمند به بررسی توسط مدیر. به هر دلیل غیری که پست را نیازمند بررسی توسط مدیر کرده، با ذکر دلیل، در این دسته قرار میگیرد.
ارسال رای بستن

چگونه با api پیامک ارسال کنیم


0
0
442

من یه پروژه دارم که میخواهم با api پیامک ارسال کنم. خواهشا تا آخر موارد زیر خوانده شود.
برای ششروع کار وب سرویسهایی برای ثبت نام/ ورود در اختیار قرار دهید که مراحل آن به این صورت خواهد بود.

  • شماره ورودی کاربر بوسیله یک api برای شما ارسال می شود، شما وجود یا عدم وجود آن در سامانه را بررسی میکنید.
    در صورت وجود کد تایید را به کاربر از طریق پیامک ارسال میکنید.
    در صورت عدم وجود نیز کد تایید بصورت پیامک ارسال میشود.
    با این تفاوت که برای هر کدوم از این انواع کد مربوطه را برای من ارسال می کنید.
    خوب یک api نیز برای درخواست مجدد همان کد تایید(اینکه دوباره پیامک ارسال شود) در نظر بگیرید.
    در ضمن کد تایید ایجاد شده توسط سامانه را که یک عدد 4 یا 5 رقمی می باشد به مدت 10 دقیقه معتبر باشد، در صورت عدم ورود کاربر در طول این10دقیقه، این کد از اعتبار ساقط میشود و نیاز به ارسال کد جدید می باشید.
    در ضمن در زمان درخواست مجدد برای کد تایید نیز همان کد تایید اولیه ارسال شود(در این بازه 10 دقیقه) در غیر اینصورت کد جدید تولید و این کد جدید ارسال شود.
  • api برای تایید کد ورودی ارسال شده توسط پیامک
    در این api نیز باز نوع ورود که ثبت نام جدید می باشد یا قدیم(ورود مجدد) ارسال شود.
    در صورتی که کاربر قدیمی باشد، اطلاعات کاربری کاربر شامل تمام اطلاعات پروفایلی می باشد.
    در صورتی که کاربر جدید باشد نیز همین فیلد ها باشد منتهی بصورت خالی(جهت ایجاد مدل یکسان در سمت اندروید این درخواست رو دارم)
    خوب فعلا این سه api در اختیار قرار بگیرد.
    نحوه ارائه api نیز به این صورت باشد که در ابتدا عنوان api بعد لینک api بعد پارامتر های ارسالی که من ارسال خواهم کرد.
    خروجی جیسون در گروه قرار گیرد.
    و در نهایت تمام کد ها نیز به عنوان ریسپانس در انتها به همراه توضیح مختصر در موردشون.(به طور مثال در api ثبت نام کد100 کاربر جدید کد101 کاربر قدیمی و الی آخر...)

api.php

Route::namespace('Api')->prefix('user')->group(function (){
    Route::get('verify/{number}', '[email protected]');
    Route::get('resend/{number}', '[email protected]');
    Route::get('login/{number}/{code}', '[email protected]');
});

ApiController.php

<?php

namespace AppHttpControllersApi;

use AppHttpControllersController;
use AppUser;
use CarbonCarbon;

class ApiController extends Controller
{
    public function verify($number) {
        $user = User::first(['mobile'=> $number]);
//        dd('salam ');
        $code = substr((string) uniqid(), 0, 5);
        $user->first_name = "علی";
        $user->last_name = "علیزاده";
        $user->mobile = "09389267856";

        $user->birth_date = "1366/08/08";
        $user->gender = 1;
        $user->province_id = 1;
        $user->city_id = 1;
        $user->address = 'خیابان ازادی - ۱۰ متری دوم پلاک ۲۱';
        $user->email = '[email protected]';
        $user->email = '[email protected]';
        $user->password = bcrypt(123456);
        $user->lastVerifyRequest = Carbon::now();
        $response = ['user' => $user];
        $user->save();
        if ($user->exists) {
            array_add($response, 'exists', true);
        }else {
            array_add($response, 'exists', false);
        }
        sms($number, $code);
        array_add($response, 'status', 200);
        return $response;
    }

    public function resend ( $number ) {
        $user = User::firstOrCreate(['mobile'=> $number]);
        if ($user->exists){
            $response = ['user' => $user];
            if (Carbon::now()->lt($user->lastVerifyRequest->addMinutes(10))){
                sms($number, $user->code);
                array_add($response, 'status', 200);
            }else{
                $code = substr((string) uniqid(), 0, 5);
                $user->code = $code;
                $user->lastVerifyRequest = Carbon::now();
                $user->save();
                sms($number, $user->code);
                array_add($response, 'status', 200);
            }
            return $response;
        }else{
            return ['status' => 404];
        }
    }

    public function login ( $number, $code ) {
        $user = User::firstOrCreate(['mobile'=> $number]);
        if ($user->code == $code){
            return ['status' => 200, 'user' => $user];
        }else {
            return ['status' => 405];
        }
    }
}

جدول کاربران

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('level')->default('user');
        $table->string('first_name');
        $table->string('last_name');
        $table->string('mobile')->unique();
        $table->string('code');
        $table->boolean('verification_code')->default(false);
        $table->string('birth_date');
        $table->boolean('gender');
        $table->bigInteger('province_id')->unsigned();
        $table->bigInteger('city_id')->unsigned();
        $table->text('address');
        $table->string('email')->unique();
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->string('api_token' , 60)->nullable()->unique();
        $table->rememberToken();
        $table->timestamps();

        $table->foreign('province_id')->references('id')->on('provinces')->onDelete('cascade');
        $table->foreign('city_id')->references('id')->on('cities')->onDelete('cascade');
    });
}

فیلد code یه کد 5 رقمی است که به کارربر فرستاده میشود
فیلد verification_code اگر 1 باشد به معنای تایید شده است
ولی اگزverification_code اگر 0 باشد به معنای تایید نشده است
فیلد mobile هم که مشخصه شماره موبایل است.

الان این رو میخوام که شماره تلفن کاربر رو ارسال کنم و من از طریق پنل پیامکی برای من کد تایید رو ارسال کنم.

کد هم که گفتم منظورم اینه که هر فایل جیسونی اولین فیلد خروجی code باشه که مقادیر اون به من نشون میده که چیکار کنم با خروجی تحویلی از شما مثلاً پیام بعدی رو دقت کنید که به این شکل باشه: api/v۱/comments/create?api_token (post)

برای ایجاد نظر برای کاربر با محدودیت هر روز یک نظر

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

 title => required | string | max:100,  
 text => required | string | max:1000,

کد های بازگشتی: ۰ => موفقت آمیز - نظر کاربر با موفقیت به ثبت رسید. ۱ => خطا - فرمت اطلاعات خواسته شده نادرست است. ۲ => خطا - کاربر به تازگی نظر ثبت کرده است. حداقل باید یک روز از ثبت آخرین نظر بگذرد.. ۴۰۱ => خطا - احراز هویت نا موفق

سایر لاراول
ویرایش شده در 2 سال قبل
سوال شده در Mahmoud Khosravi
122 امتیاز


اینجا کسی نمیدونه، خیلی برای من مهم است، همه این توضیحات را من ننوشتم، طراح اپ برام نوشته، نوشته که من با لاراول یه api براشون درست کنم. اگر نتونم درست کنم جریمه خواهد کرد. ــ Mahmoud Khosravi در 2 سال قبل

500 کاراکتر باقی مانده


جواب شما
     
.....
×

×

جعبه لام تا کام


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

تبلیغات توضیحی


اقتصاد رفتاری بررسی روشهای تاثیرگذار بر رفتار کاربران
مردم همیشه به دنبال چیزهایی هستند که نمیتونن اونارو داشته باشن، و با به سادگی نمیتونن اون رو به دست بیارن.

تبلیغات تصویری


محک