Telegramma + 1C + Webhooks + Apache + Ċertifikat iffirmat minnu nnifsu

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):

  1. Apache 2.2.24
  2. OpenSSL (inkluż fl-installazzjoni ta' Apache)
  3. 1C (bil-moduli) server tal-web)
  4. Id-dominju tiegħek
  5. 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.key

U 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

Telegramma + 1C + Webhooks + Apache + Ċertifikat iffirmat minnu nnifsu

Telegramma + 1C + Webhooks + Apache + Ċertifikat iffirmat minnu nnifsu

Telegramma + 1C + Webhooks + Apache + Ċertifikat iffirmat minnu nnifsu

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:

Telegramma + 1C + Webhooks + Apache + Ċertifikat iffirmat minnu nnifsu

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:

YourDomain/DatabaseName/hs/ServiceName/v1

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

Ixtri hosting affidabbli għal siti bi protezzjoni DDoS, servers VPS VDS 🔥 Ixtri hosting ta' websajts affidabbli bi protezzjoni DDoS, servers VPS VDS | ProHoster