
اليوم نحن:
- لنقم بإنشاء تطبيق Alice (مهارة) باستخدام خدمة Yandex Cloud Functions الجديدة (أكتوبر 2019).
- سنقوم بتهيئة طلبنا بحيث يرسل طلبات العملاء (العملاء المتوقعون ) إلى Bitrix24 CRM.
سيستخدم مشروعنا
Node.js (الإصدار
10.xx) - يجب تثبيته على جهازك المحلي باستخدام
npm (افتراضيًا ،
يتم تثبيت
npm مع تثبيت
Node.js ، لذلك على الأرجح لن تضطر إلى تثبيته بشكل منفصل).
وفقًا للفقرة الأولى من قائمتنا ، سوف نتعلم كيفية التعامل مع
وظائف السحاب ، وهذا منطقي: أ) ستأتي الإجابات من طلبنا إلى أليس بشكل أسرع (تعيش في مكان ما في الحي ، وربما حتى خارج الجدار) ؛ ب) سيساعد ذلك قليلاً (وربما كثيرًا مع عملاء كبيرين) على التوفير: تم الإعلان رسميًا عن أنه عند استخدام مهارات Alice ، لا
يتم فرض رسوم على مكالمات الكود في
"وظائف السحاب" (على الرغم من وجود مجموعة صغيرة هناك - سأتحدث عنها لاحقًا).
النقطة الثانية هي حول واحدة من الطرق القليلة لكسب المال مع أليس. بناءً على المعرفة المكتسبة اليوم ، سيكون من الممكن: أ) تقديم تطبيقات مخصصة للعملاء من رجال الأعمال ؛ ب) افتح عملك الخاص بك (في هذه الحالة ، ستكون من بين الرواد وبالتالي ستصبح غنيًا بشكل رائع).
ولكن إذا لم تكن قد فعلت أي مهارات مع Alice ، أو إذا كانت لديك خبرة قليلة ، فإني أحيلك إلى مقالتي الأولى في هذه السلسلة:
"Alice Gets a Skill" - بمساعدتها ، ستقوم بإنشاء تطبيق بسيط يقتبس الأشخاص الأذكياء ولديه أيضًا زر لجمع تبرعات لتحفيز أفكارك الذكية.
اليوم سنقدم تطبيقًا بسيطًا للغاية - هنا سيناريو عملها. يبيع
البائع المتميز اسم العميل واسم عائلته ، وعندما يعترف الأخير (أو يخدع) - يرسل طلبًا (عميل متوقع) يحتوي على هذه البيانات إلى Bitrix24. كل شيء كما هو موضح في الصور أدناه.
إليكم مهارة
بائع Bitrix (ليست موجودة في كتالوج مهارات Alice ، لكنها على قيد الحياة ويمكنك
تسميتها بعبارة:
"Alice ، أطلق مهارة بائع Bitrix" - أدعوك لاختباره). في الشاشة الأولى (يسار) ، لم يكن بائعنا سعيدًا لأن المستخدم قدم الاسم فقط وسأل مرة أخرى. على الشاشة الثانية (على اليمين) - كل شيء على ما يرام ، وترتيب "طار" إلى Bitrix24:

ولكن تم استلام العملاء المتوقعين بالفعل من البائع ، ويمكن رؤيته في وحدة التحكم Bitrix24 CRM:

الآن وقد أصبح الغرض من عملنا واضحًا ، فلنبدأ.
ياندكس كلاود
على الرغم من أن التدريب على العمل مع منصة
Yandex.Cloud ليس الغرض من هذه المقالة (لكني أخطط لمثل هذه المقالات في المستقبل) ، حتى نتمكن من المضي قدمًا ، سنركز على النقطة الأساسية - إنشاء حساب في Yandex.Cloud. إذا كنت قد تجاوزت هذه المرحلة بالفعل ، فيمكنك تخطي هذا القسم دون أي عواقب سلبية على درسنا اليوم. في الواقع ، هذا كل شيء بسيط للغاية.
ضمن حساب Yandex الخاص بك ، انتقل إلى موقع Yandex.Cloud وانقر فوق الزر "
Console ".

سيقوم النظام بإنشاء دليل عمل لك في السحاب يسمى الافتراضي (إذا كنت توافق على هذا الاسم):

الآن ، انتقل إلى الدليل
الافتراضي (نفترض أنك تقبل جميع الأسماء التي اقترحها النظام) ، يجب أن تشاهد
مربعًا افتراضيًا خاصًا للغيمة
السحابية ، كما هو موضح في الصورة (ستظهر التجانيتان الأخريان اللتان تراهما أيضًا هناك لاحقًا):

