Conceptos y aspectos básicos

Entender los conceptos fundamentales

La API de C2C se basa en diversas tecnologías esenciales que debe entender antes de comenzar un proyecto de integración. Revise los títulos de este artículo y, si no reconoce algún término, encontrará una explicación en esta guía. Si tiene dificultades con conceptos concretos, nuestro equipo está disponible para ofrecerle más recursos y ayuda.

Lo que necesita saber

Para realizar una integración correcta con la API de C2C, debe tener conocimientos básicos de:

Redes

Protocolos TLS/SSL y TCP/IP, y aspectos básicos de redes

HTTPS

Implementación de solicitudes HTTPS seguras

Autorización

Metodologías de autenticación y autorización

Conceptos básicos de redes y glosario

En esencia, la API de Frame.io habilita la comunicación entre los servidores de Frame.io y su dispositivo o aplicación, lo que requiere interacciones de red para cada operación.

Una comunicación clara es esencial en cualquier relación, incluso entre servidores y clientes. Así como se producen malentendidos en las conversaciones cotidianas, existen desafíos similares cuando los ordenadores intercambian información.

Además de abordar los problemas de comunicación estándar, necesitamos garantizar que los datos confidenciales se transmitan de manera segura. Frame.io requiere cifrado para todas las comunicaciones con el servidor, lo que añade capas de seguridad necesarias al proceso.

Al implementar la API de C2C, probablemente utilice bibliotecas de terceros para manejar los detalles de las redes. Sin embargo, dado que los componentes de las redes suelen generar errores reales, es importante comprender los procesos subyacentes al interactuar con los servidores de Frame.io. Aquí tiene un glosario conciso de terminología esencial:

TCP/IP

Protocolo de control de transmisión (del inglés “Transmission Control Protocol”) y Protocolo de Internet (del inglés “Internet Protocol”): Componentes y capas estandarizados que permiten la transferencia global de datos. Para obtener más información, recomendamos este recurso divulgativo y general.

TLS/SSL

Seguridad de la capa de transporte (del inglés “Transport Layer Security”) y Capa de conexión segura (del inglés “Secure Socket Layer”): Aunque técnicamente son diferentes, hoy en día se usan comúnmente de forma intercambiable. TLS representa la evolución de SSL, aunque el acrónimo original sigue siendo de uso generalizado. Para obtener más información sobre TLS, consulte este artículo de información general.

Claves públicas y privadas

Una clave pública funciona como una cerradura, mientras que una clave privada sirve como la llave correspondiente.

Imagínese esta situación: desea enviar un mensaje confidencial a un compañero y quiere asegurarse de que sea privado hasta que se haya entregado.

Primero, pídale a su compañero que le envíe una cerradura de la cual solo él tenga la llave.

Al recibir la cerradura, utilícela para guardar a salvo su mensaje confidencial en un contenedor. Aunque cualquiera que tenga acceso al contenedor puede ver la cerradura, solo su compañero tiene la llave para acceder al contenido. La cerradura no le servirá de nada a las partes no autorizadas que intenten ver el mensaje. Incluso usted no puede abrirla sin la llave.

Cuando su compañero reciba el contenedor protegido, solo tendrá que usar su llave para acceder al contenido.

Las claves públicas y privadas funcionan de la misma manera. Puede compartir una clave pública con quien quiera. Los destinatarios cifran los mensajes con esta clave, pero solo quien tenga la clave privada puede descifrar estas comunicaciones. Mientras la clave privada se mantenga confidencial, la clave pública no puede usarse para decodificar los mensajes cifrados que crea.

Este mecanismo de clave pública/privada es la base del protocolo TLS, ya que permite que las partes se comuniquen abiertamente al tiempo que se establecen canales seguros y privados.

Certificados

Los certificados contienen claves públicas y privadas autenticadas por entidades emisoras de certificados de confianza.

Cuando una entidad emisora de certificados valida una clave, esencialmente garantiza la autenticidad de la clave. Los destinatarios de una clave pública, como una de Google, pueden verificar esta aprobación de entidades emisoras de certificados reconocidas. Las claves que no se han aprobado se consideran potencialmente fraudulentas y activan alertas de seguridad.

Los certificados de Frame.io los valida la entidad emisora de certificados Amazon Root CA 1. Estos certificados están disponibles a través de varios recursos, incluida la biblioteca Certifi (utilizada por Mozilla y la biblioteca Requests de Python).

Para la implementación, recomendamos el repositorio de GitHub de Certifi y el paquete PEM de certificados para validar las solicitudes HTTPS a api.frame.io.

Servidor

Un ordenador que proporciona o almacena información para otros ordenadores. Cuando accede a Frame.io a través de un explorador web, su explorador solicita contenido del servidor de Frame.io, que responde en consecuencia. Cada acción en Frame.io activa una comunicación entre su explorador y nuestro servidor, que procesa su solicitud y devuelve los resultados pertinentes. Al cargar medios en Frame.io, los envía a nuestros servidores.

