← Назад
#!/bin/bash cd /home/app/arbitrage # Check BeMob conversions via report API CONVERSIONS=$(node -e " import 'dotenv/config'; import { get } from './bemob.js'; const now = new Date(); const from = new Date(now - 3600000).toISOString(); const to = now.toISOString(); try { const data = await get('/v1/report?groupBy[]=campaigns&from=' + encodeURIComponent(from) + '&to=' + encodeURIComponent(to) + '&columns[]=reports-visits&columns[]=reports-conversions&columns[]=reports-revenue'); const total = Array.isArray(data) ? data.reduce((sum, r) => sum + (r.conversions || 0), 0) : 0; console.log(total); } catch(e) { console.log('error'); } " 2>&1) # Get PopAds stats POPADS=$(node popads.js report today campaign 2>&1) IMPRESSIONS=$(echo "$POPADS" | grep -o '"impressions": [0-9]*' | head -1 | grep -o '[0-9]*') COST=$(echo "$POPADS" | grep -o '"cost": [0-9.]*' | head -1 | grep -o '[0-9.]*') if [ "$CONVERSIONS" = "0" ] || [ "$CONVERSIONS" = "error" ]; then # Pause campaign node popads.js pause 9402269 > /dev/null 2>&1 echo "$(TZ='America/Vancouver' date) | PAUSED | clicks: ${IMPRESSIONS:-?} | cost: \$${COST:-?} | conversions: 0" >> /home/app/arbitrage/stats.log echo "PAUSED - no conversions" else echo "$(TZ='America/Vancouver' date) | RUNNING | clicks: ${IMPRESSIONS:-?} | cost: \$${COST:-?} | conversions: $CONVERSIONS" >> /home/app/arbitrage/stats.log echo "OK - $CONVERSIONS conversions" fi