من خلال النقر على البلاط ، سنرى أن شبكة سحابية يتم إنشاؤها تلقائيًا نيابةً عنك ، بشكل غريب بما يكفي ، تحت الاسم
الافتراضي (لا تخلط مع اسم دليل العمل بنفس الاسم الذي يكون كل هذا فيه!):

من خلال النقر فوق اسم الشبكة (
افتراضي ) ، سوف نرى خصائصها ، بما في ذلك حقيقة أن (في الوقت الحالي) تتكون الشبكة من ثلاث شبكات فرعية:
ru-central1-a ،
ru-central1-b و
ru-central1-c .

في جوهرها ، ما يسمى الشبكات الفرعية. مراكز البيانات ، أي سلالم مادية مع خوادم تقع في مدن مختلفة من الاتحاد الروسي (ما يسمى المناطق) لضمان التشغيل المتواصل للمنصة ، والحفاظ على سلامة (أي سلامة وسلامة) بيانات المستخدم. لتقليل الوقت الذي يستغرقه تنفيذ العمليات ، يوصى بتخزين جميع الموارد المترابطة على نفس الشبكة الفرعية (أي في مركز بيانات واحد). فيما يلي ، سنستخدم الشبكة الفرعية
ru-central1-b ، ولكن يمكنك اختيار أي شبكة أخرى عندما يحين الوقت لتختار. خبر جيد! هذا هو كل ما نحتاج إلى معرفته حول الشبكات والشبكات الفرعية والمناطق ، ولن نعود إلى هنا اليوم!
الآن يبقى إرفاق البطاقة المصرفية بحساب
Yandex.Cloud حتى تصبح جميع خدماتها متاحة لنا. هنا يجب أن أقول أن
Yandex.Cloud توفر للجميع فترة تجريبية مدتها 60 يومًا
وأربعة آلاف روبل - أي لأنه عندما ينتهي أي من هذا أولاً. ولكن حتى بعد انتهاء الفترة التجريبية ، لن يتم خصم أموالك تلقائيًا من البطاقة المصرفية المرتبطة حتى تؤكد هذا بوضوح من خلال النقر على زر "
التبديل إلى الإصدار المدفوع ".
تنصلليس من قواعدي تقديم ضمانات ، خاصة الضمانات المالية. لذلك ، فقد حان الوقت للإعلان صراحةً عن أنني أتخلى عن أي مسؤولية ، فجأة ، في أي لحظة ، اتضح أن شروط منصة Yandex.Cloud فيما يتعلق بالاستخدام المجاني أو خطط التعريفة لا تتوافق مع ما هو مكتوب هنا أو توقعاتك الأخرى .
لذلك ، لإرفاق بطاقة مصرفية ، تحتاج إلى تحديد عنصر
الفوترة في القائمة على اليسار:

هناك ، انقر فوق الزر
"إنشاء حساب" ، واتبع الإرشادات: قبول شروط الاستخدام ، وإدخال تفاصيل بطاقتك المصرفية ، وتأكيد الإجراءات ، إلخ. عند إنشاء حساب الدفع ،
ستصبح جميع خدمات
Yandex.Cloud متاحة ، وسنكون قادرين على المضي قدمًا.
Bitriks24
إذا لم يكن لديك حساب في
Bitrix24 حتى الآن - فقد حان الوقت لإنشاء حساب. كل شيء بسيط وواضح هنا:
انتقل إلى موقع Bitrix24 وإنشاء حساب لنفسك هناك. لديهم مستوى مجاني سخي إلى حد ما دون أي حدود زمنية ، لذلك لأغراضنا شيء لدفع هناك اختياري تماما (على الرغم من أنه من الممكن).
بعد ذلك ، نحتاج إلى إنشاء webhook وارد. للقيام بذلك ، حدد في القائمة اليمنى:
التطبيقات (ربما يكون هذا العنصر مخفيًا في قائمة "المزيد") -> علامة تبويب "Webhooks" -> الزر "إضافة webhook" ، كما هو موضح في لقطة الشاشة:

عندما تنقر على الزر "
إضافة webhook " ، حدد: "
Webhook الوارد " من القائمة ، ثم في صفحة الإنشاء ، أدخل اسمًا ووصفًا معقولًا للوكوم الجديد الوارد ، وكذلك حدد مربع الاختيار
CRM (crm) :