Cliente

Una aplicación cliente solicita información a un servidor o le envía datos. Al implementar la API de C2C, desarrollará un cliente de C2C.

HTTP/S

Protocolo (seguro) de transferencia de hipertexto (del inglés “Hypertext Transfer Protocol [Secure]”): Opera en la capa de aplicación del modelo TCP/IP. La diferencia entre HTTP y HTTPS es la seguridad: HTTPS incorpora verificación TLS/SSL en las comunicaciones de red. HTTP ha evolucionado a lo largo de varias versiones, y se han ido estableciendo nuevos estándares con el tiempo. La versión 1.1 sigue siendo el estándar global y debe utilizarse para las comunicaciones de la API de Frame.io.

API RESTful

REST (del inglés “Representational State Transfer”, Transferencia de estado representacional) es una metodología de diseño para desarrollar API basadas en patrones de solicitud-respuesta HTTP. Suele utilizarse para hacer referencia al enfoque general de usar HTTP para la interacción de programa a programa, a diferencia de la comunicación de navegador a página web, incluso cuando la API no se adhiere estrictamente a los principios REST.

JSON

Del inglés “JavaScript Object Notation”, notación de objetos JavaScript. Es un formato estandarizado de intercambio de datos. Aunque inicialmente se desarrolló para objetos JavaScript, se ha convertido en un estándar universal para las comunicaciones en red. La API de C2C entrega respuestas como datos JSON.

AWS S3

Simple Storage Service de Amazon proporciona soluciones de almacenamiento de datos basadas en la nube. S3 almacena los medios de vídeo y audio de Frame.io, y sirve como destino para las cargas de las integraciones.

Solicitudes HTTP/S

HTTP es ubicuo en la navegación web: aparece al principio de casi todas las direcciones de sitios web. HTTP (del inglés “Hypertext Transfer Protocol”, Protocolo de transferencia de hipertexto) establece protocolos de comunicación estandarizados entre ordenadores.

El protocolo HTTP es como un sistema de formularios estandarizado para las interacciones entre clientes y servidores, de manera similar a los formularios gubernamentales necesarios para solicitar información o apuntarse a programas. Si los formularios no se rellenan correctamente, las agencias gubernamentales no pueden procesar las solicitudes ni responder a ellas.

Las solicitudes HTTP facilitan todas las interacciones de la aplicación Frame.io. Dentro del marco de la API de C2C, los tipos de solicitudes HTTP representan las funciones disponibles.

Para obtener información general completa sobre HTTP, consulte este artículo informativo. Es esencial que entienda estos aspectos básicos antes de continuar. Si no está familiarizado con las solicitudes HTTP, puede revisar materiales introductorios. Para prepararse lo mejor posible, familiarícese con estos conceptos de HTTP:

Componentes de URL

* Protocolo

* Host

* Puerto

* Recurso

Elementos de HTTP

* Encabezados

* Content-Type/Mimetype

* Cargas útiles de solicitud y respuesta

* Aplicaciones de verbos HTTP: GET, POST, PUT, DELETE, etc.

* Datos de formulario

Aunque las bibliotecas de redes suelen encargarse de redactar las solicitudes, puede consultar el documento HTTP/1.1 RFC a modo de referencia si lo necesita.

Autenticación y autorización

Exploraremos en detalle estos conceptos más adelante, pero es importante entender estos principios fundamentales:

Autenticación

La autenticación verifica que las solicitudes provienen de las fuentes indicadas. Cuando inicia sesión en sitios web con credenciales de nombre de usuario y contraseña, se autentica al demostrar que conoce la contraseña. La autenticación multifactor, como recibir códigos de verificación a través de mensajes de texto, representa mecanismos de autenticación adicionales.

Autorización

La autorización confirma el permiso para realizar acciones específicas. Cuando añade colaboradores a proyectos de Frame.io o documentos de Google, autoriza su acceso. Frame.io o Google han autenticado previamente las identidades de estos usuarios, lo que le permite autorizar su participación de manera segura.

OAuth

OAuth (del inglés “Open Authorization”, autorización abierta) proporciona un marco estandarizado para administrar la autorización mediante la integración con servicios de autenticación de terceros.

Ámbitos

Los ámbitos definen las acciones autorizadas disponibles para los usuarios. Al conectar dispositivos a Frame.io, solicitará y recibirá ámbitos específicos que autorizan operaciones concretas. Por ejemplo, el ámbito asset_create permite crear y cargar activos. Conceptualmente, los ámbitos funcionan como conjuntos de permisos.

Próximos pasos

Le recomendamos que se ponga en contacto con nuestro equipo si tiene alguna pregunta y que luego continúe con la siguiente sección de la guía. Esperamos poder ayudarle con sus esfuerzos de integración.

Para obtener información general técnica, consulte la guía de arquitectura de integración. Si aún no lo ha hecho, revise la guía Implementar C2C: Configuración antes de continuar. Necesitará el access_token que se obtiene durante el proceso de autenticación y autorización.