Conceitos e fundamentos

Compreendendo os conceitos básicos

A API C2C se baseia em várias tecnologias essenciais que você deve compreender antes de iniciar um projeto de integração. Analise os títulos deste artigo.Se algum termo lhe for desconhecido, este guia ajudará a preencher essas lacunas de conhecimento. Caso encontre dificuldades com conceitos específicos, nossa equipe está à disposição para fornecer recursos adicionais e suporte.

O que você precisa saber

Para realizar uma integração bem-sucedida com a API C2C, você deve ter um conhecimento básico sobre:

Redes

TLS/SSL, protocolos TCP/IP e fundamentos de redes

HTTPS

Implementação de solicitações HTTPS seguras

Autenticação

Metodologias de autenticação e autorização

Noções básicas de rede e glossário

Em essência, a API do Frame.io permite a comunicação entre os servidores do Frame.io e seu dispositivo ou aplicativo, exigindo interações de rede para cada operação.

Uma comunicação clara é essencial em qualquer relação, inclusive entre servidores e clientes. Assim como ocorrem falhas de comunicação nas conversas do dia a dia, desafios semelhantes existem quando os computadores trocam informações.

Além de lidar com problemas comuns de comunicação, precisamos garantir a transmissão segura de dados confidenciais. O Frame.io exige criptografia para todas as comunicações com o servidor, adicionando as camadas de segurança necessárias ao processo.

Ao implementar a API C2C, você provavelmente utilizará bibliotecas de terceiros para lidar com os detalhes de rede. No entanto, como os componentes de rede frequentemente geram erros reais, é importante compreender os processos subjacentes ao interagir com os servidores do Frame.io. Aqui está um glossário conciso da terminologia essencial:

TCP/IP

Protocolo de controle de transmissão/Protocolo de Internet — componentes e camadas padronizados que permitem a transferência global de dados. Para obter mais informações, recomendamos este recurso acessível de alto nível.

TLS/SSL

Transport Layer Security/Secure Socket Layer — embora sejam tecnicamente diferentes, hoje em dia costumam ser mencionados de forma intercambiável. O TLS representa a evolução do SSL, embora a sigla original continue sendo amplamente utilizada. Para obter mais informações sobre o TLS, consulte esta visão geral.

Chaves públicas e privadas

Uma chave pública funciona como uma fechadura, enquanto uma chave privada serve como a chave correspondente.

Pense neste cenário: você quer enviar uma mensagem confidencial para um colega, garantindo a privacidade até a entrega.

Primeiro, peça para seu colega enviar uma fechadura da qual só ele tem a chave.

Ao receber essa fechadura, proteja sua mensagem confidencial em um contêiner usando-a. Embora qualquer pessoa que manuseie o contêiner possa ver a fechadura, apenas seu colega tem a chave para acessar o conteúdo. A fechadura não tem utilidade alguma para pessoas não autorizadas que tentem visualizar a mensagem. Nem mesmo você pode destrancá-la sem a chave.

Quando seu colega receber o contêiner protegido, ele simplesmente usará sua chave para acessar o conteúdo.

As chaves públicas e privadas funcionam da mesma maneira. Você pode compartilhar amplamente uma chave pública. Os destinatários criptografam mensagens com essa chave, mas apenas o portador da chave privada pode descriptografar essas comunicações. Enquanto a chave privada permanecer confidencial, a chave pública não poderá ser usada para decodificar as mensagens criptografadas que ela gera.

Esse mecanismo de chaves públicas/privadas sustenta a funcionalidade do TLS, permitindo que as partes se comuniquem abertamente enquanto estabelecem canais seguros e privados.

Certificados

Os certificados contêm chaves públicas e privadas, autenticadas por autoridades de certificação confiáveis.

Quando uma Autoridade certificadora valida uma chave, ela basicamente atesta a autenticidade dessa chave. Os destinatários de uma chave pública, como a do Google, podem verificar esse endosso por meio de autoridades de certificação reconhecidas. Chaves não endossadas são consideradas potencialmente fraudulentas e acionam alertas de segurança.

Os certificados do Frame.io são validados pela autoridade certificadora Amazon Root CA 1. Esses certificados estão disponíveis por meio de vários recursos, incluindo a biblioteca Certifi (usada pela Mozilla e pela biblioteca Python Requests).

Para implementação, recomendamos o repositório GitHub Certifi e o pacote de certificados PEM para validar solicitações HTTPS para api.frame.io.

Servidor

Um computador que fornece ou armazena informações para outros computadores. Quando você acessa o Frame.io por meio de um navegador da web, seu navegador solicita conteúdo do servidor do Frame.io, que responde de acordo. Cada ação no Frame.io aciona uma comunicação entre seu navegador e nosso servidor, que processa sua solicitação e retorna os resultados apropriados. Ao carregar mídia para o Frame.io, você a está enviando para nossos servidores.