بعد ذلك في أسفل الصفحة ، انقر فوق الزر "
حفظ ". نتيجةً لذلك ، سوف يمنحك النظام عنوان URL نموذجًا باستخدام webhook الخاص بك ، وهذا شيء مثل هذا:
URL REST: https:
حيث سيكون بدلاً من
xxxxxxx هو webhook الحالي (وبدلاً من
12345 - النطاق الفرعي الحقيقي).
تذكر أنه يجب الحفاظ على سرية الويب ، حيث يمكن استخدامها لتقديم طلبات إلى حساب
Bitrix24 الخاص بك.
ولكن سنحتاج إلى تغيير معلمات webhook هذه قليلاً - فلنفعل ذلك على الفور حتى لا نعود إلى هنا بعد الآن ونحفظ (في مكان آمن) عنوان URL الخاص بـ webhook الذي تم تعديله. كل ما عليك فعله هو استبدال
ملف التعريف في المسار بـ
crm.lead.add.json ، وبالتالي فإن مهارتنا ستتطلب عنوان URL مثل هذا:
https:
هذا كل شيء. نمرر إلى رمز مهارتنا لأليس.
اعمل مع المشروع
لقد حان الوقت للبدء في العمل مع مشروعنا - وهو مهارة لـ Alice ، تحمل الاسم الرمزي "
بائع Bitrix ". نقوم باستنساخ (أو تنزيل أرشيف zip) مستودع GitHub:
alice-tutorial-bitrix24 . المستودع جزء لا يتجزأ من هذه المقالة. في سطر الأوامر أو المحطة الطرفية ، قم بتثبيت التبعيات الضرورية:
cd alice-tutorial-bitrix24 npm install
الآن يجب أن تبدو محتويات هذا المجلد كما يلي:

يحتوي ملف المشروع الرئيسي ،
index.js ، على جميع التعليمات البرمجية الخاصة بنا. من دليل
الصور ، قم بتحميل ثلاث صور إلى مهارتك في وحدة تحكم مطور Alice - علامة تبويب
الموارد ->
الصور . مثل هذا:

يبرز الإطار الأحمر معرفات الصور التي سنحتاج إلى إدراجها في الكود الخاص بنا. ولكن سيكون أفضل إذا قمت بإعداد صورك الخاصة باستخدام هذا القياس. أوصي بحجم
512 × 230 بكسل. تنسيق الملف المطلوب:
JPEG ، JPG ، PNG . من المفيد أيضًا تصغيرها أولاً باستخدام بعض الأدوات المساعدة - على سبيل المثال ، استخدمت ضاغط
Optimizilla عبر الإنترنت.
الآن افتح ملف
index.js في بعض المحرر (لدي
كود Visual Studio ):

بدلاً من
xxx ... استبدل قيمك الفعلية: المجال الفرعي
Bitrix24 و webhook الذي تلقيناه في الخطوة السابقة ، ومعرفات الصورة التي تلقيناها للتو. كما ترون ، فإن الشفرة مليئة بالتعليقات - فقط اقرأها مثل موصل النتيجة!
وظائف سحابة وتخزين الكائنات
الآن تحتاج إلى وضع طلبنا في
وظائف سحابة - خدمة من
Yandex.Cloud . للقيام بذلك ، يجب أولاً إعداد أرشيف مضغوط يتضمن الدليل مع
حزم التبعية
node_modules وملف
index.js الذي قمت بتحريره للتو. الآن سيبدو مجلد مشروعنا (إلى جانب أرشيف zip المفتوح للوضوح) كما يلي:

ولكن إذا نظرت إلى خصائص أرشيف zip الخاص بنا ، فقد تبيّن أنه نظرًا لوجود دليل
به تبعيات
node_modules ، فإن حجم
الأرشيف يصل إلى 6
ميغابايت تقريبًا. حيث أنه وفقًا للوثائق ، يمكنك مباشرة من الجهاز المحلي في
Cloud Functions تحميل أرشيفات لا يزيد حجمها عن 4
ميغابايت . لذلك ، سيتعين علينا تحميل هذا الأرشيف أولاً إلى خدمة
Yandex.Cloud أخرى -
تخزين كائنات Yandex ، ومن هناك - استيراده إلى
وظائف السحاب . توضح لقطة الشاشة أدناه موقع هاتين الخدمتين في قائمة التنقل
بوحدة التحكم في
Yandex.Cloud :

نذهب إلى "
تخزين الكائنات" ، وننشئ مجموعة هناك (أي دلو ، إن كان باللغة الروسية) لتخزين الملفات. دعوت دلو
التطبيق الخاص بي ، اسمك - يمكنك تسمية ما تريد. اترك الإعدادات الأخرى دون تغيير:

نقوم بتحميل أرشيفنا البريدي في المجموعة التي تم إنشاؤها حديثًا:

الآن في قائمة التنقل اليمنى ، انتقل إلى خدمة
Cloud Functions ، وهناك نقوم بإنشاء وظيفة جديدة عن طريق الضغط على الزر الذي يحمل نفس الاسم. نعطي الوظيفة أي اسم معقول ، ونقدم وصفًا قصيرًا ، وانقر فوق الزر "
إنشاء ":

