# Transmissão ao vivo do Cloud Phone

Use a API aberta ou a API local para carregar um arquivo MP4, iniciar a transmissão, consultar o status e encerrá-la.

## Pré-requisitos

- Use um modelo WUIN ou Xiaosuan; outros provedores retornam atualmente `33401`. Ligue o Cloud Phone e obtenha um token OAuth2 com permissão de operação.
- O arquivo deve ser MP4 e ser enviado com `uploadType=2`.


## Fluxo da API aberta

1. Chame `POST /cloudphone/uploadUrl` e envie o MP4 para `presignedUrl` usando HTTP `PUT`.
2. Chame `POST /cloudphone/uploadFile` com `uploadType: 2`.
3. Consulte `POST /cloudphone/uploadFileResult`. Se `data` for `null`, continue consultando; pare quando `data.status` for `1` (sucesso) ou `2` (falha).
4. Envie o valor exato da string `data.fileId` como `int64` para `POST /cloudphone/live/start`. Em JavaScript, use serialização de precisão arbitrária e não converta por `Number`.
5. Use `/cloudphone/live/status` para consultar e `/cloudphone/live/end` para encerrar.


Na API local, use `/api/cloudphone/upload/file/signedUrl`, `/api/cloudphone/upload/file` com `uploadType: 2` e `/api/cloudphone/upload/file/result`; depois chame `/api/cloudphone/live/start`, `/status` ou `/end`. O saldo e as cotas estão disponíveis em `GET /api/balance`.

Consulte a [API aberta](/pt/api-reference/cloud-phone/open-api) e a [API local](/pt/api-reference/cloud-phone/local-api) do Cloud Phone para os esquemas completos. Em caso de timeout ao iniciar, consulte o status antes de repetir. Os códigos da transmissão são `33300`, `33301`, `33401`, `33418` e `99002`; a API de upload retorna `33419` para arquivos que não são MP4.