rocket-a

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
pointback仕様 [2026/01/20 19:22] rootpointback仕様 [2026/01/29 19:09] (現在) root
行 1: 行 1:
-{{pasted:20260120-102223.png}} +{{pasted:20260121-023047.png}} 
-MMP → Temporary Tables (一時保存) +MMP →① Temporary Table(一時保存) 
-MMPから届く大量のポストバックータを、まずはそのままの形で保存します。+MMPから届く大量のポストバックのパラメータを、まずはそのままの形で保存します。
 理由: 直接本番テーブルに書き込むと負荷が高まるため、一旦バッファとして受け止めます。 理由: 直接本番テーブルに書き込むと負荷が高まるため、一旦バッファとして受け止めます。
 +
 Batch Processing (バッチ処理) Batch Processing (バッチ処理)
 一定間隔(1分ごと)で実行されます。 一定間隔(1分ごと)で実行されます。
-処理内容: 重複排除、不正チェック、メディアごとのフォーマット変換などを行い、確定データとして Pointback Tables へ格納します。 +処理内容: 重複排除、不正チェックなどを行い、確定データとして Pointback Table へ格納します。 
-Pointback Tables → Media (外部通知) +エラーがあった場合は③Erorr Tableへ格納します。 
-整形されたデータを元に、各メディア(adleapやpointincomeなど)のAPIへ通知を送ります。+ 
 +Pointback Table → Media (外部通知) 
 +整形されたデータを元に、各メディア(adleapやpointincomeなど)ごとの受け取るためのフォーマットに変換後、 
 +各メディアのAPIへ通知を送ります。
 これにより、ユーザーにポイントが付与される仕組みです。 これにより、ユーザーにポイントが付与される仕組みです。
  
 ---- ----
  
-①Temporary Tables+①Temporary Table
 <php> <php>
-$dsn = 'mysql:host=localhost;dbname=rocketa-api;charset=utf8mb4';+$dsn = 'mysql:host=api.rocket-a.com;dbname=rocketa-api;charset=utf8mb4';
 $user = 'root'; $user = 'root';
 $pass = 'buSDonry4%h6rm-0fy'; $pass = 'buSDonry4%h6rm-0fy';
行 43: 行 47:
 echo '<th>Client ID</th>'; echo '<th>Client ID</th>';
 echo '<th>UID</th>'; echo '<th>UID</th>';
-echo '<th>Product</th>'; 
 echo '<th>Amount</th>'; echo '<th>Amount</th>';
 echo '<th>Sales Count</th>'; echo '<th>Sales Count</th>';
行 65: 行 68:
     echo '<td>' . htmlspecialchars($row['client_id'], ENT_QUOTES, 'UTF-8') . '</td>';     echo '<td>' . htmlspecialchars($row['client_id'], ENT_QUOTES, 'UTF-8') . '</td>';
     echo '<td>' . htmlspecialchars($row['uid'], ENT_QUOTES, 'UTF-8') . '</td>';     echo '<td>' . htmlspecialchars($row['uid'], ENT_QUOTES, 'UTF-8') . '</td>';
-    echo '<td>' . htmlspecialchars($row['product_code'], ENT_QUOTES, 'UTF-8') . '</td>'; 
     echo '<td>' . htmlspecialchars($row['amount'], ENT_QUOTES, 'UTF-8') . '</td>';     echo '<td>' . htmlspecialchars($row['amount'], ENT_QUOTES, 'UTF-8') . '</td>';
     echo '<td>' . htmlspecialchars($row['sales_count'], ENT_QUOTES, 'UTF-8') . '</td>';     echo '<td>' . htmlspecialchars($row['sales_count'], ENT_QUOTES, 'UTF-8') . '</td>';
行 89: 行 91:
  
 ---- ----
-②Pointback Tables+②Pointback Table
 https://admin.rocket-a.com/admin/general/achieve/list https://admin.rocket-a.com/admin/general/achieve/list
 で検索可能 で検索可能
 <php> <php>
-$dsn = 'mysql:host=localhost;dbname=rocketa-la;charset=utf8mb4';+$dsn = 'mysql:host=api.rocket-a.com;dbname=rocketa-la;charset=utf8mb4';
 $user = 'root'; $user = 'root';
 $pass = 'buSDonry4%h6rm-0fy'; $pass = 'buSDonry4%h6rm-0fy';
行 172: 行 174:
 Fixed At 承認・否認確定日 Fixed At 承認・否認確定日
  
 +
 +③Error Table
 +https://admin.rocket-a.com/admin/general/achieve/error_list# 
 +<php>
 +$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 '<table border="1" cellpadding="6" cellspacing="0">';
 +echo '<thead>';
 +echo '<tr>';
 +echo '<th>ID</th>';
 +echo '<th>Result ID</th>';
 +echo '<th>Error</th>';
 +echo '<th>IP</th>';
 +echo '<th>SID</th>';
 +echo '<th>Ad ID</th>';
 +echo '<th>Client ID</th>';
 +echo '<th>UID</th>';
 +echo '<th>Product</th>';
 +echo '<th>Amount</th>';
 +echo '<th>Sales</th>';
 +echo '<th>Stage</th>';
 +echo '<th>Sender</th>';
 +echo '<th>Media ID</th>';
 +echo '<th>Banner ID</th>';
 +echo '<th>Created</th>';
 +echo '</tr>';
 +echo '</thead>';
 +
 +echo '<tbody>';
 +
 +foreach ($rows as $row) {
 +
 +    echo '<tr>';
 +    echo '<td>' . (int)$row['id'] . '</td>';
 +    echo '<td>' . (int)$row['result_records_id'] . '</td>';
 +    echo '<td>' . (int)$row['error'] . '</td>';
 +    echo '<td>' . htmlspecialchars($row['ip'] ?? '', ENT_QUOTES, 'UTF-8') . '</td>';
 +    echo '<td>' . htmlspecialchars($row['sid'] ?? '', ENT_QUOTES, 'UTF-8') . '</td>';
 +    echo '<td>' . (int)($row['ad_id'] ?? 0) . '</td>';
 +    echo '<td>' . (int)($row['client_id'] ?? 0) . '</td>';
 +    echo '<td>' . htmlspecialchars($row['uid'] ?? '', ENT_QUOTES, 'UTF-8') . '</td>';
 +    echo '<td>' . htmlspecialchars($row['product_code'] ?? '', ENT_QUOTES, 'UTF-8') . '</td>';
 +    echo '<td>' . (int)($row['amount'] ?? 0) . '</td>';
 +    echo '<td>' . (int)($row['sales_count'] ?? 0) . '</td>';
 +    echo '<td>' . (int)($row['stage'] ?? 0) . '</td>';
 +    echo '<td>' . (int)$row['sender'] . '</td>';
 +    echo '<td>' . (int)($row['media_id'] ?? 0) . '</td>';
 +    echo '<td>' . (int)($row['banner_id'] ?? 0) . '</td>';
 +    echo '<td>' . htmlspecialchars($row['created_at'], ENT_QUOTES, 'UTF-8') . '</td>';
 +    echo '</tr>';
 +}
 +
 +echo '</tbody>';
 +echo '</table>';
 +</php>
 +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:期間外承認エラー
pointback仕様.1768904545.txt.gz · 最終更新: by root