Primeros pasos
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-contacts`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/contacts/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalar
Sección titulada “Instalación”Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego usa el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-contacts` plugin in my project.Si prefieres la configuración manual, instala el plugin ejecutando estos comandos y sigue las instrucciones de cada plataforma:
npm install @capgo/capacitor-contactsnpx cap syncImportar
Sección titulada “Importar”import { CapacitorContacts } from '@capgo/capacitor-contacts';Inicio rápido
Sección titulada “Inicio rápido”Solicita acceso y luego carga los contactos con un tamaño de página adecuado en lugar de toda la agenda.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.requestPermissions();const { contacts } = await CapacitorContacts.getContacts({ limit: 50, offset: 0 });// Increase offset by limit for the next page instead of loading the full address book.Errores comunes
Sección titulada “Errores comunes”- Fundamento: explica por qué se requiere el acceso a los contactos antes del diálogo.
- Paginación: evita cargar toda la agenda de contactos a la vez.
- Escribe: la creación de contactos requiere permiso de escritura.
Resumen de API
Sección titulada “Resumen de API”countContacts
Sección titulada “countContacts”Cuenta el número total de contactos en el dispositivo.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.countContacts();console.log(result);createContact
Sección titulada “createContact”Crea un nuevo contacto mediante código.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.createContact({ contact: {} });console.log(result);createGroup
Sección titulada “createGroup”Crea un nuevo grupo de contactos.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.createGroup({ group: { name: 'example' } });console.log(result);deleteContactById
Sección titulada “deleteContactById”Elimina un contacto por su ID.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.deleteContactById({ id: 'id-123' });deleteGroupById
Sección titulada “deleteGroupById”Elimina un grupo por su ID.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.deleteGroupById({ id: 'id-123' });displayContactById
Sección titulada “displayContactById”Muestra un contacto usando el visor nativo de contactos.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.displayContactById({ id: 'id-123' });displayCreateContact
Sección titulada “displayCreateContact”Muestra la interfaz nativa para crear contactos.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.displayCreateContact();console.log(result);displayUpdateContactById
Sección titulada “displayUpdateContactById”Muestra la interfaz nativa de actualización de contacto para un contacto específico.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.displayUpdateContactById({ id: 'id-123' });getAccounts
Sección titulada “getAccounts”Obtén todas las cuentas disponibles en el dispositivo.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.getAccounts();console.log(result);getContactById
Sección titulada “getContactById”Obtén un contacto específico por ID.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.getContactById({ id: 'id-123' });// The result holds sensitive values: use it without logging it.getContacts
Sección titulada “getContacts”Obtén todos los contactos del dispositivo.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.getContacts();// The result holds sensitive values: use it without logging it.getGroupById
Sección titulada “getGroupById”Obtén un grupo específico por ID.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.getGroupById({ id: 'id-123' });console.log(result);getGroups
Sección titulada “getGroups”Obtén todos los grupos de contactos.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.getGroups();console.log(result);isAvailable
Sección titulada “isAvailable”Comprueba si los contactos están disponibles en el dispositivo.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.isAvailable();console.log(result);isSupported
Sección titulada “isSupported”Verifica si el plugin es compatible con la plataforma actual.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.isSupported();console.log(result);openSettings
Sección titulada “openSettings”Abre los ajustes de contactos del dispositivo.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.openSettings();pickContact
Sección titulada “pickContact”Selecciona un contacto con el selector nativo de contactos.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.pickContact();// The result holds sensitive values: use it without logging it.pickContacts
Sección titulada “pickContacts”Selecciona uno o más contactos con el selector nativo de contactos.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.pickContacts();// The result holds sensitive values: use it without logging it.updateContactById
Sección titulada “updateContactById”Actualiza un contacto existente por ID.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.updateContactById({ id: 'id-123', contact: {},});checkPermissions
Sección titulada “checkPermissions”Consulta el estado actual de permisos de contactos.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.checkPermissions();console.log(result);requestPermissions
Sección titulada “requestPermissions”Solicita permisos para acceder a los contactos.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.requestPermissions();console.log(result);Referencia de tipos
Sección titulada “Referencia de tipos”CountContactsResult
Sección titulada “CountContactsResult”Resultado del conteo de contactos.
export interface CountContactsResult { /** * Total number of contacts. * * @since 1.0.0 */ count: number;}CreateContactOptions
Sección titulada “CreateContactOptions”Opciones para crear un contacto.
export interface CreateContactOptions { /** * Contact information to create. The 'id' field will be generated automatically. * * @since 1.0.0 */ contact: Omit<Contact, 'id'>;}CreateContactResult
Sección titulada “CreateContactResult”Resultado de crear un contacto.
export interface CreateContactResult { /** * The ID of the newly created contact. * * @since 1.0.0 */ id: string;}CreateGroupOptions
Sección titulada “CreateGroupOptions”Opciones para crear un grupo.
export interface CreateGroupOptions { /** * Group information to create. The 'id' field will be generated automatically. * * @since 1.0.0 */ group: Omit<Group, 'id'>;}CreateGroupResult
Sección titulada “CreateGroupResult”Resultado de la creación de un grupo.
export interface CreateGroupResult { /** * The ID of the newly created group. * * @since 1.0.0 */ id: string;}DeleteContactByIdOptions
Sección titulada “DeleteContactByIdOptions”Opciones para eliminar un contacto por ID.
export interface DeleteContactByIdOptions { /** * The ID of the contact to delete. * * @since 1.0.0 */ id: string;}DeleteGroupByIdOptions
Sección titulada “DeleteGroupByIdOptions”Opciones para eliminar un grupo por ID.
export interface DeleteGroupByIdOptions { /** * The ID of the group to delete. * * @since 1.0.0 */ id: string;}DisplayContactByIdOptions
Sección titulada “DisplayContactByIdOptions”Opciones para mostrar un contacto por ID.
export interface DisplayContactByIdOptions { /** * The ID of the contact to display. * * @since 1.0.0 */ id: string;}DisplayCreateContactOptions
Sección titulada “DisplayCreateContactOptions”Opciones para mostrar la UI nativa de creación de contactos.
export interface DisplayCreateContactOptions { /** * Optional pre-filled contact information for the create UI. * * @since 1.0.0 */ contact?: Omit<Contact, 'id'>;}DisplayCreateContactResult
Sección titulada “DisplayCreateContactResult”Resultado de mostrar la UI nativa de creación de contactos.
export interface DisplayCreateContactResult { /** * The ID of the created contact, if one was created. Undefined if the user cancelled. * * @since 1.0.0 */ id?: string;}DisplayUpdateContactByIdOptions
Sección titulada “DisplayUpdateContactByIdOptions”Opciones para mostrar la UI nativa de actualización de contactos.
export interface DisplayUpdateContactByIdOptions { /** * The ID of the contact to update. * * @since 1.0.0 */ id: string;}GetAccountsResult
Sección titulada “GetAccountsResult”Resultado de la obtención de cuentas.
export interface GetAccountsResult { /** * List of accounts available on the device. * * @since 1.0.0 */ accounts: Account[];}Fuente de verdad
Sección titulada “Fuente de verdad”Esta página se genera a partir del plugin src/definitions.ts. Vuelve a ejecutar el sync cuando el API público cambie en upstream.
Continúa desde Getting Started
Sección titulada “Continúa desde Primeros pasos”Si estás usando Primeros pasos para planificar las operaciones del dashboard y de API, conéctalo con Usando @capgo/capacitor-contacts para la capacidad nativa al usar @capgo/capacitor-contacts, Resumen de API para los detalles de implementación en API Overview, Introducción para los detalles de implementación en la Introducción, Claves de API para los detalles de implementación en las claves de API, y Dispositivos para el detalle de implementación en Devices.