> For the complete documentation index, see [llms.txt](https://ajuda.rnp.br/eduplay/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ajuda.rnp.br/eduplay/video-sob-demanda/manual-de-integracoes/api-para-integracao-com-o-eduplay/videos-pontos-de-integracao/publicacao-de-novo-video-utilizando-oauth.md).

# Publicação de novo vídeo (utilizando OAuth)

{% hint style="info" %}
Para o uso desse endpoint é necessário que suas credenciais de acesso tenham permissão para o uso do OAuth 2.0 para autorização.
{% endhint %}

<mark style="color:green;">`POST`</mark> `https://eduplay.rnp.br/services/video/save/{identifierOrigin}/{videoFileName}`

#### Path Parameters

| Name                                               | Type   | Description                                                                                                                                                                                                                                                                                              |
| -------------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| identifierOrigin<mark style="color:red;">\*</mark> | String | identificador único do vídeo no sistema de origem                                                                                                                                                                                                                                                        |
| videoFileName<mark style="color:red;">\*</mark>    | String | nome do arquivo do vídeo com extensão. Deve ser igual ao utilizado no endpoint para [obtenção de URL para upload de arquivo de vídeo](/eduplay/video-sob-demanda/manual-de-integracoes/api-para-integracao-com-o-eduplay/videos-pontos-de-integracao/obtencao-de-url-para-upload-de-arquivo-de-video.md) |

#### Request Body

| Name                                    | Type          | Description                                                                                                                                                                                                     |
| --------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| video<mark style="color:red;">\*</mark> | videoMetadata | parâmetro do tipo `multipart` com as informações do vídeo a ser salvo, conforme formato do tipo `videoMetadata`, definido na descrição dos serviços em [api-docs](https://eduplay.rnp.br/services/v3/api-docs). |
| file<mark style="color:red;">\*</mark>  | binary        | parâmetro do tipo `multipart`: arquivo com a imagem do vídeo (screenshot). Deve conter no cabeçalho o `Content-Disposition` com o respectivo `filename`.                                                        |
| subtitle                                | binary        | parâmetro do tipo multipart com o arquivo com a legenda do vídeo. Deve conter no cabeçalho o `Content-Disposition` com o respectivo `filename`.                                                                 |

{% tabs %}
{% tab title="201: Created " %}

```xml
<returnMessage>
	<operationCode>CODIGO_DA_OPERACAO_DE_SUCESSO_OU_ERRO</operationCode>
	<message>MENSAGEM_EXPLICATIVA</message>
	<result>ID_DO_VIDEO_CRIADO</result> <!-- em caso de sucesso -->
</returnMessage>
```

{% endtab %}

{% tab title="403: Forbidden " %}

{% endtab %}

{% tab title="503: Service Unavailable " %}

{% endtab %}

{% tab title="500: Internal Server Error " %}

{% endtab %}

{% tab title="412: Precondition Failed " %}

{% endtab %}
{% endtabs %}

**Considerações sobre os metadados para o novo vídeo:**

* Apenas as informações de <mark style="color:red;">`title`</mark> e <mark style="color:red;">`keywords`</mark> são obrigatórias.
* É possível definir controle de acesso por geolocalização (geoblocking) por meio do atributo <mark style="color:red;">`geolocationControl`</mark> com os valores possíveis: *<mark style="color:red;">`NONE`</mark>* e *<mark style="color:red;">`BRAZIL`</mark>*, para definir acesso sem geoblocking ou apenas em território brasileiro, respectivamente.
* É possível definir as seguintes opções de visibilidade:
  * PUBLIC - acesso público tanto pelo eduplay como por embed&#x20;
  * PUBLIC\_REFERENCED - acesso apenas por embed. O vídeo não será listado nas páginas e nem retornado na busca no eduplay&#x20;
  * PRIVATE - acesso apenas a usuários autenticados no eduplay. É possível também permitir o acesso aos usuários não-autenticados por meio da definição de uma senha específica para esse fim no atributo password.&#x20;
  * PRIVATE\_RESTRICT\_BY\_PASSWORD - acesso restrito por senha específica para o conteúdo. Ao definir esse tipo de acesso, é obrigatório o envio da senha no atributo password.&#x20;
  * PRIVATE\_RESTRICT\_BY\_CHANNEL - acesso restrito apenas aos membros dos canais associados ao conteúdo.&#x20;
  * PRIVATE\_RESTRICT\_BY\_PLAYLIST - acesso restrito apenas aos membros das playlists associadas ao conteúdo.
* É possível definir uma data para desativação automática do conteúdo no eduplay por meio do atributo <mark style="color:red;">`deactivationDate`</mark>. O formato esperado para a data é <mark style="color:red;">`dd/MM/yyyy`</mark>. **IMPORTANTE:** O conteúdo desativado **não** é removido da plataforma. Dessa maneira, é possível disponibilizá-lo novamente, caso necessário, bastando para isso editar o vídeo alterando sua data de desativação ou apagando a mesma para disponibilização por tempo indeterminado.
* É possível solicitar a geração de uma versão acessível do vídeo em Libras por meio do atributo <mark style="color:red;">`generateLibras`</mark> com os valores possíveis: *<mark style="color:red;">true</mark>* e *<mark style="color:red;">false</mark>*.
* É possível solicitar a geração automatizada de legenda <mark style="color:red;">`generateSubtitle`</mark> com os valores possíveis: *<mark style="color:red;">true</mark>* e *<mark style="color:red;">false</mark>*.
* **IMPORTANTE:** Para ter acesso a geração de vídeo em Libras e a legenda automática é necessário solicitar ao administrador permissão especial.
* É possível definir uma lista de canais aos quais o vídeo deve ser associado, por meio do elemento <mark style="color:red;">`channels`</mark>. Os canais devem já existir no eduplay e o usuário em nome do qual está sendo publicado o conteúdo deve ser dono ou membro com permissão para publicação no mesmo. Para saber em quais canais o usuário pode publicar utilizar o endpoint [Canais que um usuário pode publicar](/eduplay/video-sob-demanda/manual-de-integracoes/api-para-integracao-com-o-eduplay/usuarios-pontos-de-integracao/canais-que-um-usuario-pode-publicar.md). Exemplo de definição do elemento <mark style="color:red;">`channels`</mark> em formato XML:

  ```
  <channels>
  	<channel><id>123</id></channel>
  	<channel><id>345</id></channel>
  </channels>
  ```
* É possível definir uma lista de playlists às quais o vídeo deve ser associado, por meio do elemento <mark style="color:red;">`playlists`</mark>. As playlists devem já existir no eduplay e o usuário em nome do qual está sendo publicado o conteúdo deve ser dono ou membro com permissão para publicação na mesma. Para saber em quais playlists o usuário pode publicar utilizar o endpoint [Playlists que um usuário pode publicar](/eduplay/video-sob-demanda/manual-de-integracoes/api-para-integracao-com-o-eduplay/usuarios-pontos-de-integracao/playlists-que-um-usuario-pode-publicar.md). Exemplo de definição do elemento <mark style="color:red;">`playlists`</mark> em formato XML:

  ```
  <playlists>
  	<playlist><id>123</id></playlist>
  	<playlist><id>345</id></playlist>
  </playlists>
  ```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://ajuda.rnp.br/eduplay/video-sob-demanda/manual-de-integracoes/api-para-integracao-com-o-eduplay/videos-pontos-de-integracao/publicacao-de-novo-video-utilizando-oauth.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
