Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° C#
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
ΠΠ΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΠΎΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠΎΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ: Python Fullstack-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Emitly β ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ ΠΈΠ½Π²Π΅ΡΡΠΎΡΠΎΠ², Π°Π³ΡΠ΅Π³ΠΈΡΡΡΡΠΈΠΉ Π½ΠΎΠ²ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΌ ΡΠΌΠΈΡΠ΅Π½ΡΠ°ΠΌ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠΎΠ΄ΡΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ, Telegram-Π±ΠΎΡΠ° ΠΈ ΠΌΠΈΠ½ΠΈ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΡΠ΅ΠΉΠ΄Π΅ΡΠ°ΠΌ ΠΈ ΠΈΠ½Π²Π΅ΡΡΠΎΡΠ°ΠΌ Π±ΡΡΡΡΠ΅Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° ΡΡΠ΅Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ Π½Π° Π½ΠΎΠ²ΠΎΡΡΠΈ, Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΠ°. ΠΡΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΡΠ΅Π»ΠΈΠΊΠΎΠΌ β ΠΎΡ Π±ΡΠΊΠ΅Π½Π΄Π° ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠΎΠ² Π΄ΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΡ. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ 1. ΠΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Python ΠΎΡ 2 Π»Π΅Ρ, ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΠ΅ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ FastAPI 2. ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ PostgreSQL, ΡΠΌΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡ
Π΅ΠΌΡ Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ 3. ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Redis Π΄Π»Ρ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ 4. ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Celery Π΄Π»Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ
ΠΈ ΡΠΎΠ½ΠΎΠ²ΡΡ
Π·Π°Π΄Π°Ρ 5. ΠΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° React ΠΈ TypeScript, ΡΠΌΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΡΡΠ°ΡΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ΄ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° 6. ΠΠΏΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Linux-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΠ΅ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ 7. ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Docker ΠΈ Docker Compose, ΡΠΌΠ΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ 8. ΠΠΏΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Nginx, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, SSL ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ 9. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°ΠΉΡΠ²ΠΎΠ»Π°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ°, Π·Π°ΡΠΈΡΠ° ΠΎΡ ΡΠΈΠΏΠΎΠ²ΡΡ
Π°ΡΠ°ΠΊ 10. ΠΠΏΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΌΠ΅Π½ΠΈΠ΅ Π±ΡΡΡΡΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΡΡΡΠ°Π½ΡΡΡ ΡΠ±ΠΎΠΈ 11. ΠΠΏΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΠ΅Π² 12. ΠΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Telegram-Π±ΠΎΡΠΎΠ² ΠΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠ»ΡΡΠΎΠΌ 1. ΠΠΏΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΠ΅Π²ΡΡ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡΠ΅ΡΠ΅Π· Ollama 2. ΠΠΏΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΠΊΡΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ LLM, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΡΠΎΠΌΠΏΡ-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΎΠ² Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° 3. ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΡΡΠ΅ΡΠ°ΠΌΠΈ Π½ΠΎΠ²ΠΎΡΡΠ½ΡΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ
Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ 4. ΠΠΏΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΡΠ½ΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ-ΠΌΠΎΠ΄Π΅Π»ΡΡ 5. ΠΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»Π΅ΠΉ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΡΠ΅ΡΠ°ΡΡ 1. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠΊΠ΅Π½Π΄Π° Π½Π° FastAPI, Π²ΠΊΠ»ΡΡΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΡ Π½ΠΎΠ²ΠΎΡΡΠ½ΠΎΠΉ Π»Π΅Π½ΡΡ, ΠΏΠ°ΡΡΠ΅ΡΠΎΠ², ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ ΠΈ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ 2. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ° Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»ΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ 3. ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Telegram-Π±ΠΎΡΠ° ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ 4. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° Π½Π° React ΠΈ TypeScript, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° 5. ΠΠ΅ΠΏΠ»ΠΎΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π½Π° Linux-ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π· Docker Compose 6. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Nginx, Π²ΠΊΠ»ΡΡΠ°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, SSL-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ 7. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ 8. ΠΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΠ΅Π², ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΡΠΎΠ΅Π² 9. ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠΏΡΡΠ°, ΡΡΠ°ΡΡΠΈΠ΅ Π² ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π½Π΅ΠΉΡΠΎΡΠ΅ΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π· Ollama Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π§ΡΠΎ ΠΌΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ 1. Π Π°Π±ΠΎΡΡ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅ Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΈ ΡΠ°ΡΡΡΡΠ΅ΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠ΅ΠΉ ΠΈΠ½Π²Π΅ΡΡΠΎΡΠΎΠ² ΠΈ ΡΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ² 2. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π»ΠΈΡΡΡ Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ 3. Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ°Π±ΠΎΡΡ 4. ΠΡΡΠΌΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±Π΅Π· Π»ΠΈΡΠ½Π΅ΠΉ Π±ΡΡΠΎΠΊΡΠ°ΡΠΈΠΈ.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° C#
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
back. ΠΠΎΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ API VK Π Π΅ΠΊΠ»Π°ΠΌΡ (Promoos) 1. Π¦Π΅Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ API VK Π Π΅ΠΊΠ»Π°ΠΌΡ (Π±Π°Π·Π° https://ads.vk.ru/api/v2/, Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ myTarget API) Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ SaaS-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Promoos. ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°ΡΡ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΡΠ΅ΡΡΡΡΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌ: 1. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ Π΅Ρ ΡΡΡΡΠΊΡΡΡΠ°. 2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ, Π³ΡΡΠΏΠΏ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ). 3. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π±Π°Π»Π°Π½ΡΠ° ΠΈ Π»ΠΈΠΌΠΈΡΠΎΠ². 4. ΠΠ±ΡΠ°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° OAuth-Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ API. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ β Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ²/ΠΎΡΠ²Π΅ΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠ½ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. 2. ΠΠ±ΡΠ΅ΠΊΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ β’ ΠΠ°Π·ΠΎΠ²ΡΠΉ URL: https://ads.vk.ru/api/v2/ β’ ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ: ads.vk.ru/doc/api (ΠΎΡΠΊΡΡΡΠ°) 3. ΠΠ°Π΄Π°ΡΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ 3.1. Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° () Π§ΡΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ: 1. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ΅ΡΠ΅Π· GET /statistics/{object_type}/{period}.json (). o object_type β ad_plans (ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΈ), ad_groups (Π³ΡΡΠΏΠΏΡ), banners (ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ). o period β day (ΠΏΠΎ Π΄Π½ΡΠΌ), summary (ΡΡΠΌΠΌΠ°ΡΠ½ΠΎ Π·Π° ΠΏΠ΅ΡΠΈΠΎΠ΄), overall (ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ). o ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: date_from, date_to (ΡΠΎΡΠΌΠ°Ρ YYYY-MM-DD), ids (ΡΠΏΠΈΡΠΎΠΊ ID), metrics (Π³ΡΡΠΏΠΏΠ° ΠΌΠ΅ΡΡΠΈΠΊ) (). o ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ: Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 92 Π΄Π½Π΅ΠΉ ΠΈ 200 ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ (). 2. ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ (): o ΠΠ°Π·ΠΎΠ²ΡΠ΅ (base): shows, clicks, amount (ΡΠ°ΡΡ
ΠΎΠ΄), ctr, cpm. o Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ (uniques): total (ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π·Π° Π²ΡΡ Π²ΡΠ΅ΠΌΡ), increment (Π½ΠΎΠ²ΡΠ΅ Π·Π° ΠΏΠ΅ΡΠΈΠΎΠ΄), frequency. o ΠΠΈΠ΄Π΅ΠΎ (video): started, viewed_10_seconds, viewed_25_percent, viewed_50_percent, viewed_75_percent, viewed_100_percent, depth_of_view (ΡΡΠ΅Π΄Π½ΡΡ Π³Π»ΡΠ±ΠΈΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ°), view_10_seconds_cost ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠ² (). o ΠΠ°ΡΡΡΠ΅Π»Ρ: slide_N_shows, slide_N_clicks, slide_N_ctr (ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π°ΠΉΠ΄Ρ) (). o ΠΠΈΠ΄ΠΈΠΌΠΎΡΡΡ (Moat): in_view (Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ), never_visible, active_in_view_time (ΡΡΠ΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π² Π·ΠΎΠ½Π΅ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ), attention_quality (). o ROMI: value (ΡΠ΅Π½Π½ΠΎΡΡΡ ΡΠΎΠ±ΡΡΠΈΡ), romi (Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΉ) (). o ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΏΠΈΡΠ°Π½ΠΈΡ (tps): tps (Π·Π° Moat), tpd (Π·Π° ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅) (). o Playable Ads: playable_game_open, playable_game_close, playable_call_to_action (). 3. Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎ ΠΏΠ°ΡΡΠ½ΡΡΡΠΊΠΈΠΌ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ°ΠΌ: GET /statistics/partner/pads/day.json β Π²ΡΡΡΠ½ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΠΏΠΎ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ°ΠΌ ΠΈ Π³ΡΡΠΏΠΏΠ°ΠΌ ΠΏΠ»ΠΎΡΠ°Π΄ΠΎΠΊ (). 4. Π€ΠΎΡΠΌΠ°Ρ ΠΎΡΠ²Π΅ΡΠ°: ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ
JSON-ΠΎΡΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ°ΡΡΠΈΠ½Π³Π°. 5. Π§Π°ΡΡΠΎΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ: ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, Ρ ΠΊΠ°ΠΊΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠΊΠ°Π·Π° ΡΠ΅ΠΊΠ»Π°ΠΌΡ. 3.2. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ () Π§ΡΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ (): 1. ΠΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΈ: o ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΊΡΠ΅Π°ΡΠΈΠ²Π°: vk_upload_image (ΠΈΠ»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ½Π΄ΠΏΠΎΠΈΠ½Ρ) β ΠΊΠ°ΠΊ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ Content.id Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π±Π°Π½Π½Π΅ΡΠ΅. o ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ: vk_get_packages β ΠΏΠΎΠ»ΡΡΠΈΡΡ package_id, Π΅Π³ΠΎ objective ΠΈ banner_fields (ΡΠ»ΠΎΡΡ Π΄Π»Ρ content, textblocks, urls), ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΡΠ΅ΠΊΠ»Π°ΠΌΡ (). o Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΈ (ad_plan): POST /ad_plans.json β ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (name), ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ (budget_limit, date_start). o Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏΡ (ad_group): POST /ad_groups.json β ΡΡΠ΅Π±ΡΠ΅Ρ ad_plan_id, name, package_id, ΡΡΡΡΠΊΡΡΡΡ targetings (ΡΠ°ΡΠ³Π΅ΡΠΈΠ½Π³). Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ banners[] Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ (). o Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π½Π½Π΅ΡΠ° (banner): POST /banners.json β ΡΡΠ΅Π±ΡΠ΅Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΡΡ
ΠΊΠ°ΡΡ ΡΠ»ΠΎΡΠΎΠ²: content (Ρ id Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΡΠ΅Π°ΡΠΈΠ²Π°), textblocks, urls. Π€ΠΎΡΠΌΠ°Ρ ΡΡΠΈΡ
ΠΊΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ package_id (). 2. Π‘ΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (): o status (ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ): active, blocked (ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½), deleted. o moderation_status (ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π½ΠΈΠ΅): allowed, banned, pending. ΠΠ»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ/ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² vk_remoderate_banners (). 3. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (): ΠΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π±Π°Π½Π½Π΅ΡΠ° ΡΠ΅ΡΠ΅Π· vk_update_banner ΡΠ΅ΠΊΡΠΈΠΈ (content, textblocks, urls) ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ, Π° Π½Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡΡΡ. 4. ΠΠ°ΡΡΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: vk_mass_action_ad_plans, vk_mass_action_ad_groups, vk_mass_action_banners β ΠΌΠ°ΡΡΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΡΠΊ/ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ°/ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ (). 5. Π§Π΅ΡΠ½ΠΎΠ²ΠΈΠΊΠΈ: ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΡΡΠ°ΡΡΡΠ΅, ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΌ ΠΎΡ blocked (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, draft). ΠΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ
ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊΠΎΠ² Π½Π΅Ρ β ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ blocked, Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π·Π°ΡΠ΅ΠΌ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ (active) ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ (). 3.3. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π±Π°Π»Π°Π½ΡΠ° ΠΈ Π»ΠΈΠΌΠΈΡΠΎΠ² Π§ΡΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ: 1. ΠΠ°Π»Π°Π½Ρ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ°: GET /user.json (ΠΏΠΎΠ»Π΅ account.balance) β Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈ Π²Π°Π»ΡΡΠ°. Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ scope read_payments (). 2. ΠΠΈΠΌΠΈΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²: GET /throttling.json β ΡΠ΅ΠΊΡΡΠΈΠ΅ Π»ΠΈΠΌΠΈΡΡ API ΠΈ ΠΎΡΡΠ°ΡΠΎΠΊ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΡ (). 3. Push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎ Π±Π°Π»Π°Π½ΡΠ΅: ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΈ API Π²Π΅Π±Ρ
ΡΠΊΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΠΏΡΡ-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΈΠ·ΠΊΠΈΠΉ Π±Π°Π»Π°Π½Ρ). Π‘ΡΠ΄Ρ ΠΏΠΎ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅, ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π½Π΅Ρ β Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ polling. 3.4. OAuth-Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ () Π§ΡΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ: 1. OAuth-ΡΠ»ΠΎΡ: ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΊ authorization_code (). o ΠΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° https://ads.vk.com/api/v2/oauth2/authorize Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ response_type=code, client_id, scope, redirect_uri. o ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ code (ΠΆΠΈΠ²ΡΡ 1 ΡΠ°Ρ) Π½Π° redirect_uri. o ΠΠ±ΠΌΠ΅Π½ code Π½Π° access_token ΠΈ refresh_token ΡΠ΅ΡΠ΅Π· POST /api/v2/oauth2/token.json Ρ grant_type=authorization_code (). 2. Scopes (ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°) (): o read_ads β ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ. o read_payments β ΡΡΠ΅Π½ΠΈΠ΅ Π±Π°Π»Π°Π½ΡΠ° ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. o create_ads β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ, Π³ΡΡΠΏΠΏ, Π±Π°Π½Π½Π΅ΡΠΎΠ² (). 3. Π‘ΡΠΎΠΊ ΠΆΠΈΠ·Π½ΠΈ ΡΠΎΠΊΠ΅Π½ΠΎΠ²: access_token ΠΆΠΈΠ²ΡΡ 86400 ΡΠ΅ΠΊΡΠ½Π΄ (24 ΡΠ°ΡΠ°), ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ refresh_token (). 4. ΠΠΈΠΌΠΈΡΡ (): o ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠΊΠ΅Π½ΠΎΠ²: Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 5 ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π½Π° ΠΏΠ°ΡΡ clientId ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (). o Π§Π°ΡΡΠΎΡΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ²: 2 RPS (Π·Π°ΠΏΡΠΎΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ), 5000 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΡΠ°Ρ (ΠΏΠΎ Π΄Π°Π½Π½ΡΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ). o Π Π΅ΡΡΠΈ: Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ Ρ Π±ΡΠΊΠΎΡΡΠΎΠΌ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
429 (ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ²) ΠΈ 5xx (). 5. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π³ΠΎΠ½ΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠΊΠ΅Π½Π°: ΠΡΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΡΠΎΠΊΠ΅Π½ΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ refresh_token ΠΈΠ· ΡΠ°Π·Π½ΡΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ². ________________________________________ 4. Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ: 1. Π‘ΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ (). 2. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ad_plan, ad_group, banner) Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΡ targetings, content, textblocks, urls (). 3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΡΠ΅Π°ΡΠΈΠ²ΠΎΠ² β ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ, ΡΠΎΡΠΌΠ°Ρ Π·Π°ΠΏΡΠΎΡΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Content.id. 4. Π‘Ρ
Π΅ΠΌΠ° ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π»Π°Π½ΡΠΎΠΌ ΠΈ Π»ΠΈΠΌΠΈΡΠ°ΠΌΠΈ β ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ, ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ² (). 5. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ OAuth-ΠΏΠΎΡΠΎΠΊΡ β ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π³ΠΎΠ² Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
scopes (). 6. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ API (ΠΏΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ°ΡΡΠΎΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠΎΠΊΠ΅Π½ΠΎΠ²) ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡ
ΠΎΠ±Ρ
ΠΎΠ΄Ρ (ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΡ, ΡΠ°Π½ΠΊΠΈΠ½Π³ ID) (). 7. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ: o ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π±Π°Π»Π°Π½ΡΠ° ΡΠ΅ΡΠ΅Π· polling ΠΈ Ρ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ. o ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊΠ°ΠΌΠΈ (ΡΠ΅ΡΠ΅Π· blocked ΡΡΠ°ΡΡΡ). o Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠΊΠΈ. 5. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ β’ Π’Π΅ΡΡΠΎΠ²ΡΠΉ Π΄ΠΎΡΡΡΠΏ: ΠΠ»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌΡ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠΌΡ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΡ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π±ΡΠ΄ΠΆΠ΅ΡΠΎΠΌ. β’ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ: ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ curl ΠΈΠ»ΠΈ Postman. ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ API ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, vk-ads-mcp), Π½ΠΎ ΡΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ (). β’ Π‘ΡΠΎΠΊΠΈ: ΠΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΡΠΎΠΊ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ β 3β5 ΡΠ°Π±ΠΎΡΠΈΡ
Π΄Π½Π΅ΠΉ (Ρ ΡΡΡΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ API).