fb-spend-automation MVP
Input: google doc
goal:
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅Ρ Π·Π°ΡΡΠ°Ρ Π² ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ°Ρ Facebook. Π’Π°ΠΊ ΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠ΅ΡΠ½ΠΎΡΡΡ ΠΏΠΎ Π·Π°ΡΡΠ°ΡΠ°ΠΌ Π² ΡΠ°Π·ΡΠ΅Π·Π΅ ΠΌΠ΅Π΄ΠΈΠ°Π±Π°Π΅ΡΠΎΠ².
Glossary
- facebook Π°Π³Π΅Π½ΡΡΡΠ²ΠΎ (ΠΠ³Π΅Π½ΡΡΠ²ΠΎ): ΡΡΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Ρ ΠΎΠ»Π΄Π΅Ρ ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ Π±ΠΈΠ·Π½Π΅Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ. ΠΠ»Ρ Π½Π°Ρ ΡΡΠΎ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π² Facebook, ΡΠ΅ΡΠ΅Π· Π½ΠΈΡ ΠΌΡ ΠΏΠΎΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π±Π°Π»Π°Π½ΡΡ, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π±Π°Π»Π°Π½ΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ Π±Π°Π»Π°Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°ΠΌΠΈ
- facebook Π±ΠΈΠ·Π½Π΅Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ (ΠΠ): ΡΡΠΎ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ° ΠΠ Π²Π½ΡΡΡΠΈ Facebook. ΠΠ°ΠΆΠ΄ΡΠΉ Π°Π³Π΅Π½ΡΡΠΊΠΈΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ Π±Π°Π»Π°Π½Ρ, ΡΠ²ΠΎΠΈ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΠ΅ Π°ΡΡΠ΅ΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΠ½ΡΡΡΠΈ Π½Π΅Π³ΠΎ ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
- Π±Π°Π΅Ρ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΠ. ΠΡ Π²ΡΠ΄Π°Π΅ΠΌ ΠΠ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ Π±Π°Π΅ΡΠ°ΠΌ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΠΊΠ»Π°ΠΌΡ.
- facebook api: Π² Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌ Facebook Marketing API, ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΌΡ ΡΠ΅ΡΠ΅Π· GraphQL ΠΊΠ»ΡΡ.
Userstories
ΡΠΈΠ½ ΠΎΡΠ΄Π΅Π»
Ρ ΠΊΠ°ΠΊ ΡΠΈΠ½Π°Π½ΡΠΈΡΡ Ρ ΠΎΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ:
- ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠ΅ΠΉΡΠ±ΡΠΊ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠΎΠ², ΠΊΠ°ΠΊΠΎΠΉ Ρ ΠΌΠ΅Π½Ρ ΠΎΡΡΠ°ΡΠΎΠΊ Π±Π°Π»Π°Π½ΡΠ° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅
- ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ Π½Π΅ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΡΠ°ΡΠΎΠΊ (ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π·Π°Π±ΡΠ°ΡΡ)
- ΠΊΠ°ΠΊΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΎΡΡΠ°ΡΠΎΠΊ Π±Π°Π»Π°Π½ΡΠ° (ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΏΠΎΠ»Π½ΠΈΡΡ)
- Ρ ΠΎΡΡ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠΊΠ°ΠΌΠΈ Π²Π½Π΅ΡΡΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅ (ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠ°)
admin
Ρ ΠΊΠ°ΠΊ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ:
- Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ Π½ΠΎΠ²ΡΠ΅ Π°Π³Π΅Π½ΡΡΠΊΠΈΠ΅ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ FB
- Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ Π½ΠΎΠ²ΡΠ΅ Π±ΠΈΠ·Π½Π΅Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ FB (ΡΠΎΠΊΠ΅Π½ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°, ΠΏΡΠΎΠΊΡΠΈ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΡ)
- ΠΏΡΠΎΠ²Π΅ΡΡΡ ΡΡΠΎ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ
- ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠΎΠΊΠ΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠΎΠ² ΠΊ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°ΠΌ, Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ
- ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π°Π³Π΅Π½ΡΡΠ² ΠΈ Π±Π°Π΅ΡΠΎΠ² (ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΈ Ρ.ΠΏ.)
Π±Π°Π΅Ρ
Ρ ΠΊΠ°ΠΊ Π±Π°Π΅Ρ:
- Ρ ΠΎΡΡ Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΡΠ΅ΡΡ ΠΏΠΎ Π·Π°ΡΡΠ°ΡΠ°ΠΌ ΡΠ²ΠΎΠΈΡ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠΎΠ²
- Ρ ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ ΠΌΠΎΠΈΡ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠΎΠ²
Entities
Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅:
Agency
ΠΠ³Π΅Π½ΡΡΡΠ²ΠΎ:
- created_at: Π΄Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ (Π² utc-0)
- updated_at: Π²ΡΠ΅ΠΌΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- contact_email: ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Ρ Π΅-ΠΌΠ΅ΠΉΠ»ΠΎΠΌ
- contact_tg: ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Ρ tg nickname
- notes: ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅
- status: ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ°ΡΡΡ Π°Π³Π΅Π½ΡΡΡΠ²Π° Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π² ΡΡΡΠ½ΡΡ (ΡΠ΅ΡΡ, Π°ΠΊΡΠΈΠ²Π½ΠΎ, Π°ΡΡ ΠΈΠ²)
bm_account
ΠΠ Π°ΠΊΠΊΠ°ΡΠ½Ρ:
- created_at: Π΄Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ (Π² utc-0)
- updated_at: Π²ΡΠ΅ΠΌΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- agency: ΠΊΠ°ΠΊΠΎΠΌΡ Π°Π³Π΅Π½ΡΡΡΠ²Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π°ΠΊΠΊΠ°ΡΠ½Ρ
- bmID: ΠΈΠ΄ ΠΠ Π²Π½ΡΡΡΠΈ facebook
- accessToken: ΡΠΎΠΊΠ΅Π½ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Π°ΠΏΠΈ ΡΠ΅ΠΉΡΠ±ΡΠΊ
- proxy: proxy con string, Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π°ΠΏΠΈ
- notes: Π·Π°ΠΌΠ΅ΡΠΊΠΈ ΠΊ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ
ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
- last_sync_at: Π΄Π°ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
- status: ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ°ΡΡΡ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ°
- buyer: ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠΌ Π±Π°Π΅Ρ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ
spend
ΡΠΏΠ΅Π½Π΄Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅
- created_at: Π΄Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ
- date: Π΄Π°ΡΠ° Π·Π° ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ³ΡΡΠΆΠ°Π΅ΡΡΡ ΡΠΏΠ΅Π½Π΄ (ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ Π΄Π°ΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΠ½ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΎΠΊ)
- ba: Ρ ΠΊΠ°ΠΊΠΈΠΌ Π±ΠΈΠ·Π½Π΅Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠΌ ΡΠ²ΡΠ·Π°Π½ ΡΠΏΠ΅Π½Π΄
- type: ΡΠΈΠΏ ΡΠΏΠ΅Π½Π΄Π° (initial - Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ, manual - ΡΡΠΊΠ°ΠΌΠΈ, api - ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ΅Π· api)
- user: ΠΊΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΡΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ initial
- amount: ΡΡΠΌΠΌΠ° ΡΠΏΠ΅Π½Π΄Π°
- currency: Π²Π°Π»ΡΡΠ° Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠ΅Π½Π΄
balances
Π±Π°Π»Π°Π½ΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅
- created_at: Π΄Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ
- date: Π΄Π°ΡΠ° Π·Π° ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ Π±Π°Π»Π°Π½Ρ
- ba: Ρ ΠΊΠ°ΠΊΠΈΠΌ Π±ΠΈΠ·Π½Π΅Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠΌ ΡΠ²ΡΠ·Π°Π½Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π±Π°Π»Π°Π½ΡΠ°
- type: ΡΠΈΠΏ Π±Π°Π»Π°Π½ΡΠ° (initial - Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ, manual - ΡΡΠΊΠ°ΠΌΠΈ, api - ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ΅Π· api)
- user: ΠΊΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΡΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ initial
- amount: ΡΡΠΌΠΌΠ°
- currency: Π²Π°Π»ΡΡΠ° Π±Π°Π»Π°Π½ΡΠ°
inquires
Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°ΠΌΠΈ
- created_at: Π΄Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ
- date: Π΄Π°ΡΠ° Π·Π° ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅
- type: api, manual
- action: ΠΊΠ°ΠΊΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ (block, withdrawal_requested, withdrawal_completed)
- value: ΡΡΠΌΠΌΠ° Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ, ΡΡΠΌΠΌΠ° Π·Π°ΠΏΡΠΎΡΠ° Π½Π° Π²ΡΠ²ΠΎΠ΄, ΡΡΠΌΠΌΠ° Π²ΡΠ²ΠΎΠ΄Π° β Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°
- user: ΠΊΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΡΡΠ½ΠΎΠ΅
currencies
- name: ΠΈΠΌΡ Π²Π°Π»ΡΡΡ
- denomination: ΡΠ΅ΠΉΡΠ±ΡΠΊ ΡΡΡΠ΅ΠΌΠΈΡΡΡ ΠΎΡΠ΄Π°Π²Π°ΡΡ Π²Π°Π»ΡΡΡ Π²ΠΎ float, ΡΡΠΎ Π½Π΅ ΠΎΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π»ΡΡΡΠ΅ Π·Π°Π²Π΅Π΄Π΅ΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ Π΄Π΅Π½ΠΎΠΌΠΈΠ½Π°ΡΠΈΠΉ ΠΈ Π±ΡΠ΄Π΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ int.
users
- name: ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- email: Π΅ΠΌΠ΅ΠΉΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- created_at: Π΄Π°ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
- updated_at: Π΄Π°ΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
- role: ΡΠΎΠ»Ρ, bayer, admin, fin
bm_users
- created_at: Π΄Π°ΡΠ° ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ
- bm: ΠΊΠ°ΠΊΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ
- buyer: ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ Π±Π°Π΅ΡΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½
- user: ΠΊΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ
sync requests
Π»ΠΎΠ³ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Π°ΠΏΠΈ facebook
- created_at: ΠΊΠΎΠ³Π΄Π°
- bm: ΠΊΠ°ΠΊΠΎΠΉ ΠΠ
- apiKey: ΠΊΠ°ΠΊΠΎΠΉ Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π°ΠΏΠΈ ΠΊΠ»ΡΡ
- proxy: ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΎΠΊΡΠΈ
- url: ΠΊΡΠ΄Π° ΡΡΡΡΠ°Π»ΠΈΡΡ
- payload: ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ»ΠΈ
- responceStatus: ΡΡΠ°ΡΡΡ ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ°
- responceBody: ΡΠ°ΠΌ ΠΎΡΠ²Π΅Ρ
- errorDescription: ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π±ΡΠ»Π°
ΠΠ°ΠΆΠ½ΠΎ:
- Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΠ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΊ Π½Π΅ΠΌΡ Π±Π°Π΅Ρ. ΠΠΎΡΠ»Π΅ ΡΠΌΠ΅Π½Ρ Π±Π°Π΅ΡΠ° Π·Π°ΡΡΠ°ΡΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° ΡΡΠ°ΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠ°ΡΡΡΡ Π² ΠΎΡΡΠ΅ΡΠ΅ ΡΡΠ°ΡΠΎΠ³ΠΎ Π±Π°Π΅ΡΠ°, Π° Π½ΠΎΠ²ΡΠ΅ Π·Π°ΡΡΠ°ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΏΠ°ΡΡΡ Π² Π·Π°ΡΡΠ°ΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π±Π°Π΅ΡΠ°.
- Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΡΡΡΠ½Π°Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠ°. ΠΡΠ»ΠΈ ΡΠΈΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π» ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΡ, Π° ΠΏΠΎΡΠ»Π΅ Π½Π΅Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° Π²ΡΠ³ΡΡΠ·ΠΊΠ° ΠΈΠ· Π°ΠΏΠΈ - ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ.
- Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π°Π»Π°Π½ΡΠ°, Ρ.ΠΊ. ΠΏΡΠΈ ΠΏΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π±Π°Π»Π°Π½ΡΠ° ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΡΡΠ°ΡΠ΅Π½ Π΄ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ
- ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ? ΠΡΠΊΡΠ΄Π° ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π±Π°Π΅ΡΠΎΠ²? ΠΠ°ΠΊ Π½Π°Π·Π½Π°ΡΠ°ΡΡ Π±Π°Π΅ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π² ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅?
ΠΡΡΠ΅ΡΡ
ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΡΠ΅ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΈΠΌΠ΅ΡΡ:
bm statuses
| agency | bmid | balance | 24h spend | currency | last_sync | status |
|---|---|---|---|---|---|---|
| Π±Π΅Π»ΡΠ΅ ΠΊΡΠΎΠ»ΠΈΠΊΠΈ | 198320993 | 500 | 30 | usd | today | active |
| ΡΠ΅ΡΡΠ΅ ΠΊΡΠΎΠ»ΠΈΠΊΠΈ | 892434593 | 100 | 0 | cad | 7 days ago | blocked |
| ΡΠ΅ΡΡΠ΅ ΠΊΡΠΎΠ»ΠΈΠΊΠΈ | 643765284 | 50 | 0 | try | 10 days ago | blocked |
spend (Ρ ΡΠΈΠ»ΡΡΡΠΎΠΌ Π·Π° ΠΏΠ΅ΡΠΈΠΎΠ΄ - last 7 days)
| buyer | bmid | spend | currency |
|---|---|---|---|
| ΠΠ°ΡΡ | 892434593 | 1000 | cad |
| ΠΠ΅ΡΡ | 198320993 | 1000 | usd |
| ΠΠ΅ΡΡ | 892434593 | 10 | usd |
| (ΠΠ΅ΡΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Π» ΠΏΠΎΡΠ·Π°ΡΡ ΠΠ Π΄ΠΎ ΠΠ°ΡΠΈ) |
inquires status
| agency | bmid | status |
|---|---|---|
| ΡΠ΅ΡΡΠ΅ ΠΊΡΠΎΠ»ΠΈΠΊΠΈ | 892434593 | withdrawal_requested |
| ΡΠ΅ΡΡΠ΅ ΠΊΡΠΎΠ»ΠΈΠΊΠΈ | 643765284 | withdrawal_completed |
sync log
| date | bm | api key | proxy | url | payload | responce status | responce body | error description |
|---|---|---|---|---|---|---|---|---|
| 2026.01.31 12:12 | 892434593 | xxx | xx:[email protected]:233 | https://fb.com/api | β¦ | 200 | β¦ | |
| 2026.01.31 12:11 | 892434593 | xxx | xx:[email protected]:233 | https://fb.com/api | β¦ | 504 | β¦ | proxy timout |
todo: Π΄ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΡΡΠ΅ΡΠΎΠ² ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½ΡΠΆΠ½Ρ
Technical decisions
ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π°ΠΏΠΈ fb ΠΌΠΎΠΆΠ΅Ρ Π»Π΅ΠΆΠ°ΡΡ, Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Ρ.ΠΏ. - ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ workflows Π½Π° temporal
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ workflows ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π² BQ ΠΈΠ»ΠΈ PG. Π’Π°ΠΊ ΠΆΠ΅ Π² Π½Π΅ΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΎΡΡΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ Π°Π»Π΅ΡΡΠΎΠ² (Π½Π° ΡΡΠ°ΠΏΠ΅ mvp ΡΡΠΎ out of scope).
ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ MetaBase.
ΠΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΡΠ°Π±Π»ΠΈΡ ΠΈΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½ΡΠ΅ β ΡΠΎ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ append only.
ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π²Π΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΡ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ sveltekit + betterauth Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ.
mocks
Π ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠΊΠΈ ΡΡΡ
ΠΠΊΡΠ°Π½Ρ
- Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ
- ΡΠ±ΡΠΎΡ ΠΏΠ°ΡΠΎΠ»Ρ
- Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠΎΠ»Ρ
- ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π³Π΅Π½ΡΡΡΠ²Π°ΠΌΠΈΠΈ
- ΡΠΏΠΈΡΠΎΠΊ Π°Π³Π΅Π½ΡΡΠ²
- ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π³Π΅Π½ΡΡΡΠ²Π°
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π³Π΅Π½ΡΡΡΠ²Π°
- ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΠ
- ΡΠΏΠΈΡΠΎΠΊ ΠΠ
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΠ
- ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠ
- ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ (Π°Π΄ΠΌΠΈΠ½)
- ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
- Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- ΡΠΎΡΠΌΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- ΡΠ°Π·Π΄Π΅Π» ΠΎΡΡΠ΅ΡΡ
- bm statuses (Π²ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΡΠΈΠ»ΡΡΡ ΠΏΠΎ ΡΠ΅Π±Π΅ Π΄Π»Ρ Π±Π°Π΅ΡΠΎΠ²)
- spend (Π²ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΡΠΈΠ»ΡΡΡ ΠΏΠΎ ΡΠ΅Π±Π΅ Π΄Π»Ρ Π±Π°Π΅ΡΠΎΠ²)
- inquires status (Π°Π΄ΠΌΠΈΠ½Ρ, ΡΠΈΠ½Π°Π½ΡΠΈΡΡΡ)
- sync log (Π°Π΄ΠΌΠΈΠ½Ρ)
- ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΠ (Π°Π΄ΠΌΠΈΠ½Ρ)
- ΡΠΏΠΈΡΠΎΠΊ Π±ΠΌ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π±Π°Π΅ΡΠ°
- ΡΠΎΡΠΌΠ° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±Π°Π΅ΡΠ°