Three lines

Uber

Developers

JS SDK Guide

はじめに

Uber JS SDK を利用すると、Uber Direct API と Organization API のアプリケーションへの組み込みが簡単になります。このガイドでは、JS SDK の設定と初回の API 呼び出しの実行方法について説明します。これは JavaScript と Node.js に精通していること、Node.js と npm のインストールが完了していることを前提としています。

要件

Uber Direct アカウント

Uber Direct 開発者アカウントを作成するには、Get Started セクション に移動し、表示される手順に従って進みます。既にアカウントを持っている場合は、サインインするとダッシュボードの [開発者] タブでキーを見つけることができます。

各 API にアクセスするには、アプリに以下のスコープが必要です。

  • DaaS API: eats.deliveries
  • Organizations API: direct.organizations

アクセストークンをリクエストする際に、これらのスコープを渡す必要があります(以下の Authentication を参照)。

Node

このパッケージはバージョン 18 以上の Node に対応しています。Mac では brew を使ってインストールできます。

brew install node@18

Windows では nvm-windows を確認してください。

Node のダウンロードについての詳細は、こちらの リンク をご覧ください。

インストール

Uber JS SDK をインストールするには次のコマンドを実行します。

npm install uber-direct

環境変数を設定する

Uber Direct JS SDK を使用するには、クライアント ID とクライアントシークレットで認証を行う必要があります。API 呼び出しを実行するにはカスタマートークンも必要です。これらを環境変数として設定します。

export UBER_DIRECT_CLIENT_ID=your_client_id
export UBER_DIRECT_CLIENT_SECRET=your_client_secret
export UBER_DIRECT_CUSTOMER_ID=your_customer_token

認証

Uber API で認証を行うには、環境変数ファイルに設定したクライアント ID とクライアントシークレットを使用してアクセストークンを取得します。以下はその手順の一例です。

import { getAccessToken } from "uber-direct/auth";

getAccessToken()
  .then((token) => console.log(`Your access token is: ${token}`))
  .catch((error) =>
    console.error(`Error fetching access token: ${error.message}`)
  );

API 呼び出しを実行する

Uber JS SDK を使用して API 呼び出しを実行する手順の例を以下に示します。

その他の例については Github サンプルリポジトリ を参照してください。

配達見積を取得する
import { getAccessToken } from 'uber-direct/auth';
import { createDeliveriesClient } from "uber-direct/deliveries";

const token = await getAccessToken();
const deliveriesClient = createDeliveriesClient(token);

const quoteReq = {
  pickup_address: "{\"street_address\":[\"100 Maiden Ln\"],\"city\":\"New York\",\"state\":\"NY\",\"zip_code\":\"10023\",\"country\":\"US\"}",
  dropoff_address: "{\"street_address\":[\"30 Lincoln Center Plaza\"],\"city\":\"New York\",\"state\":\"NY\",\"zip_code\":\"10023\",\"country\":\"US\"}",
};
const quote = await deliveriesClient.createQuote(quoteReq);
配達を作成する
import { getAccessToken } from 'uber-direct/auth';
import { createDeliveriesClient } from "uber-direct/deliveries";

const token = await getAccessToken();
const deliveriesClient = createDeliveriesClient(token);

const deliveryRequest = {
  pickup_name: 'Store Name',
  pickup_address: "{\"street_address\":[\"100 Maiden Ln\"],\"city\":\"New York\",\"state\":\"NY\",\"zip_code\":\"10023\",\"country\":\"US\"}",
  pickup_phone_number: '+14155551212',
  dropoff_name: 'Customer Name',
  dropoff_address: "{\"street_address\":[\"30 Lincoln Center Plaza\"],\"city\":\"New York\",\"state\":\"NY\",\"zip_code\":\"10023\",\"country\":\"US\"}",
  dropoff_phone_number: '+14155551212',
  manifest_items: [
    {
      name: 'Thing 1',
      quantity: 1,
      size: 'small',
      price: 1000
    },
  ]
};
const delivery = await deliveriesClient.createDelivery(deliveryRequest);
サポート

コードのバグで修正が必要なものを見つけた場合、または SDK に追加してほしい機能がある場合は、次のフォームからリクエストできます。https://p.uber.com/sdk-bugs

Uber

Developers
© 2025 Uber Technologies Inc.