Cliente

Um aplicativo cliente solicita informações de um servidor ou envia dados para ele. Ao implementar a API C2C, você estará desenvolvendo um cliente C2C.

HTTP/S

Protocolo de transferência de hipertexto/seguro — opera na camada de aplicativo do modelo TCP/IP. A diferença entre HTTP e HTTPS é a segurança — o HTTPS incorpora a verificação TLS/SSL às comunicações de rede. O HTTP evoluiu ao longo de várias versões, estabelecendo novos padrões com o passar do tempo. A versão 1.1 continua sendo o padrão global e deve ser utilizada para as comunicações da API do Frame.io.

API RESTful

REST (Representational State Transfer, transferência de estado representacional) é uma metodologia de projeto para o desenvolvimento de APIs com base em padrões de solicitação-resposta HTTP. REST costuma servir como abreviação para a abordagem geral de usar HTTP para a interação entre programas, em contraste com a comunicação entre navegador e página da web, mesmo quando a API não segue estritamente os princípios REST.

JSON

JavaScript Object Notation — um formato padronizado de troca de dados. Embora tenha sido inicialmente desenvolvido para objetos JavaScript, tornou-se um padrão universal para comunicações em rede. A API C2C fornece respostas na forma de dados JSON.

AWS S3

O Simple Storage Service da Amazon oferece soluções de armazenamento de dados baseadas na nuvem. O S3 armazena as mídias de vídeo e áudio do Frame.io e serve como destino para carregamentos de integração.

Solicitações HTTP/S

O HTTP é onipresente na navegação na web, aparecendo no início de quase todos os endereços de sites. O HTTP (Protocolo de transferência de hipertexto) estabelece protocolos padronizados de comunicação entre computadores.

Você pode pensar no HTTP como um sistema padronizado de formulários para interações cliente-servidor, semelhante aos formulários governamentais exigidos para solicitações de informações ou inscrições em programas. Sem formulários devidamente preenchidos, os órgãos governamentais não podem processar ou responder às solicitações.

As solicitações HTTP facilitam todas as interações do aplicativo Frame.io. Dentro da estrutura da API C2C, os tipos de solicitação HTTP representam os recursos funcionais disponíveis.

Para uma visão geral abrangente do HTTP, consulte este artigo informativo. É essencial compreender esses fundamentos antes de prosseguir. Se você não tem familiaridade com solicitações HTTP, considere revisar os materiais introdutórios. Para uma preparação ideal, familiarize-se com estes conceitos de HTTP:

Componentes do URL
  • Protocolo

  • Host

  • Porta

  • Recurso

Elementos HTTP
  • Cabeçalhos

  • Tipo de conteúdo/tipo MIME

  • Conteúdo de solicitação e resposta

  • Aplicações dos verbos HTTP: GET, POST, PUT, DELETE, etc.

  • Dados de formulário

Embora as bibliotecas de rede geralmente cuidem da construção das solicitações, o RFC HTTP/1.1 fornece um recurso de referência, caso seja necessário.

Autenticação e autorização

Exploraremos esses conceitos mais detalhadamente posteriormente, mas é importante compreender esses princípios fundamentais:

Autenticação

A autenticação verifica se as solicitações provêm das fontes declaradas. Quando você faz login em sites com credenciais de nome de usuário e senha, está se autenticando ao comprovar que conhece a senha. A autenticação multifatorial, como o recebimento de códigos de verificação por mensagem de texto, representa mecanismos adicionais de autenticação.

Autorização

A autorização confirma a permissão para realizar ações específicas. Ao adicionar colaboradores a projetos do Frame.io ou a documentos do Google, você está autorizando o acesso deles. O Frame.io ou o Google já autenticaram a identidade desses usuários, permitindo que você autorize a participação deles com confiança.

OAuth

O OAuth (Open Authorization) oferece uma estrutura padronizada para o gerenciamento de autorizações por meio da integração com serviços de autenticação de terceiros.

Escopos

Os escopos definem as ações autorizadas disponíveis para os usuários. Ao conectar dispositivos ao Frame.io, você solicitará e receberá escopos específicos que autorizam operações determinadas. Por exemplo, o escopo asset_create permite criar e carregar ativos. Em termos conceituais, os escopos funcionam como conjuntos de permissões.

Próximas etapas

Recomendamos que você entre em contato com nossa equipe caso tenha alguma dúvida e depois prossiga para a próxima seção do guia. Esperamos poder apoiar seus esforços de integração.

Para uma visão geral técnica, consulte o guia de arquitetura de integração. Caso ainda não tenha feito isso, revise o guia Implementação do C2C: Configuração antes de prosseguir. Você precisará do access_token obtido durante o processo de autenticação e autorização.