agora api documentation

For example. The RESTful APIs only support HTTPS. An array of the configuration for each extension service. If you set this parameter, ensure that you set width, height, fps, and bitrate. An array of the user IDs (UIDs) of the users whose video you want to subscribe. You can only set it to the default value, "error_abort", which means that once an error occurs to an extension service, all other non-extension services, such as stream subscription, also stop. The bucket of the third-party cloud storage. "Invalid authentication credentials": The following list contains possible reasons for this message. The resource ID is valid for five minutes, so you need to start recording with this resource ID within five minutes. The unique identification of the current recording. This new user is returned as part of the response, as seen in the examples of section 2. Before using the Agora RESTful API, you need to pass the basic HTTP authentication. It includes file outputs and RSS data feeds. Closing a poll consists of updating its status to CLOSED: Note that a poll may be re-opened at any time by setting its status back to OPEN, and so on. ", "@", "[", "]", "^", "_", " {", "}", "|", "~", ",". If a live broadcast channel has an audience without a host for a set time (. Adding a few lines of code gives limitless communication possibilities to your users. Error handling policy. The validation of the extension service failed. (However, in case a token has leaked and is compromised, it is always possible to replace it by a new one, on the token management page.). This section lists the common errors you may encounter when using the Agora Cloud Recording RESTful APIs. Open Agora does not have priviledged users (or admins). If the error persists after you correct the following issues, contact support@agora.io: No result has been found. It contains detailed help for each Cloud Recording RESTful API and its parameters, and provides the Try it out function which allows you to send RESTful API requests and receive responses directly on the web page. For example, if you set the backgroundColor parameter as "#FF0000" (red) when starting a recording and call this method to update the layout without setting the backgroundColor parameter, the background color changes back to black (the default value). This can be achieved at creation time, by setting the anonymous option to true, or later on, by updating the poll: Note that to preserve confidentiality of existing votes, an anonymous poll cannot be reverted to a non-anonymous one! In both cases, you may add a name or email to the user object, to set or update user data while voting. Call acquire to get a new resource ID. Ultra-low latency and strong interactions, Monitor, track and analyze the quality of calls, A server-side AI teacher provides personalized tutoring to students, An online teacher gives an exclusive lesson to only one student, A teacher gives an online lesson to multiple students, Thousands of students watch an online lecture and "raise hands" to interact, Divide the students in a large online class into small groups, Ultra-low-latency live streaming by one host. To use Agora Cloud Recording again, you need to call the acquire method for a new resource ID. After getting a resource ID, call start to begin cloud recording. Updating a chart does not change its URL, but makes it point to an updated representation of the latest results. subscribeVideoUids: (Optional) JSONArray. AgorAPI allows for a more visual view of the results, and offers to generate result charts for you. Unauthorized (incorrect Customer ID/Customer Secret). region: Number. Ensure that all UIDs in the channel are integers. 2016 - 2020 Agora, Inc. All rights reserved. You must set this parameter in individual mode. AirNow Gateway users can use their existing login information to access the new AirNow API web pages and web services. This error occurs when you use the same parameters to call acquire again and use the new resource ID in the start request. Agora recommends that you do not set the array as empty. Content-type is application/json;charset=utf-8. If you encounter other errors, contact support@agora.io. in which all API calls can be tested. This article contains detailed help for the Cloud Recording RESTful APIs. The video subscription list. Results can be obtained on the /polls/P123456789/results/{result-type} endpoints. This method call overrides the existing subscription configuration. No user in the channel sent a stream during the recording process, or some of the recorded files are uploaded to the Agora Cloud Backup instead of the third-party cloud storage. You need to start recording within five minutes after getting a resource ID. Authorization is the basic authentication, see RESTful API authentication for details. Pay attention to the following parameters, as incorrect settings result in errors or failure to capture screenshots. serverResponse: JSON. The audio subscription list. If Condorcet result is requested however, result entries are sorted as usual, but the score indicates how much consensual the choice is (on a 0 to 100 scale): Condorcet result is best viewed using an horizontal bar chart (X-axis is a percentage): Finally, if the application using AgorAPI is user-aware, it may use some other features to: AgorAPI users can be created using the /users route: In this example we sent no user data, but note that if needed, an email address and/or a name (arbitrary strings used to identify the user on the application side) can be given. You can only set it to the default value, "error_abort", which means that if an error occurs to the current extension service, other extension services also stop. The string length must be less than 64 bytes. The request has been fulfilled, resulting in the creation of a new resource. If you set this parameter, do not set, videoUidList: (Optional) JSON. secretKey: String. Agora Cloud Recording automatically leaves the channel and stops recording when no user is in the channel for more than 30 seconds by default. The length of the array should not exceed 32 UIDs. Endpoint: /v1/apps//cloud_recording/resourceid//sid//mode//update, audioUidList: (Optional) JSON. Configurations for an extension service. The Cloud Recording service does the following after you call start: The following parameters are required in the URL. Instant-runoff result is requested on the /polls/P123456789/results/runoff endpoint. Once you set the parameter, do not set streamTypes in recordingConfig as 1. Supports individual mode (, A string containing the UID of the recording client. To use ApsaraVideo for VoD, configure as follows: During a cloud recording, you can call this method to update the subscription lists multiple times. One example extension service is VoD service. 65: Usually caused by network jitter. Call acquire to get a new resource ID. See Enable Cloud Recording for details. You should be now ready for polling with AgorAPI! Possible reasons: 49: Caused by repeated stop requests with the same resource ID and recording ID (sid). See Set up subscription lists for details. Note that to update a chart after someone has voted, you need to make another GET call to /polls/P123456789/results/majority/charts/{chart-type} Every API request leads to a response by the server. Must be the same. The cURL commands generated by these live calls are shown, AgorAPI provides simple access to complex voting methods (like Condorcet method, instant-runoff or majority judgement). Another possible reason is that you sent your request to a wrong URL. Retrieved votes will come with an empty user: Enjoy AgorAPI and feel free to contact us in case of trouble, or if you have any suggestion to make. exhaustive reference, User ID’s can then be sent to the API when: The latter possibility can be achieved either by sending a user parameter with an id attribute into the vote resource sent to /votes, or by adding it to the endpoint URL /votes/for-poll/P123456789/for-user/{user-id}. to facilitate command-line interaction. A specific client request. ", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ". In practice, that means that a user can indicate a preference level for each choice. snapshotConfig includes the following fields: storageConfig is a JSON object that configures the third-party cloud storage with the following fields. You may also email us at contact@open-agora.com. Something went wrong, please try again later…. The Agora.io simple API/SDK allows you to integrate HD voice and video click to call functionality into your app or website effortlessly. An array of the user IDs (UIDs) of the users whose video you do not want to subscribe. Get a chart URL with a call to /polls/P123456789/results/majority/charts/{chart-type}, where {chart-type} can be: Now, following the URL received in the response you can download the charts! This samples are formatted as follows: Option -i activates the display of the response headers (so that the status code, and the potential links to next results pages, are displayed), -H initializes some headers and -X sets the HTTP method to use. 1001: Fails to parse the resource ID. Please use different keyword to search. Here, we invert the vote user U000000004 sent earlier in section 3: Note that in the absence of user ID in the request body or in the URL, then a new user is created for the request. Finally, the API offers the possibility to create anonymous polls. Voting for the best proposition is as simple as sending the poll_id and choice_id to the /votes endpoint: Voting for several preferred propositions at once is possible, by sending to the /votes/for-poll/P123456789 endpoint the list of desired choices: Before asking for results, obtaining the list of existing votes may be interesting: Once more, be careful about 206 response status code, indicating a partial response. Must be the same UID used in the, A specific client request which includes the, The recording mode. See Set up subscription lists for details. 1003: The App ID or recording ID (sid) does not match the resource ID. If necessary, or if in doubt that a token has leaked, you may replace it with another one on your account. In case of success, the response status is in general 200, and the response body contains the JSON serialization of the returned data (resources retrieved, or actual data added or updated). This new token will have the same rights that the initial one, and this initial one stops working immediately. Agora Web SDK NG now uses the standard Promise-based API to help you write better async operations. recordingConfig has the following fields: transcodingConfig: (Optional) JSON. If the request failed, the response status may be one of. This token (obtained in your account) authentifies the incoming request as coming from you, and will give access to all of your data (read and write). Agora recommends that you do not set the array as empty. About Us The following sections will guide you through more advanced features of the API. Entries are sorted by increasing rank and decreasing score (best choices first). The most usual result is the majority vote count: As you may notice, a result is a (potentially paginated) list of result entries, each of them consisting of a choice associated with a rank and a score. extensionServices: JSONArray. Once the application is installed on your workspace each user may create (and own) a poll, and each member of a given channel may answer a poll whithin this channel. If this method call succeeds, you get a resource ID (resourceId) from the HTTP response body. With Agora, you can embed vivid voice and video in any application, on any device, anywhere. An API token has a “scope” it can interact with. No result has been found. The App ID used in the channel to be recorded. agora.common.Metadata: Defines metadata which is stored to disk (e.g. The recording ID. A missing or invalid API token may give you the following status codes: Additionnally, a 403 error may be returned when you are correctly identified but out of credits. accessKey: String. The regional information specified by the third-party cloud storage:When the third-party cloud storage is Qiniu Cloud (vendor = 0): When the third-party cloud storage is Amazon S3 (vendor = 1): When the third-party cloud storage is Alibaba Cloud (vendor = 2): When the third-party cloud storage is Tencent Cloud (vendor = 3): When the third-party cloud storage is Kingsoft Cloud (vendor = 4): bucket: String. Contact. See. For POST, PUT and PATCH requests, some data is expected in the body of the request, and should be transfered in JSON format. For example, if fileNamePrefix = ["directory1","directory2"], Agora Cloud Recording will add the prefix "directory1/directory2/" before the name of the recorded file, that is, directory1/directory2/xxx.m3u8. GET to retrieve a resource (or a set of resources);; POST to add a (set of) resource;; PUT to replace a resource;; PATCH to partially update a resource;; DELETE to remove a resource. Please use different keyword to search. They can easily be performed on your side in a terminal using the given cURL samples (get it from your usual package manager, or from the official website). clientRequest requires the following parameters: After you start a recording, you can call query to check its status. To create a poll, simply POST a new poll resource, by sending the JSON-encoded poll in the request body (option -d of cURL). peer info) … 1013: The channel name is invalid. creating a poll, to indicate who created the poll (. Once you set the parameter, do not set streamTypes in recordingConfig as 1. All the request URLs and request bodies are case sensitive. Agora recommends that you do not set the array as empty. Error handling policy. The Real-Time Engagement Platform for meaningful human connections.People engage longer when they see, hear, and interact with each other. Agora suggests that you use a write-only access key. For the majority, the score indicates the number of times the choice was voted for, here twice for choice 1 and once for choice 3 (see the list of votes above). Supported character scopes are: 1028: Invalid parameters in the request body of the updateLayout method. 501: The recording service is exiting. The length of the array should not exceed 32 UIDs. Supports composite mode (, A string that contains the UID of the recording client. It means that only people who really use our product are counted as active user. Before voting, one may want to list the different propositions. From documentation to integration, the Agora.io API is straightforward and built on simplicity. This error might occur when you call query after stop. Extension services are a collection of applications that process the media streams generated from the Agora RTC SDK. Agora recommends that you use a backoff strategy, for example, retry after 3 and 6 seconds successively. An array of strings. For example, HTTP header contains incorrectly formatted content. Remark that even in the case of a POST request, since at most one vote per user per choice may exist, any previous vote from the given user for a given choice is removed and replaced by the new one. You can also visit our interactive API documentation Cloud Recording RESTful API. The following parameter is required in the URL. You must configure the stream subscription. 435: No recorded files created. To start multiple recording instances, use a different UID for each instance. subscribeUidGroup: (Optional) Number. Once a poll is anonymous, nothing changes, only it becomes impossible to associate votes to users again. extensionServiceConfig has the following fields: errorHandlePolicy: (Optional) String. You can choose to configure either recorded files or video screenshots at one time. The server cannot process the request due to malformed request syntax, or. This ID is returned every time a new resource is created, and it can be used to refer to this specific resource later on. Once you set this parameter, the recording service subscribes to the video of all UIDs except the specified ones. An interesting feature of AgorAPI is the possibility to send ranked votes, by sorting choices. You can also visit our interactive API documentation Cloud Recording RESTful API.It contains detailed help for each Cloud Recording RESTful API and its parameters, and provides the Try it out function which allows you to send RESTful API requests and receive responses directly on the web page. unSubscribeVideoUids: (Optional) JSONArray. Every Open Agora subscription comes with 10 active users for free, in other words, you may use our product with 10 people as much as you like for free. Punctuation characters and other symbols, including: "! The length of the array should not exceed 32 UIDs. © 2016 - 2020 Agora, Inc. All rights reserved. fileNamePrefix: (Optional) JSONArray. See Set up subscription lists for details. To use ApsaraVideo for VoD, set it as aliyun_vod_service. In order to do that, just make a GET call to the /choices endpoint with the poll_id parameter, to look for choices: Be aware that this request may produce a 206 response status, in case there are many choices, so you should always check the response status code to make sure you got all choices. This second URL allows more flexibility: several votes (for several choices) can be sent at once, and these votes can either replace (PUT method) or complement (POST method) any existing vote for this user. The video transcoding configuration. It should not be a string. Once you set this parameter, the recording service subscribes to the audio of all UIDs except the specified ones. This article contains detailed help for the Cloud Recording RESTful APIs. If you set this parameter, do not set, Endpoint: /v1/apps//cloud_recording/resourceid//sid//mode//updateLayout, Endpoint: /v1/apps//cloud_recording/resourceid//sid//mode//query, Endpoint: /v1/apps//cloud_recording/resourceid//sid//mode//stop, The request frequency limit is 10 requests per second for each App ID. The cURL command above is a good way to start using the API, and to test that your token works. Uploads the recorded files or screenshots to your third-party cloud storage according to, Endpoint: /v1/apps//cloud_recording/resourceid//mode//start. The request frequency limit is 10 requests per second for each App ID. Each extension service has specific compatibility requirements. errorHandlePolicy: (Optional) String. Do not repeat the start request with the same resource ID. Sets the path of the recorded files in the third-party cloud storage. 53: The recording is already running. Since it is a generalization of the majority voting to n rounds, scores express the number of votes received at the last round, and results are also best viewed as vbar or pie charts. recordingFileConfigincludes the following fields: snapshotConfig is a JSON object for configuring how Cloud Recording takes screenshots. 432: The parameter in the request is incorrect. 62: If you receive this error when calling acquire, the cloud recording service is not enabled. The main interest of such voting is that it is richer and more expressive than usual voting, and can be used to obtain more consensual results, taking into account all ranks expressed by each voter. The string itself should not contain symbols such as slash, underscore, or parenthesis. Typescript Support. The resource ID is valid for five minutes. AgorAPI is a RESTful API, i.e., endpoints are mapped to resources, and HTTP methods are used to interact with them: Resources include: polls, choices (propositions of a poll), votes, result entries, and charts. The cloud recording service is not enabled. For convenience, the endpoint /polls/with-choices allows to create a poll with a set of initial choices: This command should return (along with a 200 status) a JSON-encoded content similar to this one: Note that the resulting IDs (of the poll and of the choices) are returned, so you can store them for future use. In order to do that, simply execute. The details about the recording status. For example, the capitalization is wrong or there is an unnecessary space in the. You cannot set this parameter in individual recording mode. Try using Agora Web SDK with async/await ! Either the parameter is invalid, or the App ID, channel name, or UID does not match the resource ID. In particular, results can be computed using the Condorcet (see this post for a more detailed explanation of the algorithm) or instant-runoff methods. The third-party cloud storage vendor. unSubscribeAudioUids: (Optional) JSONArray. The access key of the third-party cloud storage. A specific client request that is empty for this method. For example, when requesting the list of choices from poll P123456789, the API may return the following data: Note that there are 2 exceptions to that: To preserve your data privacy, all API requests must be identified using an API token sent as the query parameter api_token. Must be the same. Fill in the form below to contact us. AgorAPI is a RESTful API, i.e., endpoints are mapped to resources, and HTTP methods are used to interact with them:. Information about Console, Agora Analytics etc. These samples assume that the API_TOKEN shell variable is defined and contains your own token. Retry with the same resource ID. Endpoint: /v1/apps//cloud_recording/acquire, It is a 32-bit unsigned integer within the range between 1 and (2. All requests are sent to the host: api.agora.io. The Agora.io simple API/SDK allows you to integrate HD voice and video click to call functionality into your app or website effortlessly. The estimated maximum number of subscribed users. Once you set the parameter, do not set streamTypes in recordingConfig as 0. resourceId: String. Use the RESTful APIs in the following steps: During the recording, you can call the query method to check the recording status. The remaining sections of this guide contain example of requests. An array of the user IDs (UIDs) of the users whose audio you want to subscribe. This is achieved by associating a rank to each vote: ranks start at 1 (default if omitted) for preferred propositions, and increase as preference decreases: This vote indicates that the user prefers choice 2, then choice 3 comes next, and all remaining choices are ranked last. The AirNow API replaces the previous AirNow Gateway web services. The name of the extension service. ", ">", "? Before starting a cloud recording, you need to call this method to get a resource ID. Generalities Top Resources. A string that contains the UID of the recording client. The server was acting as a gateway or proxy and did not receive a timely response from the upstream server. Each month, active user count is reset. associate each vote with an application user; make sure each user votes at most once (potentially allowing the user to change his vote). Contact support@agora.io if you want to raise the limit. You cannot set both recordingFileConfig and snapshotConfig at the same time, otherwise an error will occur. Possible questions in this article include: Content missing (lack of code or otherwise), Best Practices in Integrating Cloud Recording, the cloud recording service is not enabled, A string that contains the UID of the recording client, for example. As a consequence, you must keep your tokens secret! Once you set the parameter, do not set streamTypes in recordingConfig as 0. This method call overrides the existing layout configurations. On the API side, all requests are encrypted with SSL/TLS since our servers only respond to HTTPS requests. A specific client request that requires the following parameters: The App ID in the channel to be recorded. When performing a GET request, parameters may be added on the query string, in particular when searching for resources (for example, poll_id=P123456789). All subscribed contents have been uploaded to the extension service. If you set up a subscription list for audio, but not for video, then Agora Cloud Recording will not subscribe to any video streams. Agora recommends that you do not set the array as empty. The secret key of the third-party cloud storage. When a recording finishes, call this method to leave the channel and stop recording. Request: See the examples in the following APIs. (or, equivalently, a PUT to /charts/{chart-id}/update, where chart_id is the identifier received when creating the chart, in our example gr34tCh4rt). An array of the user IDs (UIDs) of the users whose audio you do not want to subscribe. See Sample code for an example of using the RESTful APIs. See the following list for details. Processes the subscribed media streams, such as generating recorded files in the specified file format, taking video screenshots, or uploading recorded files to an extension service. The requested resource could not be found. Another token has a different scope, so you can use different tokens for different applications (a poll created with a token will not exist for the other ones). From documentation to integration, the Agora.io API is straightforward and built on simplicity. subscribeAudioUids: (Optional) JSONArray. Each user who has either created a poll or answered on a poll is considered an active user for the current month. serviceParam: JSON. The recording mode. If it does, you should get some information associated with it, otherwise the response status code and body will tell you what is wrong. 7: The recording is already running. Part of the subscribed contents have been uploaded to the extension service. One resource ID can only be used for one recording session. Access to the AirNow API is generally available to the public, and new accounts can be acquired via the Log In page. Most of them are identified using a unique ID (consisting of an arbitrary sequence of alphanumeric characters), automatically generated for you. All the parameters are case sensitive. Agora Web SDK NG is now based on Typescript. You must choose composite recording mode. AgorAPI (Agora Polling Interface) offers a set of services related to polls and votes through a public API.In other words, it is a web-service which may be queried by other computer programs or servers. Refer to Set the Video Profile for detailed information about setting transcodingConfig. "no Route matched with those values": A possible reason for this message is that you entered an incorrect HTTP method in your request, such as using GET when it should have been POST. Finally, when the poll is complete, you may close it to prevent further votes to be sent. HTTP header contains incorrect information. For example, if subscribeVideoUids is ["100","101","102"] and subscribeAudioUids is ["101","102","103"], the number of subscribed users is 4. recordingFileConfig is a JSON Object for configuring recorded files. The supported characters are as follows: extensionServiceConfig is a JSON Object for extension service configurations. Fields with asterisks (*) are mandatory. sid: String. 8: Errors in the HTTP request header fields. A parameter is spelt wrong. If the error persists after you verify the App ID, contact support@agora.io. This page explains the different possibilities offered by AgorAPI, with simple examples. 433: The resource ID has expired. The following parameters are required in the request body. The resource ID for cloud recording. extensionServices includes the following fields: serviceName: String. Ensure that the App ID or recording ID matches the resource ID in each recording session. In order to get regular updates you may register to our (low traffic) newsletter. recordingConfig is a JSON object for configuring how the Cloud Recording service subscribes to the media streams in the channel. There is nothing to record because no user is sending any stream in the channel. "invalid appid": The App ID you entered is invalid. The following parameters are required in the URL: The following parameters are required in the request body: streamSubscribe requires the following parameters: During a recording, you can call this method to update the video mixing layout multiple times. The length of the array should not exceed 32 UIDs. The prefix's length, including the slashes, should not exceed 128 characters. Agora Platform. See the table below for details: In a communication channel, the recording service does not recognize a channel as an idle channel, so long as the channel has users, regardless of whether they send stream or not.

La Roue Tourne Témoignage, Tableau Roland Garros 2009, épilateur Fil Visage, Dans La Peau De Mon Père Acteur, Apprendre L'arabe Alphabet, Université De Bordeaux Adresse, Correction Bfem 2020 Pdf, Brussels Airlines Sénégal Coronavirus, Tiroir Antérieur Genou, Arme Nucléaire Usa,