Carom

Guía

Cómo usar Carom

De la primera solicitud a las variables, los scripts, compartir y todos los atajos de teclado. Breve, y en el orden en que lo vas a necesitar.

#Tu primera solicitud

Diez segundos entre abrir la app y tener una respuesta.

  1. Pulsa CtrlN para una solicitud nueva — o usa el + de la barra de pestañas.
  2. Elige el método y escribe la URL. {{baseUrl}}/pokemon/pikachu funciona cuando hayas definido baseUrl (mira Variables).
  3. Pulsa CtrlEnter — o Enter con el cursor en el campo de la URL — para enviar.
  4. La respuesta aparece a la derecha: estado, tiempo, tamaño y el cuerpo formateado.

#Espacios de trabajo, carpetas y pestañas

Un espacio de trabajo reúne carpetas, solicitudes y entornos. Cambia entre ellos con CtrlR o desde el menú de arriba en la barra lateral.

  • Las carpetas agrupan solicitudes, se pueden anidar y pueden tener sus propias variables, autenticación y scripts, que valen para todo lo que hay dentro.
  • Arrastra y suelta para reordenar o mover una solicitud a una carpeta. Arrastrar se desactiva mientras hay un filtro activo, para que nada acabe en el sitio equivocado.
  • Filtra el árbol con el cuadro de encima, o ve directo a una solicitud con CtrlP.
  • Haz clic derecho en una pestaña para localizarla en el árbol, cerrarla, cerrar las demás o cerrar todas. CtrlW cierra la pestaña activa; CtrlShiftE busca entre las abiertas.
  • CtrlB oculta y muestra la barra lateral.

#Construir una solicitud

Cada solicitud tiene un conjunto de pestañas bajo la barra de la URL:

PestañaPara qué sirve
ParámetrosParámetros de consulta. Editar una fila reescribe la URL, y editar la URL actualiza las filas.
CuerpoNinguno, JSON, texto, XML, formulario, multipart o GraphQL. JSON y XML tienen formateador.
CabecerasSe añade automáticamente un Content-Type acorde con el tipo de cuerpo, salvo que definas uno.
AutenticaciónHeredar de la carpeta, ninguna, token bearer, basic o una clave de API en una cabecera o en la consulta.
ScriptsScripts previos a la solicitud y posteriores a la respuesta — mira Scripts.
DocumentaciónDocumenta los campos de una solicitud — nombre, ejemplo, descripción, obligatorio. Van a una exportación OpenAPI.
VersionesLas últimas 20 versiones guardadas de esta solicitud, cada una restaurable.

Define la autenticación una vez en una carpeta y todas las solicitudes de dentro la heredan; una solicitud aún puede elegir la suya.

#Variables y entornos

Escribe {{nombre}} en cualquier sitio — URL, cabeceras, cuerpo, autenticación — y Carom lo rellena al enviar.

De dónde viene un valor

  1. La carpeta en la que está la solicitud. Con carpetas anidadas, gana la más interna.
  2. El entorno activo, elegido en el selector de arriba a la derecha.
  3. El entorno base, compartido por todos los demás.

Pasa el ratón por una variable para ver su valor y cuál de los tres la aportó. Una variable que no está definida en ningún sitio se muestra en rojo.

Definirlas y cambiarlas

  • Pasa el ratón por una variable, en la URL o dentro de un cuerpo, y edítala ahí mismo — o defínela si aún no existe.
  • Selecciona cualquier texto, haz clic derecho y elige Definir una variable existente o Nueva variable…. El valor va al entorno seleccionado, y lo que seleccionaste se sustituye por la referencia.
  • CtrlE abre el panel de entornos, un editor rápido junto a tu solicitud que muestra el entorno activo y las variables de la carpeta. Gestionar entornos, en el selector, abre el diálogo completo para añadir, renombrar, colorear, copiar entre ellos y eliminar entornos.

#Datos generados

Variables que se inventan al enviar la solicitud. Útiles para fixtures, formularios y datos con aspecto realista.

Escribe una entre llaves — {{$randomEmail}} — y se convierte en un valor nuevo en cada envío. Cada aparición recibe su propio valor, así que dos {{$randomFullName}} en un cuerpo son dos personas distintas. Eso es lo que separa un generador de una variable.

  • Los nombres son los de Postman, así que una colección que los usaba sigue funcionando.
  • Nombres, ciudades, calles y teléfonos siguen el idioma de la interfaz. Los identificadores, números y fechas no tienen idioma y nunca cambian.
  • Para fijar el idioma de forma independiente — una API que valida direcciones en inglés, leída por alguien que trabaja en español — define Datos generados en Ajustes → General.
  • Una variable que definas con el mismo nombre gana al generador.
  • Un generador mal escrito sigue en rojo, que es el caso que conviene notar.

