Upload files to "/"
This commit is contained in:
@@ -0,0 +1,862 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\ThirdParty\facebook_api;
|
||||||
|
|
||||||
|
use CodeIgniter\CLI\CLI;
|
||||||
|
use CodeIgniter\Database\Config;
|
||||||
|
use CodeIgniter\Database\RawSql;
|
||||||
|
use DateTime;
|
||||||
|
use DateTimeZone;
|
||||||
|
|
||||||
|
class FBDB extends Config
|
||||||
|
{
|
||||||
|
private $db, $zenith;
|
||||||
|
private $sltDB;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->db = \Config\Database::connect('facebook');
|
||||||
|
$this->zenith = \Config\Database::connect();
|
||||||
|
// $this->db_query("SET FOREIGN_KEY_CHECKS = 0;");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 메인 계정에 대한 엑세스 토큰 로드
|
||||||
|
public function getAccessToken()
|
||||||
|
{
|
||||||
|
$sql = "SELECT access_token, ad_account_id FROM fb_ad_account WHERE is_admin = 1";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
$row = $result->getRowArray();
|
||||||
|
|
||||||
|
return $row;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 광고 계정 목록
|
||||||
|
public function getAdAccounts($perm = true, $query = "")
|
||||||
|
{
|
||||||
|
$sql = "SELECT * FROM fb_ad_account WHERE 1 AND status = 1";
|
||||||
|
if ($perm) {
|
||||||
|
$sql .= " AND perm = 1";
|
||||||
|
}
|
||||||
|
if ($query) {
|
||||||
|
$sql .= $query;
|
||||||
|
}
|
||||||
|
$sql .= " ORDER BY name DESC";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCampaign($campaign_id)
|
||||||
|
{
|
||||||
|
if (empty($campaign_id)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = "SELECT * FROM fb_campaign WHERE campaign_id = {$campaign_id}";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
$row = $result->getRowArray();
|
||||||
|
|
||||||
|
return $row;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAdset($adset_id)
|
||||||
|
{
|
||||||
|
if (empty($adset_id)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = "SELECT * FROM fb_adset WHERE adset_id = {$adset_id}";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
$row = $result->getRowArray();
|
||||||
|
|
||||||
|
return $row;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 광고 목록
|
||||||
|
public function getAds($query = '')
|
||||||
|
{
|
||||||
|
$sql = "SELECT ad_id, adset_id, ad_name, effective_status FROM fb_ad WHERE 1 {$query} ORDER BY update_date DESC";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAdsWithAccount($query = '')
|
||||||
|
{
|
||||||
|
$sql = "SELECT ad_id, adset_id, ad_name, effective_status FROM fb_ad_with_account WHERE 1 {$query} ORDER BY update_date DESC";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAdSetsWithAccount($selector = ['adset_id', 'campaign_id'], $query = '')
|
||||||
|
{
|
||||||
|
$select = implode(',', $selector);
|
||||||
|
$sql = "SELECT {$select} FROM fb_adset_with_account WHERE 1 {$query} ORDER BY update_date DESC";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCampaignsWithAccount($query = '')
|
||||||
|
{
|
||||||
|
$sql = "SELECT campaign_id, budget FROM fb_campaign_with_account WHERE 1 {$query} ORDER BY update_date DESC";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getLeadgenAds() {
|
||||||
|
$sql = "SELECT * FROM fb_ad WHERE (leadgen_id IS NOT NULL AND leadgen_id <> '')";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function updateAdAccounts($list)
|
||||||
|
{
|
||||||
|
if (empty($list)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty($list[0][0])){
|
||||||
|
$this->db->query("UPDATE fb_ad_account SET status = 0, disable_reason = 0, perm = 0 WHERE business_id = '{$list[0][0]}'");
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($list as $key => $row) {
|
||||||
|
if (empty($row)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = "INSERT INTO fb_ad_account (business_id, ad_account_id, name, funding_source, status, disable_reason, pixel_id, perm, update_time)
|
||||||
|
VALUES ('{$row[0]}', '{$row[1]}', '{$row[2]}', '{$row[3]}', {$row[4]}, {$row[5]}, {$row[6]}, 1, NOW())
|
||||||
|
ON DUPLICATE KEY
|
||||||
|
UPDATE name = '{$row[2]}', funding_source = '{$row[3]}', status = {$row[4]}, disable_reason = {$row[5]}, pixel_id = {$row[6]}, perm = 1, update_time = NOW();";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function insertAsyncInsights($lists)
|
||||||
|
{
|
||||||
|
foreach ($lists as $key => $report) {
|
||||||
|
if ($report['date_start'] != $report['date_stop']) continue;
|
||||||
|
$hour = ($report['date_start'] == date('Y-m-d')) ? date('H') : 23;
|
||||||
|
if(isset($report['hourly_stats_aggregated_by_audience_time_zone']))
|
||||||
|
$hour = preg_replace('/^([0-9]{2}).+$/', '$1', $report['hourly_stats_aggregated_by_audience_time_zone']);
|
||||||
|
$data = [
|
||||||
|
'ad_id' => $report['ad_id'],
|
||||||
|
'date' => $report['date_start'],
|
||||||
|
'hour' => $hour,
|
||||||
|
'impressions' => $report['impressions']??0,
|
||||||
|
'clicks' => $report['clicks']??0,
|
||||||
|
'inline_link_clicks' => $report['inline_link_clicks']??0,
|
||||||
|
'spend' => $report['spend']??0,
|
||||||
|
];
|
||||||
|
$builder = $this->db->table('fb_ad_insight_history');
|
||||||
|
$builder->setData($data);
|
||||||
|
$updateTime = ['update_date' => new RawSql('NOW()')];
|
||||||
|
$builder->updateFields($updateTime, true);
|
||||||
|
$result = $builder->upsert();
|
||||||
|
|
||||||
|
// 캠페인 저장
|
||||||
|
$data = [
|
||||||
|
'campaign_id' => $report['campaign_id'],
|
||||||
|
'campaign_name' => $report['campaign_name'],
|
||||||
|
'account_id' => $report['account_id']
|
||||||
|
];
|
||||||
|
$builder = $this->db->table('fb_campaign');
|
||||||
|
$builder->setData($data);
|
||||||
|
$updateTime = ['update_date' => new RawSql('NOW()')];
|
||||||
|
$builder->updateFields($updateTime, true);
|
||||||
|
$result = $builder->upsert();
|
||||||
|
|
||||||
|
// 광고세트 저장
|
||||||
|
$data = [
|
||||||
|
'adset_id' => $report['adset_id'],
|
||||||
|
'adset_name' => $report['adset_name'],
|
||||||
|
'campaign_id' => $report['campaign_id']
|
||||||
|
];
|
||||||
|
$builder = $this->db->table('fb_adset');
|
||||||
|
$builder->setData($data);
|
||||||
|
$updateTime = ['update_date' => new RawSql('NOW()')];
|
||||||
|
$builder->updateFields($updateTime, true);
|
||||||
|
$result = $builder->upsert();
|
||||||
|
// 광고 저장
|
||||||
|
$use_landing = 0;
|
||||||
|
if (preg_match('/\#[0-9\_]+.+\*[0-9]+.+\&[a-z]+.*/i', $report['ad_name'])) {
|
||||||
|
$use_landing = 1;
|
||||||
|
}
|
||||||
|
$data = [
|
||||||
|
'ad_id' => $report['ad_id'],
|
||||||
|
'ad_name' => $report['ad_name'],
|
||||||
|
'adset_id' => $report['adset_id'],
|
||||||
|
'use_landing' => $use_landing
|
||||||
|
];
|
||||||
|
$builder = $this->db->table('fb_ad');
|
||||||
|
$builder->setData($data);
|
||||||
|
$updateTime = ['update_date' => new RawSql('NOW()')];
|
||||||
|
$builder->updateFields($updateTime, true);
|
||||||
|
$result = $builder->upsert();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateAdCreatives($lists)
|
||||||
|
{
|
||||||
|
if (!is_array($lists) && !count($lists)) return;
|
||||||
|
foreach ($lists as $row) {
|
||||||
|
if (empty($row)) continue;
|
||||||
|
$data = [
|
||||||
|
'adcreative_id' => $row['adcreative_id'],
|
||||||
|
'ad_id' => $row['ad_id'],
|
||||||
|
'object_type' => $row['object_type']??null,
|
||||||
|
'thumbnail' => $row['thumbnail_url']??null,
|
||||||
|
'link' => $row['link']??null
|
||||||
|
];
|
||||||
|
$builder = $this->db->table('fb_adcreative');
|
||||||
|
$builder->setData($data);
|
||||||
|
$updateTime = ['update_date' => new RawSql('NOW()')];
|
||||||
|
$builder->updateFields($updateTime, true);
|
||||||
|
$result = $builder->upsert();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateAds($data)
|
||||||
|
{
|
||||||
|
$cnt = 0;
|
||||||
|
foreach ($data as $key => $report) {
|
||||||
|
$report['page'] = null;
|
||||||
|
$report['fb_pixel'] = null;
|
||||||
|
$report['post'] = null;
|
||||||
|
$created_time = null;
|
||||||
|
$updated_time = null;
|
||||||
|
if (!empty($report['tracking_specs'])) {
|
||||||
|
foreach ($report['tracking_specs'] as $list) {
|
||||||
|
foreach ($list as $key => $data) {
|
||||||
|
if ($key == 'page') {
|
||||||
|
$report['page'] = $list['page'][0];
|
||||||
|
}
|
||||||
|
if ($key == 'fb_pixel') {
|
||||||
|
$report['fb_pixel'] = $list['fb_pixel'][0];
|
||||||
|
}
|
||||||
|
if ($key == 'post') {
|
||||||
|
$report['post'] = $list['post'][0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$report['leadgen'] = null;
|
||||||
|
if (!empty($report['conversion_specs'])) {
|
||||||
|
foreach ($report['conversion_specs'] as $list) {
|
||||||
|
foreach ($list as $key => $data) {
|
||||||
|
if ($key == 'leadgen') {
|
||||||
|
$report['leadgen'] = $list['leadgen'][0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$created_time = $report['created_time'] && $report['created_time'] != '1970-01-01T08:59:59+0900' ? date('Y-m-d H:i:s', strtotime($report['created_time'])) : null;
|
||||||
|
$updated_time = $report['updated_time'] && $report['updated_time'] != '1970-01-01T08:59:59+0900' ? date('Y-m-d H:i:s', strtotime($report['updated_time'])) : null;
|
||||||
|
// $name = addslashes($report['name']);
|
||||||
|
$use_landing = 0;
|
||||||
|
if (preg_match('/\#[0-9\_]+.+\*[0-9]+.+\&[a-z]+.*/i', $report['name'])) {
|
||||||
|
$use_landing = 1;
|
||||||
|
}
|
||||||
|
$sql = "INSERT INTO fb_ad (
|
||||||
|
ad_id,
|
||||||
|
ad_name,
|
||||||
|
effective_status,
|
||||||
|
status,
|
||||||
|
fb_pixel,
|
||||||
|
page_id,
|
||||||
|
adset_id,
|
||||||
|
use_landing,
|
||||||
|
leadgen_id,
|
||||||
|
created_time,
|
||||||
|
updated_time,
|
||||||
|
create_date
|
||||||
|
) VALUES (
|
||||||
|
:ad_id:,
|
||||||
|
:name:,
|
||||||
|
:effective_status:,
|
||||||
|
:status:,
|
||||||
|
:fb_pixel:,
|
||||||
|
:page_id:,
|
||||||
|
:adset_id:,
|
||||||
|
:use_landing:,
|
||||||
|
:leadgen_id:,
|
||||||
|
:created_time:,
|
||||||
|
:updated_time:,
|
||||||
|
NOW()
|
||||||
|
) ON DUPLICATE KEY UPDATE
|
||||||
|
ad_name = :name:,
|
||||||
|
effective_status = :effective_status:,
|
||||||
|
status = :status:,
|
||||||
|
fb_pixel = :fb_pixel:,
|
||||||
|
page_id = :page_id:,
|
||||||
|
use_landing = :use_landing:,
|
||||||
|
leadgen_id = :leadgen_id:,
|
||||||
|
created_time = :created_time:,
|
||||||
|
updated_time = :updated_time:,
|
||||||
|
update_date = NOW()";
|
||||||
|
$result = $this->db->query($sql, [
|
||||||
|
'ad_id' => $report['id'],
|
||||||
|
'name' => $report['name'],
|
||||||
|
'effective_status' => $report['effective_status'],
|
||||||
|
'status' => $report['status'],
|
||||||
|
'fb_pixel' => $report['fb_pixel'] ?? '',
|
||||||
|
'page_id' => $report['page_id'] ?? '',
|
||||||
|
'adset_id' => $report['adset_id'],
|
||||||
|
'use_landing' => $use_landing,
|
||||||
|
'leadgen_id' => $report['leadgen'] ?? '',
|
||||||
|
'created_time' => $created_time,
|
||||||
|
'updated_time' => $updated_time
|
||||||
|
]);
|
||||||
|
if(!$result){return false;};
|
||||||
|
/*
|
||||||
|
$this->db_query("DELETE FROM fb_recommendations WHERE ad_id = '{$report['id']}'");
|
||||||
|
if (!empty($report['recommendations'])) { //권고사항 정보 같이 저장
|
||||||
|
foreach ($report['recommendations'] as $data) {
|
||||||
|
$sql = "INSERT INTO fb_recommendations (
|
||||||
|
ad_id,
|
||||||
|
code,
|
||||||
|
title,
|
||||||
|
message,
|
||||||
|
importance,
|
||||||
|
confidence,
|
||||||
|
blame_field
|
||||||
|
) VALUES (
|
||||||
|
'{$report['id']}',
|
||||||
|
'{$data['code']}',
|
||||||
|
'".addslashes($data['title'])."',
|
||||||
|
'".addslashes($data['message'])."',
|
||||||
|
'{$data['importance']}',
|
||||||
|
'{$data['confidence']}',
|
||||||
|
'{$data['blame_field']}'
|
||||||
|
) ON DUPLICATE KEY UPDATE
|
||||||
|
ad_id = '{$report['id']}';";
|
||||||
|
$this->db_query($sql);
|
||||||
|
$sql = " INSERT IGNORE INTO fb_translation (seq, original_txt) VALUES ((SELECT MAX(seq)+1 FROM fb_translation a), '".addslashes($data['title'])."') ";
|
||||||
|
$this->db_query($sql);
|
||||||
|
$sql = " INSERT IGNORE INTO fb_translation (seq, original_txt) VALUES ((SELECT MAX(seq)+1 FROM fb_translation a), '".addslashes($data['message'])."') ";
|
||||||
|
$this->db_query($sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateAdsets($data)
|
||||||
|
{
|
||||||
|
$cnt = 0;
|
||||||
|
foreach ($data as $key => $report) {
|
||||||
|
if (!$report['budget_remaining']) $report['budget_remaining'] = NULL;
|
||||||
|
$start_time = $report['start_time'] && $report['start_time'] != '1970-01-01T08:59:59+0900' ? date('Y-m-d H:i:s', strtotime($report['start_time'])) : NULL;
|
||||||
|
$created_time = $report['created_time'] && $report['created_time'] != '1970-01-01T08:59:59+0900' ? date('Y-m-d H:i:s', strtotime($report['created_time'])) : NULL;
|
||||||
|
$updated_time = $report['updated_time'] && $report['updated_time'] != '1970-01-01T08:59:59+0900' ? date('Y-m-d H:i:s', strtotime($report['updated_time'])) : NULL;
|
||||||
|
if (isset($report['lifetime_budget'])) {
|
||||||
|
$budget_type = 'lifetime';
|
||||||
|
$budget = (integer)$report['lifetime_budget'];
|
||||||
|
} elseif (isset($report['daily_budget'])) {
|
||||||
|
$budget_type = 'daily';
|
||||||
|
$budget = (integer)$report['daily_budget'];
|
||||||
|
} else {
|
||||||
|
$budget_type = NULL;
|
||||||
|
$budget = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
$lst_sig_edit_ts = NULL;
|
||||||
|
$lsiConversions = 0;
|
||||||
|
$lsiStatus = '';
|
||||||
|
if(!empty($report['learning_stage_info'])){
|
||||||
|
if(!empty($report['learning_stage_info']['last_sig_edit_ts'])){
|
||||||
|
$lst_sig_edit_ts = date('Y-m-d H:i:s', $report['learning_stage_info']['last_sig_edit_ts']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty($report['learning_stage_info']['conversions'])){
|
||||||
|
$lsiConversions = (integer)$report['learning_stage_info']['conversions'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty($report['learning_stage_info']['status'])){
|
||||||
|
$lsiStatus = (integer)$report['learning_stage_info']['status'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = "INSERT INTO fb_adset (
|
||||||
|
adset_id,
|
||||||
|
adset_name,
|
||||||
|
campaign_id,
|
||||||
|
effective_status,
|
||||||
|
status,
|
||||||
|
start_time,
|
||||||
|
lsi_conversions,
|
||||||
|
lsi_status,
|
||||||
|
lsi_last_sig_edit_ts,
|
||||||
|
created_time,
|
||||||
|
updated_time,
|
||||||
|
create_date
|
||||||
|
) VALUES (
|
||||||
|
:adset_id:,
|
||||||
|
:name:,
|
||||||
|
:campaign_id:,
|
||||||
|
:effective_status:,
|
||||||
|
:status:,
|
||||||
|
:start_time:,
|
||||||
|
:lsi_conversions:,
|
||||||
|
:lsiStatus:,
|
||||||
|
:lst_sig_edit_ts:,
|
||||||
|
:created_time:,
|
||||||
|
:updated_time:,
|
||||||
|
NOW()
|
||||||
|
) ON DUPLICATE KEY UPDATE
|
||||||
|
adset_name = :name:,
|
||||||
|
budget_type = :budget_type:,
|
||||||
|
budget = :budget:,
|
||||||
|
budget_remaining = :budget_remaining:,
|
||||||
|
effective_status = :effective_status:,
|
||||||
|
status = :status:,
|
||||||
|
start_time = :start_time:,
|
||||||
|
lsi_conversions = :lsi_conversions:,
|
||||||
|
lsi_status = :lsiStatus:,
|
||||||
|
lsi_last_sig_edit_ts = :lst_sig_edit_ts:,
|
||||||
|
created_time = :created_time:,
|
||||||
|
updated_time = :updated_time:,
|
||||||
|
update_date = NOW()";
|
||||||
|
$result = $this->db->query($sql, [
|
||||||
|
'adset_id' => $report['id'],
|
||||||
|
'name' => $report['name'],
|
||||||
|
'campaign_id' => $report['campaign_id'],
|
||||||
|
'effective_status' => $report['effective_status'],
|
||||||
|
'status' => $report['status'],
|
||||||
|
'start_time' => $start_time,
|
||||||
|
'lsi_conversions' => $lsiConversions,
|
||||||
|
'lsiStatus' => $lsiStatus,
|
||||||
|
'lst_sig_edit_ts' => $lst_sig_edit_ts,
|
||||||
|
'created_time' => $created_time,
|
||||||
|
'updated_time' => $updated_time,
|
||||||
|
'budget_type' => $budget_type,
|
||||||
|
'budget' => $budget,
|
||||||
|
'budget_remaining' => $report['budget_remaining'],
|
||||||
|
]);
|
||||||
|
if(!$result){return false;};
|
||||||
|
/*
|
||||||
|
$this->db_query("DELETE FROM fb_recommendations WHERE adset_id = '{$report['id']}'");
|
||||||
|
if (!empty($report['recommendations'])) { //권고사항 정보 같이 저장
|
||||||
|
foreach ($report['recommendations'] as $data) {
|
||||||
|
$sql = "INSERT INTO fb_recommendations (
|
||||||
|
adset_id,
|
||||||
|
code,
|
||||||
|
title,
|
||||||
|
message,
|
||||||
|
importance,
|
||||||
|
confidence,
|
||||||
|
blame_field
|
||||||
|
) VALUES (
|
||||||
|
'{$report['id']}',
|
||||||
|
'{$data['code']}',
|
||||||
|
'".addslashes($data['title'])."',
|
||||||
|
'".addslashes($data['message'])."',
|
||||||
|
'{$data['importance']}',
|
||||||
|
'{$data['confidence']}',
|
||||||
|
'{$data['blame_field']}'
|
||||||
|
) ON DUPLICATE KEY UPDATE
|
||||||
|
adset_id = '{$report['id']}';";
|
||||||
|
$this->db_query($sql);
|
||||||
|
$sql = " INSERT IGNORE INTO fb_translation (seq, original_txt) VALUES ((SELECT MAX(seq)+1 FROM fb_translation a), '".addslashes($data['title'])."') ";
|
||||||
|
$this->db_query($sql);
|
||||||
|
$sql = " INSERT IGNORE INTO fb_translation (seq, original_txt) VALUES ((SELECT MAX(seq)+1 FROM fb_translation a), '".addslashes($data['message'])."') ";
|
||||||
|
$this->db_query($sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateCampaigns($data)
|
||||||
|
{
|
||||||
|
foreach ($data as $key => $report) {
|
||||||
|
if (empty($report['budget_remaining'])) (integer)$report['budget_remaining'] = NULL;
|
||||||
|
$start_time = $report['start_time'] && $report['start_time'] != '1970-01-01T08:59:59+0900' ? date('Y-m-d H:i:s', strtotime($report['start_time'])) : NULL;
|
||||||
|
$created_time = $report['created_time'] && $report['created_time'] != '1970-01-01T08:59:59+0900' ? date('Y-m-d H:i:s', strtotime($report['created_time'])) : NULL;
|
||||||
|
$updated_time = $report['updated_time'] && $report['updated_time'] != '1970-01-01T08:59:59+0900' ? date('Y-m-d H:i:s', strtotime($report['updated_time'])) : NULL;
|
||||||
|
$can_use_spend_cap = $report['can_use_spend_cap'] ? $report['can_use_spend_cap'] : '0';
|
||||||
|
$budget_rebalance_flag = $report['budget_rebalance_flag'] ? $report['budget_rebalance_flag'] : '0';
|
||||||
|
$spend_cap = isset($report['spend_cap']) ? (integer)$report['spend_cap'] : NULL;
|
||||||
|
|
||||||
|
if (isset($report['lifetime_budget']) && $report['lifetime_budget']) {
|
||||||
|
$budget_type = 'lifetime';
|
||||||
|
$budget = (integer)$report['lifetime_budget'];
|
||||||
|
} elseif (isset($report['daily_budget']) && $report['daily_budget']) {
|
||||||
|
$budget_type = 'daily';
|
||||||
|
$budget = (integer)$report['daily_budget'];
|
||||||
|
} else {
|
||||||
|
$budget_type = "";
|
||||||
|
$budget = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = "INSERT INTO fb_campaign (
|
||||||
|
campaign_id,
|
||||||
|
campaign_name,
|
||||||
|
account_id,
|
||||||
|
effective_status,
|
||||||
|
status,
|
||||||
|
budget_type,
|
||||||
|
budget,
|
||||||
|
budget_remaining,
|
||||||
|
budget_rebalance_flag,
|
||||||
|
can_use_spend_cap,
|
||||||
|
spend_cap,
|
||||||
|
objective,
|
||||||
|
start_time,
|
||||||
|
created_time,
|
||||||
|
updated_time,
|
||||||
|
create_date
|
||||||
|
) VALUES (
|
||||||
|
:campaign_id:,
|
||||||
|
:name:,
|
||||||
|
:account_id:,
|
||||||
|
:effective_status:,
|
||||||
|
:status:,
|
||||||
|
:budget_type:,
|
||||||
|
:budget:,
|
||||||
|
:budget_remaining:,
|
||||||
|
:budget_rebalance_flag:,
|
||||||
|
:can_use_spend_cap:,
|
||||||
|
:spend_cap:,
|
||||||
|
:objective:,
|
||||||
|
:start_time:,
|
||||||
|
:created_time:,
|
||||||
|
:updated_time:,
|
||||||
|
NOW()
|
||||||
|
) ON DUPLICATE KEY UPDATE
|
||||||
|
campaign_name = :name:,
|
||||||
|
budget_type = :budget_type:,
|
||||||
|
budget = :budget:,
|
||||||
|
budget_remaining = :budget_remaining:,
|
||||||
|
budget_rebalance_flag = :budget_rebalance_flag:,
|
||||||
|
can_use_spend_cap = :can_use_spend_cap:,
|
||||||
|
spend_cap = :spend_cap:,
|
||||||
|
objective = :objective:,
|
||||||
|
effective_status = :effective_status:,
|
||||||
|
status = :status:,
|
||||||
|
start_time = :start_time:,
|
||||||
|
created_time = :created_time:,
|
||||||
|
updated_time = :updated_time:,
|
||||||
|
is_updating = 0,
|
||||||
|
update_date = NOW()";
|
||||||
|
$result = $this->db->query($sql, [
|
||||||
|
'campaign_id' => $report['id'],
|
||||||
|
'name' => $report['name'],
|
||||||
|
'account_id' => $report['account_id'],
|
||||||
|
'effective_status' => $report['effective_status'],
|
||||||
|
'status' => $report['status'],
|
||||||
|
'budget_type' => $budget_type,
|
||||||
|
'budget' => $budget,
|
||||||
|
'budget_remaining' => $report['budget_remaining'],
|
||||||
|
'budget_rebalance_flag' => $budget_rebalance_flag,
|
||||||
|
'can_use_spend_cap' => $can_use_spend_cap,
|
||||||
|
'spend_cap' => $spend_cap,
|
||||||
|
'objective' => $report['objective'],
|
||||||
|
'start_time' => $start_time,
|
||||||
|
'created_time' => $created_time,
|
||||||
|
'updated_time' => $updated_time,
|
||||||
|
]);
|
||||||
|
if(!$result){return false;};
|
||||||
|
/*
|
||||||
|
$this->db_query("DELETE FROM fb_recommendations WHERE campaign_id = '{$report['id']}'");
|
||||||
|
if (!empty($report['recommendations'])) { //권고사항 정보 같이 저장
|
||||||
|
foreach ($report['recommendations'] as $data) {
|
||||||
|
$sql = "INSERT INTO fb_recommendations (
|
||||||
|
campaign_id,
|
||||||
|
code,
|
||||||
|
title,
|
||||||
|
message,
|
||||||
|
importance,
|
||||||
|
confidence,
|
||||||
|
blame_field
|
||||||
|
) VALUES (
|
||||||
|
'{$report['id']}',
|
||||||
|
'{$data['code']}',
|
||||||
|
'".addslashes($data['title'])."',
|
||||||
|
'".addslashes($data['message'])."',
|
||||||
|
'{$data['importance']}',
|
||||||
|
'{$data['confidence']}',
|
||||||
|
'{$data['blame_field']}'
|
||||||
|
) ON DUPLICATE KEY UPDATE
|
||||||
|
campaign_id = '{$report['id']}';";
|
||||||
|
$this->db_query($sql);
|
||||||
|
$sql = " INSERT IGNORE INTO fb_translation (seq, original_txt) VALUES ((SELECT MAX(seq)+1 FROM fb_translation a), '".addslashes($data['title'])."') ";
|
||||||
|
$this->db_query($sql);
|
||||||
|
$sql = " INSERT IGNORE INTO fb_translation (seq, original_txt) VALUES ((SELECT MAX(seq)+1 FROM fb_translation a), '".addslashes($data['message'])."') ";
|
||||||
|
$this->db_query($sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function insertAdLeads($data)
|
||||||
|
{
|
||||||
|
if (count($data) > 0) {
|
||||||
|
$total = count($data);
|
||||||
|
$step = 1;
|
||||||
|
$insert = "INSERT INTO `fb_ad_lead` SET ";
|
||||||
|
$this->db_query('BEGIN');
|
||||||
|
foreach ($data as $key => $lead) {
|
||||||
|
CLI::showProgress($step++, $total);
|
||||||
|
$time = new DateTime($lead['created_time']);
|
||||||
|
$korea = new DateTimeZone('Asia/Seoul');
|
||||||
|
$time->setTimezone($korea);
|
||||||
|
$created_time = $time->format('Y-m-d H:i:s');
|
||||||
|
$full_name = $phone_number = $date_of_birth = $gender = null;
|
||||||
|
$is_organic = (strlen($lead['is_organic']) == 0) ? 0 : 1;
|
||||||
|
$custom_fields = array();
|
||||||
|
$values = "id = '{$lead['id']}', form_id = '{$lead['form_id']}', ad_id = '{$lead['ad_id']}', is_organic = '{$is_organic}'";
|
||||||
|
if (count($lead['field_data']) > 0) {
|
||||||
|
foreach ($lead['field_data'] as $key => $field) {
|
||||||
|
switch ($field['name']) {
|
||||||
|
case '이름':
|
||||||
|
$field['name'] = 'full_name';
|
||||||
|
break;
|
||||||
|
case '전화번호':
|
||||||
|
$field['name'] = 'phone_number';
|
||||||
|
break;
|
||||||
|
case '성별':
|
||||||
|
$field['name'] = 'gender';
|
||||||
|
break;
|
||||||
|
case '생년월일':
|
||||||
|
$field['name'] = 'date_of_birth';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (preg_match("/[a-z\_]+/i", $field['name']) && !preg_match("/[가-힣]+/i", $field['name'])) {
|
||||||
|
$val = "";
|
||||||
|
if(isset($field['values']) && isset($field['values'][0])) $val = trim(addslashes($field['values'][0]));
|
||||||
|
// @$this->db->query("ALTER TABLE `fb_ad_lead` ADD `{$field['name']}` VARCHAR(50) NULL DEFAULT NULL AFTER `gender`;");
|
||||||
|
// @$this->db->query("ALTER TABLE `fb_ad_lead_delete` ADD `{$field['name']}` VARCHAR(50) NULL DEFAULT NULL AFTER `gender`;");
|
||||||
|
if (trim($val)) {
|
||||||
|
$values .= ", {$field['name']} = '{$val}'";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
array_push($custom_fields, $field);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$field_data = addslashes(var_export($custom_fields, true)); // 배열 그대로 저장하는데 조금 이상하다...이상해씨
|
||||||
|
$values .= ", field_data = '{$field_data}'";
|
||||||
|
$sql = $insert . $values . ", created_time = '{$created_time}' ON DUPLICATE KEY UPDATE {$values}, update_date = NOW();";
|
||||||
|
$result = $this->db_query($sql, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->db_query('COMMIT');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 광고 활성/종료 업데이트하는
|
||||||
|
public function setCampaignStatus($campaign_id, $status)
|
||||||
|
{
|
||||||
|
if (empty($campaign_id) || empty($status)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
$sql = "UPDATE fb_campaign SET status = '$status' WHERE campaign_id = '$campaign_id'";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setAdsetStatus($adset_id, $status)
|
||||||
|
{
|
||||||
|
if (empty($adset_id) || empty($status)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
$sql = "UPDATE fb_adset SET status = '$status' WHERE adset_id = '$adset_id'";
|
||||||
|
$this->db_query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setAdStatus($ad_id, $status)
|
||||||
|
{
|
||||||
|
if (empty($ad_id) || empty($status)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
$sql = "UPDATE fb_ad SET status = '$status' WHERE ad_id = '$ad_id'";
|
||||||
|
$this->db_query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateCampaignName($data)
|
||||||
|
{
|
||||||
|
if (empty($data)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = "UPDATE fb_campaign SET campaign_name = '{$data['name']}' WHERE campaign_id = {$data['id']}";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateAdsetName($data)
|
||||||
|
{
|
||||||
|
if (empty($data)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = "UPDATE fb_adset SET adset_name = '{$data['name']}' WHERE adset_id = {$data['id']}";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateAdName($data)
|
||||||
|
{
|
||||||
|
if (empty($data)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = "UPDATE fb_ad SET ad_name = '{$data['name']}' WHERE ad_id = {$data['id']}";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateInsight($data)
|
||||||
|
{
|
||||||
|
$row = $data;
|
||||||
|
if(empty($row['data'])) return;
|
||||||
|
foreach($row['data'] as $v) {
|
||||||
|
if ($row['ad_id']) {
|
||||||
|
$data = [
|
||||||
|
'ad_id' => $row['ad_id'],
|
||||||
|
'date' => $row['date'],
|
||||||
|
'hour' => $v['hour'],
|
||||||
|
'media' => $row['media'],
|
||||||
|
'period' => $row['period_ad'],
|
||||||
|
'event_seq' => $row['event_seq'],
|
||||||
|
'site' => $row['site'],
|
||||||
|
'db_price' => (integer)$row['db_price'],
|
||||||
|
'db_count' => (integer)$v['count'],
|
||||||
|
'margin' => (integer)$v['margin'],
|
||||||
|
'sales' => (integer)$v['sales'],
|
||||||
|
];
|
||||||
|
$builder = $this->db->table('fb_ad_insight_history');
|
||||||
|
$builder->setData($data);
|
||||||
|
$updateTime = ['update_date' => new RawSql('NOW()')];
|
||||||
|
$builder->updateFields($updateTime, true);
|
||||||
|
// d($builder->getCompiledUpsert());
|
||||||
|
$builder->upsert();
|
||||||
|
/*
|
||||||
|
$sql = "UPDATE `z_facebook`.`fb_ad_insight_history`
|
||||||
|
SET `media` = '{$row['media']}', `period` = '{$row['period_ad']}', `event_seq` = '{$row['event_seq']}', `site` = '{$row['site']}', `db_price` = '{$row['db_price']}', `db_count` = '{$v['count']}', `margin` = '{$v['margin']}', `sales` = '{$v['sales']}', `update_date` = NOW()
|
||||||
|
WHERE `ad_id` = '{$row['ad_id']}' AND `date` = '{$row['date']}' AND `hour` = '{$v['hour']}'";
|
||||||
|
$this->db_query($sql, true);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAdLeads($date)
|
||||||
|
{
|
||||||
|
$sql = "SELECT his.ad_id, CONCAT('{',GROUP_CONCAT('\"',his.`hour`,'\":',his.spend),'}') AS spend_data, ad.code, ad.ad_name, adset.adset_name, campaign.campaign_name
|
||||||
|
FROM `z_facebook`.`fb_ad_insight_history` AS his
|
||||||
|
LEFT JOIN `z_facebook`.fb_ad AS ad
|
||||||
|
ON his.ad_id = ad.ad_id
|
||||||
|
LEFT JOIN `z_facebook`.fb_adset AS adset
|
||||||
|
ON adset.adset_id = ad.adset_id
|
||||||
|
LEFT JOIN `z_facebook`.fb_campaign AS campaign
|
||||||
|
ON adset.campaign_id = campaign.campaign_id
|
||||||
|
LEFT JOIN `z_facebook`.fb_ad_account AS account
|
||||||
|
ON campaign.account_id = account.ad_account_id
|
||||||
|
WHERE his.date = '{$date}' AND account.perm = 1 GROUP BY his.ad_id;";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDbPrice($data)
|
||||||
|
{
|
||||||
|
if (empty($data['ad_id']) || empty($data['date'])) return NULL;
|
||||||
|
$sql = "SELECT ad_id, date, db_price FROM `z_facebook`.`fb_ad_insight_history` WHERE `ad_id` = '{$data['ad_id']}' AND `date` = '{$data['date']}' GROUP BY date ORDER BY hour DESC LIMIT 1;";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
if (empty($result)) return null;
|
||||||
|
return $result->getResultArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateCampaignBudget($campaign_id, $budget)
|
||||||
|
{
|
||||||
|
$sql = "UPDATE fb_campaign set budget = {$budget} where campaign_id = {$campaign_id}";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
$sql = "UPDATE fb_adset set budget_type = '', budget = NULL, budget_remaining = NULL where campaign_id = {$campaign_id}";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
|
||||||
|
if (empty($result)) return null;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateAdSetBudget($adset_id, $budget)
|
||||||
|
{
|
||||||
|
$sql = "UPDATE fb_adset set budget = {$budget} where adset_id = {$adset_id}";
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
if (empty($result)) return null;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getLeads($data)
|
||||||
|
{
|
||||||
|
if (empty($data['event_seq'])) return null;
|
||||||
|
$sql = "SELECT event_seq, site, date(from_unixtime(reg_timestamp)) AS date, HOUR(from_unixtime(reg_timestamp)) AS hour, count(event_seq) AS db_count
|
||||||
|
FROM `zenith`.`event_leads`
|
||||||
|
WHERE `reg_timestamp` >= unix_timestamp('{$data['date']}')
|
||||||
|
AND `status` = 1 AND `is_deleted` = 0
|
||||||
|
AND `event_seq` = {$data['event_seq']} AND `site` = '{$data['site']}' AND DATE_FORMAT(`reg_date`, '%Y-%m-%d') = '{$data['date']}'
|
||||||
|
GROUP BY `event_seq`, `site`, HOUR(from_unixtime(reg_timestamp))";
|
||||||
|
$result = $this->zenith->query($sql);
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function db_query($sql, $error = false)
|
||||||
|
{
|
||||||
|
if (empty($sql)) return false;
|
||||||
|
$result = null;
|
||||||
|
$this->sltDB = $this->db;
|
||||||
|
|
||||||
|
$this->sltDB->transStart();
|
||||||
|
$result = $this->sltDB->query($sql);
|
||||||
|
if (!$result && $error) {
|
||||||
|
$err = $this->sltDB->error();
|
||||||
|
exit($err['code'] .' : '. $err['message'] .' - '. $sql);
|
||||||
|
}
|
||||||
|
$this->sltDB->transComplete();
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////
|
||||||
|
public function getMemo($p)
|
||||||
|
{
|
||||||
|
$query = "";
|
||||||
|
if ($p['id']) $query = " AND fm.id = '{$p['id']}' ";
|
||||||
|
$sql = "SELECT fc.campaign_name, fac.name AS account_name, fm.*
|
||||||
|
FROM fb_memo AS fm
|
||||||
|
LEFT JOIN fb_campaign AS fc ON fm.id = fc.campaign_id
|
||||||
|
LEFT JOIN fb_ad_account AS fac ON fc.account_id = fac.ad_account_id
|
||||||
|
WHERE 1 AND fm.type = '{$p['type']}'{$query} AND (fm.datetime >= DATE_SUB(NOW(), INTERVAL 3 DAY) OR (fm.datetime <= DATE_SUB(NOW(), INTERVAL 3 DAY) AND fm.is_done = 0)) ORDER BY fm.is_done ASC, fac.name ASC, fm.datetime DESC";
|
||||||
|
// echo $sql;
|
||||||
|
$result = $this->db_query($sql);
|
||||||
|
if ($result->num_rows) {
|
||||||
|
foreach ($result->getResultArray() as $row) {
|
||||||
|
$memo[] = $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $memo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addMemo($data)
|
||||||
|
{
|
||||||
|
$data['memo'] = $this->db->escape($data['memo']);
|
||||||
|
$sql = "INSERT INTO fb_memo (`id`, `type`, `memo`, `mb_name`, `datetime`) VALUES({$data['id']}, '{$data['type']}', {$data['memo']}, '{$data['mb_name']}', NOW())";
|
||||||
|
if ($this->db_query($sql))
|
||||||
|
return $data['id'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateMemo($data)
|
||||||
|
{
|
||||||
|
$query = "";
|
||||||
|
if ($data['is_done']) {
|
||||||
|
$query = ", done_mb_name = '{$data['done_mb_name']}', done_datetime = NOW()";
|
||||||
|
}
|
||||||
|
$sql = "UPDATE fb_memo SET is_done = '{$data['is_done']}'{$query} WHERE seq = {$data['seq']}";
|
||||||
|
if ($this->db_query($sql))
|
||||||
|
return $data['seq'];
|
||||||
|
}
|
||||||
|
}
|
||||||
+1638
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"require": {
|
||||||
|
"janu-software/facebook-php-sdk": "*",
|
||||||
|
"facebook/php-business-sdk": "*",
|
||||||
|
"php-http/guzzle7-adapter": "^1.0"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"allow-plugins": {
|
||||||
|
"php-http/discovery": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Generated
+1266
File diff suppressed because it is too large
Load Diff
+37
@@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
if(getenv('MY_SERVER_NAME') == 'carelabs') {
|
||||||
|
$config = [
|
||||||
|
'app_id' => '718087176708750', //(주)케어랩스 //'318448081868728'; // 열혈패밀리_ver3
|
||||||
|
'app_secret' => '81b9a694a853428e88f7c6f144efc080', //'881a2a6c6edcc9a5291e829278cb91e2';
|
||||||
|
'access_token' => 'EAAKNGLMV4o4BO6fymBdgU0MuizER168JBEMJCC3Dr1aFXo1th14FVFrnkkC03mwdDPGd7AVnOxquF3udW9aiwKTCZAqwUqlhWGZCJg0ZAnYLnIWQ67xKg01P0nMglSaGoKGQx193JfirYNZCUnjOB0xJ8bbgeOYAi0w8KODF3Dd0fFpK1KzKwxHBpv9TiW3dZANBWZArT1OiPLZCJ1QoFTsSuhSJQZDZD',
|
||||||
|
'longLivedAccessToken' => 'EAAKNGLMV4o4BO8ZAs48R6lDQ9fcZCw91DmvJtEIZBUyZAzTCGAYsSaEA9oxQPLtDLu7ZBdayalAZCelVleSTavjdRpAziJuB1D2TzFBEMTmtDWZCD1UkepAzeISFGtV8AJezUOXPM6wkAdweTHL93CRCguGPHaKY7nOKJxP1vKkCqoRO9StEDEvzxCJ1vXuzjQg',
|
||||||
|
'business_id_list' => [
|
||||||
|
'889300682548023' //케어랩스8
|
||||||
|
,'213123902836946' //케어랩스7
|
||||||
|
,'2859468974281473' //케어랩스5
|
||||||
|
,'316991668497111' //열혈패밀리
|
||||||
|
]
|
||||||
|
];
|
||||||
|
} else if(getenv('MY_SERVER_NAME') == 'resta') {
|
||||||
|
$config = [
|
||||||
|
'app_id' => '203750579450030', //(주)케어랩스 //'318448081868728'; // 열혈패밀리_ver3
|
||||||
|
'app_secret' => '274a4d9851d2a551f663799d9257ba3f', //'881a2a6c6edcc9a5291e829278cb91e2';
|
||||||
|
'access_token' => 'EAAC5T2DpMK4BO8IhTBJHsZAD37x3RTZAxXpUxeuJsNzoJpCNNKas6XTcoZAD1ZBZCKUZAtGEfUpx3udHJmEcbZCU04oUefYeOo1CCmT6kqgMEU0Nn3LFPauLcz6ZA7OpGH9mW52DWoblMdLHBIuygSxTm6f3SyzM6wL2erm4KsrsZAQZBMGvnYHdZAifZCrsr5YjuEQDEYfK6gZABo8WgKj9hGjCS7lZC5pb6XSP88giAZD',
|
||||||
|
'longLivedAccessToken' => 'EAAC5T2DpMK4BOw7lZAAiwV09ZCFjsvgjdh2rZBmmLsPqZBVbigKFQuYJvw1hWZAeG36qNByTiQQXlMTEycZCIwnkbxb83w0YLXnLkb4gAawjOEDfZCDZBux7Loumpv0ZCFUuQc1vZCV3U1hzHYaptCntY0f7xd71H4OlrBsJUavKeYkt5aIYKcamck1zXEBI5ZCE7x3',
|
||||||
|
'business_id_list' => [
|
||||||
|
'334206136772827',
|
||||||
|
'1077747392407033'
|
||||||
|
]
|
||||||
|
];
|
||||||
|
} else if(getenv('MY_SERVER_NAME') == 'savemarketing') {
|
||||||
|
$config = [
|
||||||
|
'app_id' => '440585915610883',
|
||||||
|
'app_secret' => 'dbb559cc53da175156e8e2b2e06725f0', //'881a2a6c6edcc9a5291e829278cb91e2';
|
||||||
|
'access_token' => 'EAAGQtebZBNwMBOxK04X3YfqeTgLVZCu1w5ZBLPf39wj8py2tGxTuTHRytVwiFCvEoZCDxz1bUDrKj80AddblUQZBBiK32UddpZBf2ucYyoxcEeqbrk0CKSvKAsLKRBv5fHufBhhdZBtkFyr9YPS0RM89uaoXt1DQpDtLNwjihq34ObZCOyetj6AseXfI3qvptgH6wNGnKekK5KwOqfnJUYlId2YXcwZDZD',
|
||||||
|
'longLivedAccessToken' => 'EAAGQtebZBNwMBO5AHdytJjAgSPZBaN5yZB6HKZB8ZC6KTOrzEUVaXBDY1CT90TJ6IjOLqFZAEwxGUZAdu4yZAzc1EIUCSZBv3w2natkiRNRtombZBaT2o2aH4BGc14fLptEimnNh5995BcfJWwfxlwF1jw9yy6IXeCK9nGiEg99z7za5x2vovZCyumSXnl5UPvlFtxo',
|
||||||
|
'business_id_list' => [
|
||||||
|
'1677888252282772',
|
||||||
|
'766224524981797'
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user