Inkitbu ħafna linji dwar l-integrazzjoni ta 'Telegram u 1C. Imma imkien ma rajt struzzjonijiet kompluti għall-installazzjoni u l-konfigurazzjoni tal-webhooks. Nipprova niktebha.
Għal dan kollu għandna bżonn (jew ikun aktar korrett li ngħid dak li ntuża minni):
- Apache 2.2.24
- OpenSSL (inkluż fl-installazzjoni ta' Apache)
- 1C (bil-moduli) server tal-web)
- Id-dominju tiegħek
- Bot maħluq f'Telegram (mhux se niddeskrivi l-ħolqien tiegħu, għax huwa pjuttost trivjali)
Huwa preżunt li għandek is-softwer kollu installat.
Allura, ejja nibdew billi tikseb ċertifikat. Iftaħ il-linja tal-kmand u esegwi l-kodiċi li ġej:
openssl req -newkey rsa:2048 -sha256 -nodes -keyout YOURPRIVATE.key -x509 -days 365 -out YOURPUBLIC.pem -subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=YOURDOMAIN.EXAMPLE"Fejn:
YOURPRIVATE.key hija ċ-ċavetta privata taċ-ċertifikat. Se jintuża fl-Apache
YOURPUBLIC.pem hija ċ-ċavetta pubblika taċ-ċertifikat. Se jintuża meta tirreġistra webhook
YOURDOMAIN.EXAMPLE - l-indirizz tad-dominju tiegħek b'webhook. Għandu jaqbel mal-indirizz tal-webhook!!!
Wara li tesegwixxi dan il-kodiċi, il-fajls ewlenin se jidhru fil-folder openssl (għalija huwa "C: Program FilesApache Software FoundationApache2.2bin").
I kkupjatihom fil-folder Apache conf.
Ejja ngħaddu għat-twaqqif ta' Apache.
Rajt ħafna modi differenti. Dan li ġej ħadem għalija:
Il-linji li ġejjin ġew miżjuda ma' httpd.conf:
Listen 443 sabiex Apache "jisma" l-port 443.
Blokk imnaqqas għall-forma li ġejja:
<IfModule ssl_module>
SSLMutex default
SSLSessionCache none
</IfModule>Fl-aħħar nett hemm linji miżjuda fejn nindika t-triq għaċ-ċertifikat:
SSLEngine On
SSLCertificateFile conf/YOURPUBLIC.pem
SSLCertificateKeyFile conf/YOURPRIVATE.keyU neħħi l-kumment tal-linja:
LoadModule ssl_module modules/mod_ssl.so Fil-konfigurazzjoni noħolqu servizz HTTP. Huwa hu li jwieġeb għat-telegramma u jipproċessa t-talbiet tiegħu.
Fil-każ tiegħi, il-parametri li ġejjin huma speċifikati:
Isem: TGWebhook
RootURL: webhook
Sessjonijiet ta' użu mill-ġdid: Tużax (bil-mod awtomatiku ma ħadimx għalija)
Ħin tal-ħajja: 20
Mudelli tal-URL: ħoloq mudell "Kull" b'żewġ metodi: GET u POST



Method handlers huma maħluqa awtomatikament. Ser inżid dan li ġej mal-manager tal-POST, biss biex niċċekkja l-konnessjoni:
Функция ЛюбойPOST(Запрос)
ВыслатьТестовоеСообщение(""); //chat_id
Ответ = Новый HTTPСервисОтвет(200);
Возврат Ответ;
КонецФункции
&НаСервере
Процедура ВыслатьТестовоеСообщение(Чат)
Сообщение = "Тестовое сообщение";
Токен = "";//Ваш токен telegram
Сервер = "api.telegram.org";
Ресурс = "bot" + Токен + "/sendMessage?chat_id=" + СтрЗаменить(Формат(Чат, "ЧДЦ=; ЧС=; ЧРГ=."), ".", "") + "&text=" + Сообщение;
Соединение = Новый HTTPСоединение(Сервер,443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос(Ресурс);
Ответ = Соединение.Получить(Запрос);
КонецПроцедурыJibqa' biss li tippubblika d-database u tehmeż webhook.
Il-pubblikazzjoni ssir bħal dejjem, għandek bżonn biss li żżid kaxxi ta' kontroll mal-pubblikazzjonijiet tas-servizz HTTP:

L-aħħar pass huwa li torbot l-1C tagħna ma' Telegram. Għal dan użajt paġna html sempliċi bil-kodiċi li ġej:
<html>
<body>
<form action="https://api.telegram.org/bot<ЗдесьДолженБытьТокен>/setwebhook" method="post" enctype="multipart/form-data">
Select Certificate to upload:
<input type="file" name="certificate" id="fileToUpload">
URL: <input type="text" name="url" value="https://<YOURWEBSITE>/<YOUR_PHP_URL>"><br>
<input type="submit" value="Upload Certificate" name="submit">
</form>
</body>
</html>Fil-formola, sempliċement agħżel iċ-ċavetta pubblika u daħħal it-triq sħiħa għas-servizz http tagħna. Ħa nfakkarkom li t-triq sħiħa għas-servizz se tidher bħal din:
Jekk jogħġbok taqbadx il-kodiċi, xi affarijiet huma kodifikati deliberatament, għax... dan kollu sar biss għal skopijiet ta’ dimostrazzjoni.
Il-pubblikazzjoni nkiteb għax Ma sibtx eżempju ta 'ħidma wieħed ta' ħidma ma 'webhooks fuq is-sit, ħlief għat-Telegram Bot Constructor. Iżda huwa mħallas u forsi mhux kulħadd għandu bżonnha f'din il-forma.
L-arkivju fih l-installazzjoni ta 'Apache 2.2.24 flimkien ma' Openssl (għal xi raġuni domt ħafna żmien biex insibha), fajl html għar-reġistrazzjoni ta 'webhook, fajl ta' konfigurazzjoni Apache u konfigurazzjoni cf b'servizz http u eżempju li tibgħat messaġġ tat-test. It-tniżżil mhux meħtieġ, għax Il-kontenut kollu jinsab fl-artiklu.
Sors: www.habr.com
