<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ojus | Zoom Dev</title>
    <description>The latest articles on Forem by Ojus | Zoom Dev (@zoomdevojus).</description>
    <link>https://forem.com/zoomdevojus</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F871217%2F90266514-c8a9-4d01-95e7-4ba24f8eda5d.jpeg</url>
      <title>Forem: Ojus | Zoom Dev</title>
      <link>https://forem.com/zoomdevojus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/zoomdevojus"/>
    <language>en</language>
    <item>
      <title>Leveraging Zoom WebSockets with Postman for Real-Time Interactivity - POSTCON 2024</title>
      <dc:creator>Ojus | Zoom Dev</dc:creator>
      <pubDate>Mon, 29 Apr 2024 22:18:48 +0000</pubDate>
      <link>https://forem.com/zoomdevojus/leveraging-zoom-websockets-with-postman-for-real-time-interactivity-postcon-2024-2mii</link>
      <guid>https://forem.com/zoomdevojus/leveraging-zoom-websockets-with-postman-for-real-time-interactivity-postcon-2024-2mii</guid>
      <description>&lt;p&gt;The faster technology evolves, the more critical real-time data becomes for informed decisions. Our today's world is an era of rapid change and the ability to access and analyze real time data is not a luxury, but a necessity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Zoom: Empowering Developers with Choice&lt;/strong&gt;&lt;br&gt;
At &lt;a href="//zoom.us"&gt;Zoom&lt;/a&gt;, we understand the challenges developers face. That's why we prioritize providing a comprehensive &lt;a href="https://developers.zoom.us/"&gt;Developer Platform&lt;/a&gt; with multiple options to integrate seamlessly into your existing workflows. Whether you're building entirely new applications or enhancing existing ones, Zoom empowers you with the tools you need to succeed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unlocking Real-Time Interactions with Zoom WebSockets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzoam0o2j8nh60z61z4xu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzoam0o2j8nh60z61z4xu.jpg" alt="Ojus-Save" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm excited to be speaking at &lt;a href="https://www.postman.com/postcon/"&gt;POSTCON&lt;/a&gt;, where I will dive into the world of real-time data using Zoom's innovative &lt;a href="https://developers.zoom.us/docs/api/rest/websockets/"&gt;WebSockets&lt;/a&gt;. We'll seamlessly test these functionalities with the help of &lt;a href="https://www.postman.com/"&gt;POSTMAN&lt;/a&gt;. This session is designed to give you a glimpse into how we at Zoom are enhancing the real-time capabilities of our platform to ensure faster, more reliable communication. During this session, we'll explore the limitations with Webhooks and why WebSockets are becoming a preferable alternative for real-time, bi-directional communication.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;See WebSockets in Action for yourself&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'll showcase how to establish and utilize a WebSocket connection, highlighting its efficiency and reliability compared to traditional Webhooks. We'll jump into a live demo where I'll show you how easy it is to test and use Zoom WebSockets with our award winning Zoom API collection on Postman. This will give you a kickstart to integrating real-time data into your own projects right away.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connect with the Zoom Team at POSTCON&lt;/strong&gt;&lt;br&gt;
We care about your success! Feel free to connect with me or other Zoomies during POSTCON to explore how the Zoom Developer Platform can help you leverage real-time data within your existing workflows. We're happy to discuss your specific use cases, gather your valuable feedback, and potentially collaborate on exciting projects. &lt;/p&gt;