بعد إنشاء وظيفة ، سيظهر اسمها في قائمة جميع الوظائف المتاحة (ولكن من المحتمل أن يكون لديك فقط حتى الآن). انقر على الاسم. في الصفحة التي تفتح ، في القائمة اليمنى ، انتقل إلى قسم "
محرر " واملأ الحقول اللازمة:

يرجى ملاحظة أننا نحتاج إلى التبديل إلى علامة التبويب
Object Storage وهناك دليل يدوي بحت ، لسبب ما دون أي قوائم منسدلة وتلميحات الأدوات (العيب هو أنك ستحتاج إلى الكتابة لدعم
Yandex.Cloud ) ، املأ: "
Bucket " - اسم
ملفنا مؤخرًا دلو خلق. "
كائن " - أرشيف مضغوط لمشروعنا ، مستلقٍ في هذا الدلو ؛ "
نقطة الدخول " - وفقًا للمخطط:
main_file_name (نقطة) module_name . سيكون لدينا نقطة دخول
index.qill . ولماذا بالضبط - خمن من هذه الصورة:

لا تقم بتغيير القيم في الحقول المتبقية ، ولكن بدلاً من ذلك انقر فوق الزر "
إنشاء نسخة" . في غضون ثوانٍ معدودة ، سيتم استيراد الرمز الخاص بنا من
Object Storage هنا ، وسيتم إنشاء الوظيفة (بالمناسبة ، يمكن الآن حذف أرشيف zip من
Object Storage بأمان ، ولكن يمكنك أيضًا تركه كنسخة احتياطية من المشروع - تكلفة التخزين رمزية هناك) ، وسنقوم تلقائيًا المعاد توجيهها إلى صفحة
الاستعراض :

ستحتاج هنا إلى تمكين مفتاح "
الوظيفة العامة " (التحديث: اعتبارًا من نوفمبر 2019 ، لا يمكنك جعل وظائف مهارات Alice عامة - يتم تنفيذ التكامل الداخلي عند الاتصال بهم عبر معرف ، انظر أدناه) ، وقيمة حقلي "
المعرف " و "
رابط "
للإتصال "ابق سراً (في الصورة قمت بمسح هذه الحقول إلى حد كبير) ، لأن أي شخص يعرف قيمه سيكون قادرًا على استدعاء وظيفتك. وتدعو وظيفة بالرجوع - وهذا هو المزالق الذي ذكرته في بداية المقال - يتم اتهامهم. ولكن في مهارتنا ، سوف نسمي الوظيفة بطريقة أخرى - من خلال معرفها. هذه المكالمات ستكون مجانية!
Yandeks.Dialogi
نذهب إلى
وحدة تحكم مطور Yandex.Dialogs ، ونخلق مهارة جديدة (ولكن باسم مختلف - "
بائع Bitrix " موجود بالفعل!) ، وفي علامة التبويب "
الإعدادات " ، في قسم "
الخلفية " ، حدد "
الوظيفة في Yandex.Cloud " ، ومن في القائمة المنسدلة ، حدد معرف وظيفتنا:

نحن نملأ جميع الحقول الأخرى ونحفظ ونذهب إلى علامة تبويب الاختبار. يجب أن يبدو شيء مثل هذا:

نرسل مهارتنا إلى الاعتدال ، ثم ننشرها ونستخدمها: نعرضها للأصدقاء والعملاء المحتملين ، والأهم من ذلك - نحن نطور المشروع أكثر في هذا الاتجاه.
استنتاج
على الرغم من أن مهارتنا تطلق على نفسها اسم
البائع الفائق ، إلا أن البائع غبي إلى حد ما. أعطه اسمًا واحدًا - سيطلب اسمه الأخير (هذا جيد). ستعطيه الاسم الأخير - والآن سيطلب الاسم (لكن سامحني يا عزيزتي ، لقد اتصلت بك للتو!). كل هذا من حقيقة أنه لا يحفظ المعلومات الوسيطة التي يتلقاها من المستخدم (أي قبل إرسالها إلى
Bitrix24 ) ، وكذلك سياق المحادثة. هذا سيكون مقالي القادم. إذا كنت مهتمًا ، فقم بالتسجيل حتى لا تفوت أي شيء. يمكنك الاشتراك هنا أو في
Telegram . وأغادر إجازتي منه.
التحديث اعتبارًا من 25 كانون الأول (ديسمبر) 2019: تم نشر مقال "
Alice يتذكر كل شيء " ، والذي يتناول قضايا الحفاظ على المعلومات وسياق المحادثة.
دوناتا
