webex

    1.153.0 • Public • Published

    Webex

    standard-readme compliant

    The Cisco Webex JS SDK

    Upgrading from CiscoSpark to Webex?

    Install

    npm install --save webex

    Usage

    To use the SDK, you will need Cisco Webex credentials. If you do not already have a Cisco Webex account, visit Cisco Webex for Developers to create your account and retrieve your access token.

    See the detailed docs for more usage examples.

    const Webex = require(`webex`);
    const webex = Webex.init({
      credentials: {
        access_token: <your webex access token>
      }
    });
    
    // Create a room with the title "My First Room"
    // Add Alice and Bob to the room
    // Send a **Hi Everyone** message to the room
    webex.rooms.create({ title: `My First Room` }).then(room => {
      return Promise.all([
        webex.memberships.create({
          roomId: room.id,
          personEmail: `alice@example.com`
        }),
        webex.memberships.create({
          roomId: room.id,
          personEmail: `bob@example.com`
        })
      ]).then(() =>
        webex.messages.create({
          markdown: `**Hi Everyone**`,
          roomId: room.id
        })
      );
    });

    A note on browser usage

    We provide a built, minified version of the SDK, that includes window.Webex. You can access it via unpkg, jsdelivr, or gitcdn.xyz.

    <!-- unpkg -->
    <script src="https://unpkg.com/webex/umd/webex.min.js"></script>
    <!-- jsdelivr -->
    <script src="https://cdn.jsdelivr.net/npm/webex/umd/webex.min.js"></script>
    <!-- gitcdn -->
    <script src="https://gitcdn.xyz/repo/webex/webex-js-sdk/master/packages/node_modules/webex/umd/webex.min.js"></script>

    If you're already using a bundler (like Webpack) you can simply import/require the package and use the above snippet and assign the initialized webex variable to window.webex. For a quick example, we'll use Parcel to bundle the SDK for a website. For any more information and questions on how to use Parcel, please head to their website.

    1. Create index.js.
    import { init as initWebex } from 'webex';
    
    // Initialize the SDK and make it available to the window
    const webex = (window.webex = initWebex({
      credentials: {
        access_token: <your webex access token>
      }
    }));
    
    // Create a room with the title "My First Room"
    webex.rooms
      .create({
        title: 'My First Room!'
      })
      .catch((error) => {
        console.error(error);
      });
    
    // Filter for "My First Room" from the last 10 rooms
    webex.rooms
      .list({
        max: 10
      })
      .then((rooms) => {
        // Destructure room properties for its id (aliased to roomId) and title
        const { id: roomId, title } = rooms.items.filter(
          room => room.title === 'My First Room!'
        )[0];
    
        // Post message "Hello World!" to "My First Room!"
        webex.messages.create({
          roomId,
          text: 'Hello World!'
        });
    
        // Log the the room name and the message we created
        return webex.messages
          .list({ roomId, max: 1 })
          // Destructure promised value to get the text property from the first item in items array
          .then(({ items: [{ text }] }) =>
            console.log(`Last message sent to room "${title}": ${text}`)
          );
      })
      .catch((error) => {
        console.error(error);
      });
    1. Create index.html.
    <html>
      <head>
        <title>Webex SDK for Browsers</title>
      </head>
      <body>
        <script src="./index.js"></script>
      </body>
    </html>
    1. Run parcel index.html in your terminal.
    2. Go to http://localhost:1234 and open the developer console to see the output.

    Still using webex/env or ciscospark/env?

    API

    Full API docs are published at the docs site.

    Maintainers

    This package is maintained by Cisco Webex for Developers.

    Contribute

    Pull requests welcome. Please see CONTRIBUTING.md for more details.

    License

    © 2016-2020 Cisco and/or its affiliates. All Rights Reserved.

    Keywords

    none

    Install

    npm i webex

    DownloadsWeekly Downloads

    3,282

    Version

    1.153.0

    License

    MIT

    Unpacked Size

    12.6 MB

    Total Files

    29

    Last publish

    Collaborators

    • adamweeks
    • mattnorris
    • taymoork2
    • webex-jenkins