Identificadores y timestamps 7

  • {{$guid}}
  • {{$randomUUID}}
  • {{$timestamp}}
  • {{$isoTimestamp}}
  • {{$randomBankAccount}}
  • {{$randomBankAccountIban}}
  • {{$randomCreditCardMask}}

Personas 9

  • {{$randomFirstName}}
  • {{$randomLastName}}
  • {{$randomFullName}}
  • {{$randomNamePrefix}}
  • {{$randomNameSuffix}}
  • {{$randomJobTitle}}
  • {{$randomJobArea}}
  • {{$randomJobType}}
  • {{$randomPhoneNumber}}

Internet 12

  • {{$randomEmail}}
  • {{$randomExampleEmail}}
  • {{$randomUserName}}
  • {{$randomDomainName}}
  • {{$randomDomainWord}}
  • {{$randomUrl}}
  • {{$randomProtocol}}
  • {{$randomIP}}
  • {{$randomIPV6}}
  • {{$randomMACAddress}}
  • {{$randomUserAgent}}
  • {{$randomPassword}}

Lugares 7

  • {{$randomCity}}
  • {{$randomCountry}}
  • {{$randomCountryCode}}
  • {{$randomStreetName}}
  • {{$randomStreetAddress}}
  • {{$randomLatitude}}
  • {{$randomLongitude}}

Comercio 12

  • {{$randomCompanyName}}
  • {{$randomCompanySuffix}}
  • {{$randomCatchPhrase}}
  • {{$randomDepartment}}
  • {{$randomProduct}}
  • {{$randomProductName}}
  • {{$randomProductAdjective}}
  • {{$randomProductMaterial}}
  • {{$randomPrice}}
  • {{$randomCurrencyCode}}
  • {{$randomCurrencyName}}
  • {{$randomCurrencySymbol}}

Palabras y colores 10

  • {{$randomWord}}
  • {{$randomWords}}
  • {{$randomLoremWord}}
  • {{$randomLoremWords}}
  • {{$randomLoremSentence}}
  • {{$randomLoremParagraph}}
  • {{$randomLoremSlug}}
  • {{$randomColor}}
  • {{$randomHexColor}}
  • {{$randomAbbreviation}}

Números 4

  • {{$randomInt}}
  • {{$randomBoolean}}
  • {{$randomAlphaNumeric}}
  • {{$randomDigits}}

Fechas 6

  • {{$randomDateRecent}}
  • {{$randomDatePast}}
  • {{$randomDateFuture}}
  • {{$today}}
  • {{$tomorrow}}
  • {{$yesterday}}

#Scripts

JavaScript que se ejecuta antes de enviar una solicitud o después de que llegue su respuesta.

Pon un script en una solicitud o en una carpeta. Los scripts de una carpeta envuelven cada solicitud de dentro: los previos se ejecutan de la carpeta más externa hacia dentro, los posteriores de la más interna hacia fuera.

LlamadaQué hace
carom.get(nombre)Lee una variable, incluidas las definidas antes en la misma cadena.
carom.set(nombre, valor)Escribe una variable en el entorno activo cuando termina el script.
carom.header(clave, valor)Añade una cabecera a la solicitud saliente (solo previo).
carom.json()El cuerpo de la respuesta leído como JSON, o null (posterior).
carom.request · carom.responseLa solicitud que se envía y la respuesta que volvió.
console.log(…)Se escribe en la pestaña Consola de la respuesta.
// Script posterior a la respuesta: guarda el token para la siguiente solicitud
const body = carom.json();
if (body && body.token) carom.set("token", body.token);

El objeto pm de Postman también funciona, pm.test incluido, así que los scripts de una colección importada se ejecutan sin cambios.

#Leer una respuesta

  • Formateado pliega y despliega el JSON; Crudo es exactamente lo que volvió; Vista previa renderiza HTML.
  • Resaltar en el cuerpo busca un texto y marca todas las coincidencias.
  • Cabeceras, Cookies y Consola (salida de los scripts y resultados de pm.test) tienen pestañas propias.
  • Historial guarda las últimas 15 respuestas de cada solicitud. Haz clic en una para verla de nuevo.
  • Copia la respuesta, o guárdala en un archivo, con los botones sobre el cuerpo.
  • Cuando llega una respuesta de una solicitud en otra pestaña, un aviso te lo dice.

Para pasarle una solicitud a alguien como comando, usa Copiar como curl junto a la barra de la URL. Sale con tus variables ya rellenadas — y con los valores generados, si el cuerpo los tiene. Copiar URL da la URL resuelta.

#Importar y exportar

Importar

