{{pasted:20260121-023047.png}} MMP →① Temporary Table(一時保存) MMPから届く大量のポストバックのパラメータを、まずはそのままの形で保存します。 理由: 直接本番テーブルに書き込むと負荷が高まるため、一旦バッファとして受け止めます。 Batch Processing (バッチ処理) 一定間隔(1分ごと)で実行されます。 処理内容: 重複排除、不正チェックなどを行い、確定データとして ②Pointback Table へ格納します。 エラーがあった場合は③Erorr Tableへ格納します。 Pointback Table → Media (外部通知) 整形されたデータを元に、、各メディア(adleapやpointincomeなど)ごとの受け取るためのフォーマットに変換後、 各メディアのAPIへ通知を送ります。 これにより、ユーザーにポイントが付与される仕組みです。 ---- ①Temporary Table $dsn = 'mysql:host=api.rocket-a.com;dbname=rocketa-api;charset=utf8mb4'; $user = 'root'; $pass = 'buSDonry4%h6rm-0fy'; $pdo = new PDO( $dsn, $user, $pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ] ); $sql = "SELECT * FROM result_records ORDER BY id DESC LIMIT 3"; $stmt = $pdo->prepare($sql); $stmt->execute(); $rows = $stmt->fetchAll(); echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; foreach ($rows as $row) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo ''; echo '
IDStatusIPSIDAd IDClient IDUIDAmountSales CountStageSenderParametersMigration StatusCreated
' . htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['status'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['ip'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['sid'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['ad_id'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['client_id'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['uid'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['amount'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['sales_count'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['statge'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['sender'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['parameters'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['migration_status'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['created_at'], ENT_QUOTES, 'UTF-8') . '
';
Status デフォルト:0   バッチ処理成功:1 バッチ処理エラー:99 UID クライアント側が発行するユーザー識別ID Amount ECサイト専用項目 Sales Count ECサイト専用項目 Stage 複数成果地点がある場合のID Sender 1 :MMPから、2: テスト機能から 3:成果をadmin.rocket-a.com 管理画面からつけた場合 Parameters GETパラメータ全部 ---- ②Pointback Table https://admin.rocket-a.com/admin/general/achieve/list で検索可能 $dsn = 'mysql:host=api.rocket-a.com;dbname=rocketa-la;charset=utf8mb4'; $user = 'root'; $pass = 'buSDonry4%h6rm-0fy'; $pdo = new PDO( $dsn, $user, $pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ] ); $sql = "SELECT * FROM result_datas ORDER BY id DESC LIMIT 3"; $stmt = $pdo->prepare($sql); $stmt->execute(); $rows = $stmt->fetchAll(); echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; foreach ($rows as $row) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo ''; echo '
IDStatusAd IDClient IDMedia IDSIDNet RewardGross RewardClient UIDAmountSalesStageMedia AchvClick AtFixed AtCreated At
' . (int)$row['id'] . '' . $row['statis'] . '' . (int)($row['ad_id'] ?? 0) . '' . (int)($row['client_id'] ?? 0) . '' . (int)$row['media_id'] . '' . htmlspecialchars($row['sid'], ENT_QUOTES, 'UTF-8') . '' . (int)$row['net_reward'] . '' . (int)$row['gross_reward'] . '' . htmlspecialchars($row['client_uid'] ?? '', ENT_QUOTES, 'UTF-8') . '' . (int)($row['client_amount'] ?? 0) . '' . (int)($row['client_sales_count'] ?? 0) . '' . (int)($row['client_stage'] ?? 0) . '' . (int)$row['media_achievement'] . '' . htmlspecialchars($row['click_at'], ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['fixed_at'] ?? '', ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['created_at'], ENT_QUOTES, 'UTF-8') . '
';
Status デフォルト:0   バッチ処理成功:1 バッチ処理エラー:99 Net Reward メディアへ支払う金額 Gross Reward 報酬額 Client UID クライアント側が発行するユーザー識別ID Amount ECサイト専用項目 Sales ECサイト専用項目 Stage 複数成果地点がある場合のID Media Achv Mediaへ成果通知を行ったかのフラグ Click At クリック日時 Fixed At 承認・否認確定日 ③Error Table https://admin.rocket-a.com/admin/general/achieve/error_list# $dsn = 'mysql:host=api.rocket-a.com;dbname=rocketa-la;charset=utf8mb4'; $user = 'root'; $pass = 'buSDonry4%h6rm-0fy'; $pdo = new PDO( $dsn, $user, $pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ] ); $sql = "SELECT * FROM result_datas ORDER BY id DESC LIMIT 3"; $stmt = $pdo->prepare($sql); $stmt->execute(); $rows = $stmt->fetchAll(); echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; foreach ($rows as $row) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo ''; echo '
IDResult IDErrorIPSIDAd IDClient IDUIDProductAmountSalesStageSenderMedia IDBanner IDCreated
' . (int)$row['id'] . '' . (int)$row['result_records_id'] . '' . (int)$row['error'] . '' . htmlspecialchars($row['ip'] ?? '', ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['sid'] ?? '', ENT_QUOTES, 'UTF-8') . '' . (int)($row['ad_id'] ?? 0) . '' . (int)($row['client_id'] ?? 0) . '' . htmlspecialchars($row['uid'] ?? '', ENT_QUOTES, 'UTF-8') . '' . htmlspecialchars($row['product_code'] ?? '', ENT_QUOTES, 'UTF-8') . '' . (int)($row['amount'] ?? 0) . '' . (int)($row['sales_count'] ?? 0) . '' . (int)($row['stage'] ?? 0) . '' . (int)$row['sender'] . '' . (int)($row['media_id'] ?? 0) . '' . (int)($row['banner_id'] ?? 0) . '' . htmlspecialchars($row['created_at'], ENT_QUOTES, 'UTF-8') . '
';
Result ID Temporary TableのID Error エラーのIDを格納↓ Error種別 * 1:パラメーターエラー * 2:sid不一致 * 3:広告不一致 * 4:クライアントチェックエラー * 5:送信元チェックエラー * 6:パートナーチェックエラー * 7:未連携パートナー * 8:リピートチェックエラー * 9:報酬額設定ミス * 10:通信エラー * 11:退会識別パラメータ重複エラー * 12:App通信 イベント不一致 * 13:IPアドレス重複リピートチェックエラー * 14:成果重複エラー * 15:ステータス停止エラー * 16:期間外承認エラー