連携ガイド

ネクストエンジンAPI連携|認証・実装・サンプルコード

ネクストエンジンAPI連携|認証・実装・サンプルコード

ネクストエンジン(NE)は楽天市場・Amazon・Yahoo!ショッピング・ZOZOTOWN等のモール多店舗運営で広く使われる受注・在庫一元管理ツールです。API連携を組むことで、自社ECや基幹システム・倉庫管理システム(WMS)と直接データ連携できます。必要な操作がAPIで提供されている範囲では、手動のCSV受け渡しを自動化できます。対象外の処理や例外時の運用は別途設計してください。

結論から言うと、ネクストエンジンAPIは「access token・refresh tokenによる認証+POSTで呼び出すAPI」という作りで、トークンの更新・保存を正しく組めば実装難易度は高くありません。本記事ではAPI利用開始までの準備、認証フロー、主要エンドポイント、Python・Node.jsのサンプルコード、利用上限への対策、エラー対処までを実装担当者の視点で整理します。エンジニア・情報システム担当者向けの内容です。

ネクストエンジンAPIの全体像

ネクストエンジンAPIは、ネクストエンジン本体の機能を外部から操作できるAPI群です。商品・受注・在庫・顧客・発注などのデータを扱えます。利用可能な操作・更新方式は、対象APIの個別リファレンスで確認してください。

商用アプリAPI

複数ユーザーに提供するアプリ用

  • ネクストエンジン審査必要
  • アプリストア掲載可能

自社利用API

自社システムとの連携用

  • 審査不要・即時利用可
  • 本記事の対象

バッチ・通知系

非同期処理・Webhook

  • 大量データの非同期処理
  • イベント通知
図1:ネクストエンジンAPIの3カテゴリ

本記事では自社利用APIに絞って解説します。多店舗運営者が「自社ECとネクストエンジンの在庫を同期したい」「基幹システムから受注ステータスを更新したい」といった用途で実装するパターンを想定しています。

利用開始までの準備

ネクストエンジンAPIを使い始めるまでの手順は次の5ステップです。利用開始までの所要時間は、契約状況、アカウントの準備、認証用環境の構築状況によって変わります。

ネクストエンジン本体契約

本体とAPIの利用に必要な契約・費用を、利用形態に応じて確認。API利用料は公開形態・リクエスト数により発生する場合あり

ネクストエンジン Developers登録

developer.next-engine.net で開発者アカウント作成

アプリ登録

「アプリ作成」でClient ID・Client Secretを取得

コールバックURL設定

認証後の戻り先URLを登録

初回認証とトークン取得

初回認証でaccess token・refresh tokenを取得して保存

図2:API利用開始までの5ステップ

商用アプリとして公開する場合は審査がありますが、自社利用なら審査不要で即時利用開始できます。Client ID・Client Secret・コールバックURLが揃った時点で実装に入れます。なお、API利用料はアプリの公開形態、月間リクエスト数、通信量により発生する場合があります。特定企業向け公開アプリの料金表を確認してください。

認証フローと実装

ネクストエンジンAPIでは、初回認証で受け取るuid・stateを用いてaccess tokenとrefresh tokenを取得します。フローは4ステップに分かれます。

認可リクエスト

ユーザーをネクストエンジン認可画面にリダイレクト。client_id・redirect_uriを付与

uid・state受領

ユーザー承認後、コールバックURLにuid・stateが返る

トークン交換

uid・stateをaccess token・refresh tokenに交換

APIリクエスト

access token・refresh tokenの両方をパラメータに含めてAPIを呼び出し

図3:ネクストエンジンAPIの認証フロー

認可リクエストのURL例:

https://base.next-engine.org/users/sign_in/?client_id=YOUR_CLIENT_ID&redirect_uri=https://yourapp.example.com/callback

トークン交換のリクエスト例(POST):

POST https://api.next-engine.org/api_neauth
Content-Type: application/x-www-form-urlencoded

uid=ABC123&state=XYZ&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET

レスポンスにaccess_token・refresh_tokenが含まれます。access tokenの有効期限は1日、refresh tokenは3日です。リクエストごとに両方を送り、レスポンスで更新されたトークンを必ず保存してください。初回認証後も、トークン有効期限を維持するため定期的なAPI実行と、更新トークンの永続化が必要です。公式クイックスタートは、期限切れを防ぐため2日より前に定期的にAPIを実行することを推奨しています。

主要エンドポイント一覧

ネクストエンジンAPIで提供される主要エンドポイントを、用途別に整理します。