</description>
      <category>api</category>
      <category>websockets</category>
      <category>postman</category>
      <category>zoom</category>
    </item>
    <item>
      <title>The Zoom GraphQL API playground: Your new favorite development tool</title>
      <dc:creator>Ojus | Zoom Dev</dc:creator>
      <pubDate>Fri, 31 Mar 2023 18:03:43 +0000</pubDate>
      <link>https://forem.com/zoom/the-zoom-graphql-api-playground-your-new-favorite-development-tool-59n5</link>
      <guid>https://forem.com/zoom/the-zoom-graphql-api-playground-your-new-favorite-development-tool-59n5</guid>
      <description>&lt;p&gt;The Zoom &lt;a href="https://developers.zoom.us/docs/api/graphql/overview/" rel="noopener noreferrer"&gt;GraphQL API beta&lt;/a&gt; provides an alternative to our REST API that gives you the flexibility to create queries and data mutations that meet your specific use case requirements.To support your development efforts using this new API design, we’ve launched the Zoom GraphQL API playground, a powerful in-browser IDE that provides an interactive UI to test and explore Zoom’s GraphQL APIs. &lt;/p&gt;

&lt;p&gt;In this blog post, we'll walk you through the Zoom GraphQL API Playground and show you how to navigate the APIs schema, execute queries, and perform mutations. &lt;/p&gt;

&lt;h2&gt;
  
  
  What are GraphQL queries and mutations?
&lt;/h2&gt;

&lt;p&gt;Before we get started, it’s helpful to understand the difference between GraphQL queries and mutations. &lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;GraphQL query&lt;/strong&gt; is a request for fetching specific data from a server. It allows developers to specify the fields they need and the relationships between those fields. This allows developers to get only the data they need from Zoom, reducing the amount of unnecessary data that is transferred over our network.&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;GraphQL mutation&lt;/strong&gt;, on the other hand, is a request to modify data on the server. It allows developers to create, update, or delete data in their Zoom account.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get started with the Zoom GraphQL API playground
&lt;/h2&gt;

&lt;p&gt;The Zoom GraphQL API is currently in beta. To access this powerful development tool, fill out the beta intake form &lt;a href="https://beta.zoom.us/key/GRAPHQL" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
To get started with the Zoom GraphQL API playground, navigate to &lt;a href="https://nws.zoom.us/graphql/playground" rel="noopener noreferrer"&gt;https://nws.zoom.us/graphql/playground&lt;/a&gt; in your browser. You will see a split-screen interface with three sections: &lt;strong&gt;HTTP Headers&lt;/strong&gt;, &lt;strong&gt;Query Variables&lt;/strong&gt;, and &lt;strong&gt;Query Editor&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fskp9ageepqcjv1phingl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fskp9ageepqcjv1phingl.png" alt="Playground Options"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;HTTP Headers&lt;/strong&gt; section allows you to add your access token to authenticate your request. &lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Query Variables&lt;/strong&gt; section gives you the option to add variables under Variables when you are making mutations.&lt;br&gt;
To authenticate your requests, add an access token to the &lt;strong&gt;HTTP Headers&lt;/strong&gt; section. Here is what the syntax will look like:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

{
  "Authorization": "Bearer &amp;lt;Token&amp;gt;"
}



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;You can use either the &lt;a href="https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app/" rel="noopener noreferrer"&gt;server-to-server OAuth access token&lt;/a&gt; or the &lt;a href="https://marketplace.zoom.us/docs/guides/auth/oauth/" rel="noopener noreferrer"&gt;user-authorized OAuth access token&lt;/a&gt;. To use server-to-server OAuth, generate a token with this &lt;a href="https://github.com/zoom/server-to-server-oauth-token" rel="noopener noreferrer"&gt;S2S OAuth utility script&lt;/a&gt; and copy it to your clipboard.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Query Editor&lt;/strong&gt; section is where you write your GraphQL queries. As you type, the playground suggests fields, types, and arguments to make it easy for you to write your query.&lt;br&gt;
Here’s an example of  a query you can use to get a list of users from your Zoom account:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

{
  "Authorization": "Bearer &amp;lt;Token&amp;gt;"
}


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

{
  users(first:100){
    edges{
    id
    firstName
    lastName
    department
    }
  }
}



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Once you've written your query, click the “Play” button in the middle of the window to test it. The results will appear in the right-hand window. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F64ey7y6w0358q4reuaio.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F64ey7y6w0358q4reuaio.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Write a GraphQL API mutation
&lt;/h2&gt;