Usa Importar al final de la barra lateral. Carom lee exportaciones de Carom, colecciones y entornos de Postman, Insomnia v4 y v5, OpenAPI / Swagger, archivos HAR y comandos curl pegados. En Postman eliges qué traer y adónde va, entornos incluidos. Lo que no llega — por ejemplo, una solicitud gRPC de Insomnia — se lista antes de que confirmes.

Exportar

Usa Exportar para un espacio de trabajo, una carpeta (con sus subcarpetas y solicitudes) o una sola solicitud, en el formato de Carom o como OpenAPI 3.1. Elige el recorte — entornos incluidos — y dónde guardarlo.

#Compartir un espacio de trabajo con un equipo

Solo en la app de escritorio.

En el menú del espacio de trabajo elige Guardar este espacio de trabajo en una carpeta y señala una carpeta de tu proyecto. Una carpeta vacía recibe el espacio de trabajo tal como está; una carpeta que ya contiene uno sustituye el espacio de trabajo por lo que hay en ella.

  • Una solicitud por archivo: dos personas que añaden solicitudes distintas cambian archivos distintos, y git los une sin preguntar.
  • Las carpetas, solicitudes y entornos van a la carpeta. Las respuestas, las ediciones sin guardar y las versiones guardadas se quedan en tu equipo.
  • Los nombres de las variables siempre viajan. Los valores viajan solo donde tú lo indiques — la pantalla siguiente pregunta, y todo lo que parece una credencial empieza desactivado.
  • Los cambios se escriben un instante después de que dejas de teclear, y solo en los archivos que cambian.
  • Si la carpeta cambia por debajo — tras un git pull con la app abierta — Carom deja de escribir y te avisa. Recarga desde el disco y sigue.

#Atajos de teclado

Los predeterminados. Todos se pueden cambiar en Ajustes → General → Atajos de teclado.

Mostrar teclas para
AcciónAtajo
Buscar en todoCtrlK
Ir a una solicitudCtrlP
Cambiar de espacio de trabajoCtrlR
Ejecutar un comandoCtrlShiftP
Enviar la solicitud activaCtrlEnter
Nueva solicitudCtrlN
Guardar la solicitud activaCtrlS
Buscar en las pestañas abiertasCtrlShiftE
Cerrar la pestaña activaCtrlW
Editar entornosCtrlE
Mostrar u ocultar la barra lateralCtrlB
Abrir los ajustesCtrl,

En los editores de código

TeclaQué hace
Tab · ShiftTabAumenta y reduce la sangría en dos espacios.
Escribir { [ o "Añade el de cierre y deja el cursor en medio. En XML, < también cierra.
Seleccionar y escribir uno de aperturaEnvuelve la selección en vez de reemplazarla.
Escribir uno de cierrePasa por encima de uno que ya está.
Backspace entre un parBorra los dos.
Enter en el campo de la URLEnvía la solicitud.

#Temas, colores e idioma

  • Ajustes → General: el idioma de la interfaz (English, Português, Español — sigue al sistema hasta que elijas), el idioma de los datos generados, la disposición de los paneles, el tiempo de espera, las redirecciones, si la app de escritorio pide respuestas comprimidas a los servidores y Atajos de teclado.
  • Ajustes → Tema: oscuro o claro, cinco paletas incluidas (Carom, Midnight, Ember, Forest, Paper) y fuentes con su tamaño. Cambia cualquier color de una paleta incluida y se convierte en una copia tuya; Sorpréndeme baraja una nueva.
  • En el escritorio, Ajustes → General → Actualizaciones comprueba si hay una versión nueva y te deja elegir si Carom lo comprueba solo al iniciar.

#Cuando algo no va bien

SíntomaPor qué, y qué hacer
macOS dice que no puede verificar CaromEs lo esperado: la app no está firmada con un certificado de pago. Ejecuta xattr -cr /Applications/Carom.app una vez, o usa Abrir igualmente en Ajustes del Sistema → Privacidad y seguridad.
Windows dice que protegió tu PCEs SmartScreen, por el mismo motivo. Más información → Ejecutar de todas formas.
Una solicitud falla en la versión web pero no en la appEl navegador impone el CORS y no llega a localhost. La app de escritorio no tiene ninguno de los dos límites.
Una variable aparece en rojoNo está definida en la carpeta, en el entorno activo ni en el base. Pasa el ratón para definirla, o revisa el selector de entorno.
Instalé con .deb o .rpm y no hay botón de actualizarEsos pertenecen a tu gestor de paquetes. Carom lleva a la página de la versión.
La carpeta guardada dice que cambió en el discoAlgo — normalmente un git pull — la movió. Recarga desde el disco; lo que editaste desde entonces es lo que conviene revisar.

¿Encontraste otra cosa? Abre un issue contando qué hiciste, qué esperabas y qué pasó.