用途主要エンドポイント主な操作
商品マスタ/api_v1_master_goods/search
/api_v1_master_goods/upload
商品検索・一括登録・更新
受注/api_v1_receiveorder_base/search
/api_v1_receiveorder_base/update
受注検索・ステータス更新
在庫/api_v1_master_stock/search在庫数取得(更新は対象マスタとアップロード方式を事前検証)
顧客/api_v1_master_member/search顧客検索
発注/api_v1_master_supplier/search
/api_v1_purchaseorder_base/search
仕入先・発注検索
出荷/api_v1_master_shipping/search出荷情報取得
モール連携/api_v1_master_shop/search店舗・モール情報取得
カテゴリ/api_v1_master_category/searchカテゴリ取得・更新
表1:ネクストエンジンAPI主要エンドポイント

各エンドポイントはGETではなくPOSTで送信し、パラメータをform-data または query string で渡す形式です。レスポンスは標準でJSON形式(XML選択も可)。詳細仕様はネクストエンジン Developersのリファレンスで確認できます。

サンプルコード(Python・Node.js)

受注一覧を取得する最小コード例を、PythonとNode.jsで示します。両言語とも標準ライブラリ+HTTP通信ライブラリで実装可能です。

Python例(requests使用):

import requests
import json

# 環境変数または設定ファイルから取得
CLIENT_ID = "YOUR_CLIENT_ID"
CLIENT_SECRET = "YOUR_CLIENT_SECRET"
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"  # 事前に取得済み
REFRESH_TOKEN = "YOUR_REFRESH_TOKEN"

API_BASE = "https://api.next-engine.org"

def fetch_receiveorders(access_token, refresh_token, start_date):
    """受注検索API"""
    url = f"{API_BASE}/api_v1_receiveorder_base/search"
    payload = {
        "access_token": access_token,
        "refresh_token": refresh_token,
        "wait_flag": "0",
        "fields": "receive_order_id,receive_order_date,receive_order_total_amount",
        "receive_order_date-gte": start_date,
        "limit": "100"
    }
    response = requests.post(url, data=payload)
    return response.json()

result = fetch_receiveorders(ACCESS_TOKEN, REFRESH_TOKEN, "2026-06-01")
print(json.dumps(result, ensure_ascii=False, indent=2))

Node.js例(axios使用):

const axios = require("axios");

const CLIENT_ID = process.env.NE_CLIENT_ID;
const CLIENT_SECRET = process.env.NE_CLIENT_SECRET;
const ACCESS_TOKEN = process.env.NE_ACCESS_TOKEN;
const REFRESH_TOKEN = process.env.NE_REFRESH_TOKEN;

const API_BASE = "https://api.next-engine.org";

async function fetchReceiveOrders(startDate) {
  const url = `${API_BASE}/api_v1_receiveorder_base/search`;
  const params = new URLSearchParams({
    access_token: ACCESS_TOKEN,
    refresh_token: REFRESH_TOKEN,
    wait_flag: "0",
    fields: "receive_order_id,receive_order_date,receive_order_total_amount",
    "receive_order_date-gte": startDate,
    limit: "100",
  });
  const res = await axios.post(url, params);
  return res.data;
}

fetchReceiveOrders("2026-06-01").then((data) => {
  console.log(JSON.stringify(data, null, 2));
});

レスポンスには更新されたaccess_token・refresh_tokenが含まれます。新しいトークンを必ず保存して次回リクエストに使ってください。access tokenの有効期限は1日、refresh tokenは3日のため、トークン有効期限を維持する定期的なAPI実行も組み込みます。

利用上限とリトライ設計

APIの利用上限・大量処理時の推奨方式は、最新の公式APIリファレンスとサポート案内で確認してください。実装ではリクエスト間隔の制御とリトライを最初から組み込むのが現実的です。

状況対策実装方針
HTTP 500/503サーバー側の一時障害30秒〜1分後にリトライ
タイムアウトネットワーク不安定タイムアウト値を設定し、通信例外時の再試行処理を別途実装
トークン期限切れrefresh_tokenで再発行API応答で自動更新される
大量データ取得ページング+スリープ1ページ毎に200msスリープ
表2:エラー対応の実装方針

以下はHTTP 5xx応答時の再試行例(Python)です。試行回数・待機時間は要件に応じて設定し、タイムアウトや通信例外への再試行処理は別途実装してください。

import time

def request_with_retry(url, payload, max_retries=5):
    for attempt in range(max_retries):
        response = requests.post(url, data=payload, timeout=30)
        if response.status_code >= 500:
            time.sleep(30)
            continue
        return response
    raise Exception("Max retries exceeded")

エラーパターンと対処

ネクストエンジンAPI連携でよく遭遇するエラーパターンと対処を整理します。

認証系エラー

トークン期限・不正値

  • 401: トークン無効→refresh_tokenで再発行
  • 403: 権限不足→アプリ権限スコープ見直し
  • refresh_token紛失→初回認可からやり直し