&lt;p&gt;Now, let’s write a mutation to create a user with the GraphQL API playground. &lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Query Editor section&lt;/strong&gt;, add the mutation to create users:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

mutation createUser ($input: UserCreateInput!) {
    createUser (input: $input) {
        email
    id
        firstName
        lastName
        type
    }
}


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In the Query Variables section, define variables to use in the GraphQL Query. Here we will input the details that are necessary to create a user:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;


 {
  "input": {
    "action": "CUST_CREATE",
    "userInfo": {
    "email": "test+4@test.zoom.us",
    "firstName": "Test",
    "lastName": "User 2",
    "type": "Basic"
    }
  }
}


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Click the “Play” button to make the mutation. The output will only return the fields that we asked for when making the query. In this case the following fields:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

email
 id
 firstName
 lastName
 type


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Here is how the output looks: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0idbs70twwsqt276fjh0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0idbs70twwsqt276fjh0.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To recap, in the two examples above we’ve queried (read) data and performed a mutation (wrote) on our account. For a full list of the queries and mutations available, click the “Docs” icon at the top right of the playground to browse the reference documentation or visit the &lt;a href="https://developers.zoom.us/docs/graphql/reference/" rel="noopener noreferrer"&gt;Zoom GraphQL API Reference&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why use the Zoom GraphQL API playground?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Rich user interface&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The GraphQL API playground provides a modern user interface that is easy to navigate and use. It includes features like auto-complete, syntax highlighting, and query history that help streamline the development process. The playground also has a "Prettify" button that formats your query to make it more readable. You can open multiple tabs in the playground to perform a variety of operations like exploring the documentation, merging fragments into queries and changing the theme of your UI amongst others.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftfi8o2mvtsjveb4mo0qa.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftfi8o2mvtsjveb4mo0qa.gif" alt="Rich User Interface"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interactive API exploration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The playground provides an interactive environment for exploring an API's functionality. Developers can use it to browse through the schema, view documentation, and experiment with queries and mutations. For your convenience, the Zoom GraphQL API playground has embedded documentation that allows you to see the available fields, types, and arguments for a query.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwevnibnlnwpf2lel0lt2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwevnibnlnwpf2lel0lt2.gif" alt="Interactive API Exploration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automatic query validation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The playground automatically validates queries as they are entered, providing feedback on syntax errors and suggesting possible corrections. This helps developers avoid common mistakes, save time spent correcting errors, and improve query accuracy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1fefrdye4j46l4cuat05.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1fefrdye4j46l4cuat05.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Merge fragments into queries&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The "Merge fragments into query" button in the GraphQL API playground allows you to combine multiple fragments into a single GraphQL query.&lt;br&gt;
When you click on the “Merge fragments into the query” button, the GraphQL playground takes all of the fragments in the current query and merges them into a single query. This is helpful when you have a large number of fragments used across your queries and you want to consolidate them into a more organized and streamlined query.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ki12wwyg6ubmfz10zmw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ki12wwyg6ubmfz10zmw.gif" alt="Fragments and Queries"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The Zoom GraphQL API playground is a useful tool for streamline your development process, improve your code quality, and make sure that your API is functioning correctly. &lt;/p&gt;

&lt;p&gt;Ready to take your development game to the next level? &lt;a href="https://beta.zoom.us/key/GRAPHQL" rel="noopener noreferrer"&gt;Join the Zoom GraphQL API&lt;/a&gt; beta to get early access to new features and updates while shaping the roadmap for this impactful tool . What are you waiting for? Give the &lt;a href="https://nws.zoom.us/graphql/playground?" rel="noopener noreferrer"&gt;GraphQL playground&lt;/a&gt; a try!&lt;/p&gt;

</description>
      <category>graphql</category>
      <category>api</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
