{
  "api_version": 1,
  "data_version": "0634245c25317d48452c9cff2c7c69e4650030f6",
  "url": "https://compachi.com/policy/",
  "advertising": "none",
  "ranking": {
    "summary": "compachi は広告を載せません。型番の並びは、検索の条件への一致度だけで決めます。送客料の契約の有無や金額によって、並び・掲載・依頼の窓口の出し方を変えることはありません。",
    "products": {
      "summary": "比較表の絞り込み、検索 API（/api/v1/search）、MCP サーバーの search_products は、同じ1つの関数で、次の段の順に型番を絞って並べます。",
      "reads": "並べるのに使うのは、カテゴリの索引（/api/v1/<category>/index.json）にある型番・別名（注文型番）・メーカー名（日本語・英語）とメーカーの組織 ID・生産状態・URL の名前（slug）と、標準条件の仕様値だけです。",
      "stages": [
        {
          "id": "match_text",
          "kind": "filter",
          "text": "検索語があれば、型番・別名・メーカー名（日本語・英語）・メーカーの組織 ID のどれかに語を含む型番だけを残します（全角と半角・大文字と小文字・記号の違いは無視します）。空白で区切った語は、すべてを含むものだけを残します。"
        },
        {
          "id": "require",
          "kind": "filter",
          "text": "必須の条件（数値の範囲・選択肢のどれか・温度などの範囲をまるごと含むこと）を満たす型番だけを残します。その項目の値が無い型番も外します。"
        },
        {
          "id": "exclude_discontinued",
          "kind": "filter",
          "text": "生産終了の型番は、はじめは外し、外した数を示します（含める指定をすれば残します）。新規採用は非推奨の型番は外さず、印を付けて残します。"
        },
        {
          "id": "score_desc",
          "kind": "order",
          "text": "一致度の高い順に並べます。一致度は 1 から「希望値ごとの距離の平均」を引いた値です。距離は、型番の値と希望値の差を、その項目の全型番の値と希望値を合わせた幅（最小から最大まで）で割った値で、値が複数あれば最も近い値を使い、値が無ければ 1（最も遠い）とします。希望値が無ければ、残った型番の一致度はすべて 1 です。"
        },
        {
          "id": "maker_name",
          "kind": "tiebreak",
          "text": "一致度が同じなら、メーカー名（日本語の表示名）の順に並べます。表記の違い（全角と半角・大文字と小文字・記号）を除いた形を文字コードの順で比べ、それも同じなら元の文字を比べます（言語の設定によって並びが変わらないようにするためです）。"
        },
        {
          "id": "model",
          "kind": "tiebreak",
          "text": "メーカー名も同じなら、型番の順に並べます（比べ方はメーカー名と同じです）。"
        },
        {
          "id": "slug",
          "kind": "tiebreak",
          "text": "それも同じなら、URL の名前（slug）の順に並べます。slug は型番ごとに違うので、並びは必ず1つに決まります。"
        }
      ]
    },
    "not_used": [
      "送客料の契約の有無と、送客料の金額",
      "広告（compachi は広告を載せません）",
      "販売経路（どの会社を通して買えるか）",
      "閲覧数・依頼の数",
      "メーカーから提出を受けた値かどうか"
    ],
    "channels": {
      "summary": "見積・デモ機の依頼の窓口は、メーカーが自社の資料で示している公式の窓口を、送客料の契約の有無にかかわらず、すべて載せます。並びは次の種別の順で、同じ種別の中の並びも、契約や金額と関係のない固定の規則で決めます。",
      "kinds": [
        {
          "kind": "maker",
          "text": "メーカー自身（本社・国内の拠点）"
        },
        {
          "kind": "jp_subsidiary",
          "text": "メーカーの日本法人"
        },
        {
          "kind": "distributor",
          "text": "商社。商社どうしは会社名の読みの五十音順、読みが同じなら組織 ID の順"
        }
      ]
    },
    "alternatives": {
      "summary": "型番ページの「近い型番」と MCP サーバーの find_alternatives は、同じ1つの関数で、元の型番と同じカテゴリの型番から、次の段の順に代わりの候補を選んで並べます。メーカーは問いません。元の型番と同じメーカーの型番も他社の型番も、同じ規則で扱います。",
      "reads": "選んで並べるのに使うのは、カテゴリごとに下に挙げた項目の標準条件の値（注文型番の値を含む）と、生産状態・メーカー名（日本語の表示名）・型番・URL の名前（slug）だけです。",
      "stages": [
        {
          "id": "same_category",
          "kind": "filter",
          "text": "元の型番と同じカテゴリの型番だけを候補にします。元の型番そのものは除きます。"
        },
        {
          "id": "must_match",
          "kind": "filter",
          "text": "カテゴリごとの「必ず一致させる項目」で、元の型番の値を1つでも持つ型番だけを残します。語が違えば別の値です（ピッチを書かない M42 と M42x1 も別）。none（取り付け部なし）と other（語彙に無い方式）は一致に数えません。元の型番にその項目の値が無ければ、その項目では絞りません（そのことを結果に示します）。"
        },
        {
          "id": "discontinued_last",
          "kind": "order",
          "text": "生産終了の型番は、ほかの型番の後ろに並べます（外しはしません）。新規採用は非推奨の型番は、印を付けてほかの型番と同じに並べます。"
        },
        {
          "id": "score_desc",
          "kind": "order",
          "text": "近さの高い順に並べます。近さは 1 から「軸ごとの距離の重み付き平均」を引いた値です（下の「距離」と、カテゴリごとの軸と重み）。"
        },
        {
          "id": "maker_name",
          "kind": "tiebreak",
          "text": "近さが同じなら、メーカー名（日本語の表示名）の順に並べます。比べ方は型番の並べ方のメーカー名の段と同じです。"
        },
        {
          "id": "model",
          "kind": "tiebreak",
          "text": "メーカー名も同じなら、型番の順に並べます。"
        },
        {
          "id": "slug",
          "kind": "tiebreak",
          "text": "それも同じなら、URL の名前（slug）の順に並べます。並びは必ず1つに決まります。"
        }
      ],
      "far_ratio": 2,
      "distance": "数値の軸の距離は、元の型番の値と候補の値の比の対数を、far_ratio の比の対数で割った値です（far_ratio が 2 なら、倍か半分で 1。1 を超えれば 1 とします）。範囲の値（焦点距離など）は下端どうしと上端どうしの距離の平均、外形は幅・高さ・奥行きの距離の平均です。選択肢の軸は、同じ値を1つでも持てば 0、持たなければ 1 です。値が複数あれば、最も近い組で比べます。元の型番に値の無い軸は使わず、候補に値の無い軸は距離 1 とします。使える軸が1つも無ければ、近さはすべて 1 です。近さは小数6桁に丸めます。",
      "cut": "型番ページと MCP サーバーは、決まった件数で先頭から切りますが、最後の型番と同じ近さの型番は全部出します（同点の途中で切りません）。並びの位置で特定の会社を目立たせないためです。",
      "categories": [
        {
          "category": "area-cameras",
          "must_match": [
            {
              "field": "lens_mount",
              "text": "レンズマウント（同じレンズを付けられること）"
            }
          ],
          "near": [
            {
              "axis": "sensor_diagonal_mm",
              "weight": 2,
              "text": "センサの対角（横と縦の有効画素数に画素の横と縦の大きさを掛けた長さから計算した mm。レンズの像の大きさに合うか）"
            },
            {
              "axis": "pixels_h",
              "weight": 1,
              "text": "有効画素数（横）"
            },
            {
              "axis": "pixels_v",
              "weight": 1,
              "text": "有効画素数（縦）"
            },
            {
              "axis": "max_frame_rate_fps",
              "weight": 1,
              "text": "最大フレームレート"
            },
            {
              "axis": "interface",
              "weight": 1,
              "text": "インターフェースの規格（GigE・USB3・CoaXPress など。速度や接続数の細部は比べません）"
            },
            {
              "axis": "dimensions_mm",
              "weight": 1,
              "text": "外形（幅・高さ・奥行き）"
            }
          ]
        },
        {
          "category": "fa-lenses",
          "must_match": [
            {
              "field": "lens_mount",
              "text": "レンズマウント（同じカメラに付けられること）"
            }
          ],
          "near": [
            {
              "axis": "focal_length_mm",
              "weight": 2,
              "text": "焦点距離（単焦点は 1 つの値、ズームは下端と上端）"
            },
            {
              "axis": "magnification",
              "weight": 2,
              "text": "倍率（テレセントリックなど焦点距離を書かないレンズ）"
            },
            {
              "axis": "image_circle_mm",
              "weight": 1,
              "text": "イメージサークル"
            }
          ]
        },
        {
          "category": "line-scan-cameras",
          "must_match": [
            {
              "field": "lens_mount",
              "text": "レンズマウント（同じレンズを付けられること）"
            }
          ],
          "near": [
            {
              "axis": "sensor_length_mm",
              "weight": 2,
              "text": "センサ長（画素数に画素の横幅を掛けて計算した線の長さ。mm）。重みを 2 にしたのは、レンズの像の大きさに収まるかと、同じレンズで撮れる幅を決めるため"
            },
            {
              "axis": "pixels_per_line",
              "weight": 1,
              "text": "画素数（1 ラインの画素の数）"
            },
            {
              "axis": "pixel_width_um",
              "weight": 1,
              "text": "画素の横幅（線の向きの画素の大きさ）"
            },
            {
              "axis": "max_line_rate_khz",
              "weight": 1,
              "text": "最大ラインレート"
            },
            {
              "axis": "interface",
              "weight": 1,
              "text": "インターフェースの規格（Camera Link・CoaXPress・GigE など。速度や接続数の細部は比べません）"
            },
            {
              "axis": "dimensions_mm",
              "weight": 1,
              "text": "外形（幅・高さ・奥行き）"
            }
          ]
        },
        {
          "category": "stepping-motors",
          "must_match": [
            {
              "field": "frame_shape",
              "text": "外形の形（角形・丸形。取り付けの形が同じこと）"
            }
          ],
          "near": [
            {
              "axis": "frame_size_mm",
              "weight": 2,
              "text": "取付角・外径（角形は □ の一辺、丸形は外径の mm）。重みを 2 にしたのは、同じ場所に取り付けられるかを決めるため"
            },
            {
              "axis": "step_angle_deg",
              "weight": 1,
              "text": "基本ステップ角"
            },
            {
              "axis": "holding_torque_n_m",
              "weight": 1,
              "text": "保持トルク"
            },
            {
              "axis": "rated_current_a",
              "weight": 1,
              "text": "定格電流（相あたり）"
            },
            {
              "axis": "body_length_mm",
              "weight": 1,
              "text": "本体の長さ"
            }
          ]
        },
        {
          "category": "fiber-amplifiers",
          "must_match": [
            {
              "field": "control_output",
              "text": "制御出力（NPN・PNP。つなぐ機器の入力に合うこと）"
            }
          ],
          "near": [
            {
              "axis": "response_time_us",
              "weight": 1,
              "text": "応答時間（標準のモードの値）"
            },
            {
              "axis": "light_source_color",
              "weight": 1,
              "text": "光源の色"
            },
            {
              "axis": "amplifier_type",
              "weight": 1,
              "text": "アンプの種類（デジタル・手動・カラーなど）"
            },
            {
              "axis": "max_output_current_ma",
              "weight": 1,
              "text": "最大出力電流"
            }
          ]
        },
        {
          "category": "fiber-units",
          "must_match": [
            {
              "field": "detection_method",
              "text": "検出方式（透過型・反射型など。同じ置き方で使えること）"
            }
          ],
          "near": [
            {
              "axis": "detection_distance_mm",
              "weight": 2,
              "text": "検出距離（標準のモードの値）。重みを 2 にしたのは、要る距離で検出できるかを決めるため"
            },
            {
              "axis": "head_shape",
              "weight": 1,
              "text": "先端の形"
            },
            {
              "axis": "optical_axis_direction",
              "weight": 1,
              "text": "光軸の向き（先端方向・側面方向）"
            },
            {
              "axis": "fiber_length_m",
              "weight": 1,
              "text": "ファイバ長"
            },
            {
              "axis": "special_resistance",
              "weight": 1,
              "text": "特別な耐性（耐熱・耐薬品・耐真空・耐屈曲）"
            }
          ]
        }
      ]
    }
  },
  "fees": {
    "same_for_all": true,
    "unit": "inquiry",
    "currency": "JPY",
    "amount": 0,
    "tax": null,
    "effective_from": null,
    "invalid_inquiry_rule": null
  }
}