利用上限系

過剰リクエスト

  • 上限は公式リファレンスで確認
  • リクエスト間隔を制御する設計
  • 大量処理は分散実行

データ系

フォーマット違反

  • 400: パラメータ不正→仕様確認
  • 404: リソース未発見→ID確認
  • 422: バリデーション失敗→必須項目確認

サーバー系

一時的障害

  • 500/502/503: 30秒〜1分待機後リトライ
  • 504: タイムアウト→クエリ範囲縮小
  • 長時間続く場合は監視通知
図4:API連携の主要エラー4分類

とくに見落としやすいのが「日付フォーマット」と「文字コード」です。ネクストエンジンは日付を「YYYY/MM/DD HH:MI:SS」または「YYYY-MM-DD HH:MI:SS」、文字コードはUTF-8固定で受け付けます。自社システムが別フォーマットなら、リクエスト前に変換層を入れる設計が必要です。

運用上の注意点

API連携の本番運用で必ず気を付けるべきポイントを整理します。

認証情報の安全管理

Client Secret・Refresh Tokenの扱い

  • 環境変数or秘密管理サービス
  • Gitに絶対コミットしない
  • 定期ローテーション

同時実行の整合性

在庫数の競合

  • 更新前に最新値を取得
  • 排他制御 or 楽観ロック
  • 失敗時はリトライ

監視・通知

本番障害の検知

  • 連携失敗時の通知
  • 利用上限到達アラート
  • 定期的な疎通確認

バックアップ・冪等性

障害からの復旧

  • 更新前データの保存
  • 同一処理の重複実行対策
  • 復旧手順のドキュメント化
図5:API連携運用の4必須項目

ネクストエンジン関連の他記事として ネクストエンジン在庫連携できない原因と対処 もご覧ください。BtoB EC側との連携は BtoB ECサイト比較 、Bカートとの統合は Bカート価格ガイド も参考になります。API仕様の最新ドキュメントは ネクストエンジン Developers で確認できます。

よくある質問

ネクストエンジンのAPIは無料で使えますか?
API利用料はアプリの公開形態、月間リクエスト数、通信量により発生する場合があります。特定企業向け公開アプリの料金表を確認してください。また、API利用にはNEクラウド申込(無料)と、ネクストエンジンDevelopersでのアプリ登録が必要です。商用アプリ(モール販売)の場合は審査がありますが、自社利用の連携用途であれば即時利用可能です。
ネクストエンジンAPIの認証方式は何ですか?
初回認証で取得したaccess tokenとrefresh tokenを用います。フローは①ユーザーをネクストエンジン認可画面に誘導、②uid・stateを受領、③access token・refresh tokenを取得、④APIリクエストに両トークンを付与、という4ステップ。access tokenの有効期限は1日、refresh tokenは3日です。レスポンスで更新されたトークンを必ず保存し、トークン有効期限を維持するため定期的にAPIを実行してください。
ネクストエンジンAPIの利用上限はどこで確認しますか?
APIの利用上限・大量処理時の推奨方式は、最新の公式APIリファレンスとサポート案内で確認してください。バルク処理が必要な場合は、検索系APIは「offset・limit」でページング取得、更新系APIは1件ずつ順次実行する設計が安全です。
ネクストエンジンAPIで何ができますか?
主要なものは①商品マスタの取得・更新、②受注の取得・ステータス更新、③在庫の取得(更新は対象マスタとアップロード方式を事前検証)、④顧客情報の取得、⑤発注・出荷管理、⑥モール別連携情報の取得、⑦カテゴリマスタの操作、です。これにより自社ECサイト・基幹システム・倉庫管理システム(WMS)・PIM等と直接連携できます。必要な操作がAPIで提供されている範囲では手動のCSV受け渡しを自動化できますが、対象外の処理や例外時の運用は別途設計してください。
ネクストエンジンAPI連携で失敗しやすい点は?
①利用上限を超えるリクエスト、②文字コード(UTF-8固定)の取り扱い、③日付フォーマット(YYYY/MM/DD HH:MI:SS)の違い、④モール特有の項目マッピング(楽天・Amazon・Yahoo!の項目名差異)、⑤同時実行時の在庫数の整合性、⑥更新されたトークンの保存漏れ・期限切れによる再認証、⑦APIタイムアウト時のリトライ設計、が代表例です。事前に設計しておくことで防げます。

ネクストエンジンAPI連携の設計・実装サポート

クラバルはネクストエンジンと自社EC(Bカート・Shopify等)・基幹システム・WMSとのAPI連携実装を支援しています。認証・トークン管理の実装、利用上限への対策、エラーハンドリング、本番監視まで含めた設計で、運用負荷の低い自動化を実現します。お気軽にご相談ください。

無料相談する