[{"data":1,"prerenderedAt":354},["ShallowReactive",2],{"developers:\u002Fdevelopers\u002Fes\u002Fsupport":3},{"doc":4,"lang":184,"nav":195,"alternatePath":298,"policy":299,"specVersion":343,"reference":7,"layout":344,"toc":345,"prev":351,"next":352,"operations":353,"overview":7,"heroExample":7},{"id":5,"title":6,"apiTag":7,"body":8,"description":181,"draft":182,"extension":183,"lang":184,"meta":185,"navTitle":7,"navigation":186,"order":187,"path":188,"rawbody":189,"section":190,"seo":191,"stem":192,"translationKey":193,"version":7,"__hash__":194},"developers_es\u002Fdevelopers\u002Fes\u002Fsupport.md","Soporte",null,{"type":9,"value":10,"toc":171},"minimark",[11,16,20,50,61,65,104,108,111,115,139,150,154],[12,13,15],"h2",{"id":14},"cómo-contactarnos","Cómo contactarnos",[17,18,19],"p",{},"El equipo de Totem atiende las solicitudes de soporte de la API.",[21,22,23,39],"ul",{},[24,25,26,30,31,38],"li",{},[27,28,29],"strong",{},"Desde Totem."," Un administrador de tu equipo abre ",[32,33,37],"a",{"href":34,"rel":35},"https:\u002F\u002Fapp.totemstudio.ai\u002Fhelp",[36],"nofollow","Ayuda"," en la aplicación de Totem y envía una solicitud de soporte. Es la vía más rápida, porque la solicitud llega vinculada a tu equipo.",[24,40,41,44,45,49],{},[27,42,43],{},"Por correo electrónico."," Escribe a ",[32,46,48],{"href":47},"mailto:hello@totemstudio.ai","hello@totemstudio.ai",". También puede escribir un desarrollador que trabaje para un cliente: indica de qué cliente y de qué integración se trata.",[17,51,52,53,60],{},"Todavía no hay una página de estado específica de la API. Si la API parece caída, llama a ",[32,54,56],{"href":55},"\u002Fdevelopers\u002Fes\u002Freference-account#health",[57,58,59],"code",{},"GET \u002Fv1\u002Fhealth",", que no necesita clave, y cuéntanos qué respondió.",[12,62,64],{"id":63},"qué-incluir","Qué incluir",[21,66,67,78,81,88,94,97],{},[24,68,69,70,73,74,77],{},"el ",[57,71,72],{},"Totem-Request-Id"," de la respuesta que falló, si lo trae, y su cabecera ",[57,75,76],{},"Totem-Release",", si la trae;",[24,79,80],{},"la hora de la petición, en UTC;",[24,82,83,84,87],{},"el método y la ruta, como ",[57,85,86],{},"GET \u002Fv1\u002Fsync\u002Fchanges",";",[24,89,90,91,93],{},"el estado HTTP y el ",[57,92,57],{}," del error;",[24,95,96],{},"el nombre de la integración y los cuatro últimos caracteres de su clave;",[24,98,99,100,103],{},"el identificador del equipo (",[57,101,102],{},"team_…",") y los identificadores de los registros afectados.",[12,105,107],{"id":106},"qué-no-enviar-nunca","Qué no enviar nunca",[17,109,110],{},"No envíes nunca una clave secreta, ni entera ni en parte más allá de sus cuatro últimos caracteres. No pegues datos personales de las respuestas, como nombres, teléfonos o direcciones de correo electrónico: con los identificadores de los registros y de las peticiones tenemos suficiente para investigar.",[12,112,114],{"id":113},"si-se-filtra-una-clave","Si se filtra una clave",[17,116,117,118,121,122,129,130,133,134,138],{},"Elige ",[27,119,120],{},"Rotar clave"," de inmediato en ",[32,123,126],{"href":124,"rel":125},"https:\u002F\u002Fapp.totemstudio.ai\u002Fsettings?tab=developers",[36],[27,127,128],{},"Ajustes → Desarrolladores"," y marca ",[27,131,132],{},"Esta clave puede estar comprometida",", para que la antigua se revoque sin periodo de gracia. Después indícanos el nombre de la integración, cuándo crees que se filtró la clave y quién o qué tenía acceso a ella. En ",[32,135,137],{"href":136},"\u002Fdevelopers\u002Fes\u002Fauthentication#rotar-y-revocar","Autenticación"," se explica cómo rotar y revocar.",[17,140,141,142,144,145,149],{},"Para informar de una posible vulnerabilidad en la API, en esta documentación o en el SDK de TypeScript, escribe en privado a ",[32,143,48],{"href":47},", como se explica en ",[32,146,148],{"href":147},"\u002Fdevelopers\u002Fes\u002Fsecurity#informa-de-una-vulnerabilidad","Seguridad y datos personales",".",[12,151,153],{"id":152},"avisos","Avisos",[17,155,156,157,160,161,165,166,170],{},"La API está en ",[27,158,159],{},"Beta",". El ",[32,162,164],{"href":163},"\u002Fdevelopers\u002Fes\u002Fchangelog","registro de cambios"," recoge los cambios bajo la fecha en que se publicaron, y en ",[32,167,169],{"href":168},"\u002Fdevelopers\u002Fes\u002Fconventions#qu%C3%A9-significa-beta","Convenciones"," se explica qué puede cambiar durante la Beta.",{"title":172,"searchDepth":173,"depth":173,"links":174},"",3,[175,177,178,179,180],{"id":14,"depth":176,"text":15},2,{"id":63,"depth":176,"text":64},{"id":106,"depth":176,"text":107},{"id":113,"depth":176,"text":114},{"id":152,"depth":176,"text":153},"Cómo pedir ayuda con la API de Totem, qué incluir en una solicitud y qué hacer si se filtra una clave.",false,"md","es",{},true,"2","\u002Fdevelopers\u002Fes\u002Fsupport","---\ntitle: Soporte\ndescription: Cómo pedir ayuda con la API de Totem, qué incluir en una solicitud y qué hacer si se filtra una clave.\nsection: resources\norder: 2\ntranslationKey: support\nlang: es\ndraft: false\n---\n\n## Cómo contactarnos\n\nEl equipo de Totem atiende las solicitudes de soporte de la API.\n\n- **Desde Totem.** Un administrador de tu equipo abre [Ayuda](https:\u002F\u002Fapp.totemstudio.ai\u002Fhelp) en la aplicación de Totem y envía una solicitud de soporte. Es la vía más rápida, porque la solicitud llega vinculada a tu equipo.\n- **Por correo electrónico.** Escribe a hello@totemstudio.ai. También puede escribir un desarrollador que trabaje para un cliente: indica de qué cliente y de qué integración se trata.\n\nTodavía no hay una página de estado específica de la API. Si la API parece caída, llama a [`GET \u002Fv1\u002Fhealth`](\u002Fdevelopers\u002Fes\u002Freference-account#health), que no necesita clave, y cuéntanos qué respondió.\n\n## Qué incluir\n\n- el `Totem-Request-Id` de la respuesta que falló, si lo trae, y su cabecera `Totem-Release`, si la trae;\n- la hora de la petición, en UTC;\n- el método y la ruta, como `GET \u002Fv1\u002Fsync\u002Fchanges`;\n- el estado HTTP y el `code` del error;\n- el nombre de la integración y los cuatro últimos caracteres de su clave;\n- el identificador del equipo (`team_…`) y los identificadores de los registros afectados.\n\n## Qué no enviar nunca\n\nNo envíes nunca una clave secreta, ni entera ni en parte más allá de sus cuatro últimos caracteres. No pegues datos personales de las respuestas, como nombres, teléfonos o direcciones de correo electrónico: con los identificadores de los registros y de las peticiones tenemos suficiente para investigar.\n\n## Si se filtra una clave\n\nElige **Rotar clave** de inmediato en [**Ajustes → Desarrolladores**](https:\u002F\u002Fapp.totemstudio.ai\u002Fsettings?tab=developers) y marca **Esta clave puede estar comprometida**, para que la antigua se revoque sin periodo de gracia. Después indícanos el nombre de la integración, cuándo crees que se filtró la clave y quién o qué tenía acceso a ella. En [Autenticación](\u002Fdevelopers\u002Fes\u002Fauthentication#rotar-y-revocar) se explica cómo rotar y revocar.\n\nPara informar de una posible vulnerabilidad en la API, en esta documentación o en el SDK de TypeScript, escribe en privado a hello@totemstudio.ai, como se explica en [Seguridad y datos personales](\u002Fdevelopers\u002Fes\u002Fsecurity#informa-de-una-vulnerabilidad).\n\n## Avisos\n\nLa API está en **Beta**. El [registro de cambios](\u002Fdevelopers\u002Fes\u002Fchangelog) recoge los cambios bajo la fecha en que se publicaron, y en [Convenciones](\u002Fdevelopers\u002Fes\u002Fconventions#qué-significa-beta) se explica qué puede cambiar durante la Beta.\n","resources",{"title":6,"description":181},"developers\u002Fes\u002Fsupport","support","ZFqrdcEZrWDwGmg3wguhrFNUGg4UgQuckRXTDtTeZPU",[196,210,236,284],{"section":197,"items":198},"start",[199,203,207],{"path":200,"title":201,"description":202},"\u002Fdevelopers\u002Fes","Introducción","Lee desde tus propios sistemas los leads, las llamadas, las conversaciones y las citas de tus equipos de Totem, y mantén una copia sincronizada.",{"path":204,"title":205,"description":206},"\u002Fdevelopers\u002Fes\u002Fquickstart","Inicio rápido","Haz tus primeras peticiones a la API de Totem en unos minutos. Comprueba tu clave, busca tu equipo, lista leads e inicia una sincronización.",{"path":208,"title":137,"description":209},"\u002Fdevelopers\u002Fes\u002Fauthentication","Las claves secretas y dónde pueden guardarse, la cabecera Totem-Team de las claves con varios equipos, la lista de IP permitidas y cómo rotar o revocar una clave.",{"section":211,"items":212},"guides",[213,217,221,225,229,233],{"path":214,"title":215,"description":216},"\u002Fdevelopers\u002Fes\u002Ftypescript","SDK de TypeScript","Usa el cliente oficial de TypeScript para leer tus datos de Totem, paginar listas y gestionar errores de la API desde tu servidor.",{"path":218,"title":219,"description":220},"\u002Fdevelopers\u002Fes\u002Fsync","Sincroniza una copia","Copia un equipo con el feed de cambios y mantén la copia al día. Aplica las páginas sin riesgos, recupérate de los errores y parte de un cliente de referencia que Totem prueba.",{"path":222,"title":223,"description":224},"\u002Fdevelopers\u002Fes\u002Fpagination","Listas y paginación","Cómo devuelven los endpoints de lista los registros página a página, cómo leer todas las páginas y qué orden y qué filtros admite una lista.",{"path":226,"title":227,"description":228},"\u002Fdevelopers\u002Fes\u002Fcoverage","Cobertura de los datos","Qué registra Totem, desde cuándo y cómo distinguir un valor vacío de un dato que nunca se registró.",{"path":230,"title":231,"description":232},"\u002Fdevelopers\u002Fes\u002Ftesting","Pruebas y puesta en producción","Cómo construir y probar una integración con seguridad mientras la API no tiene entorno de pruebas, y qué comprobar antes de pasar a producción.",{"path":234,"title":148,"description":235},"\u002Fdevelopers\u002Fes\u002Fsecurity","Cómo protege Totem las claves de la API y los datos que sirve, qué registra de cada clave, dónde funciona la API y qué hacer con los datos personales que copias.",{"section":237,"items":238},"reference",[239,242,246,250,255,260,265,270,275,280],{"path":240,"title":169,"description":241},"\u002Fdevelopers\u002Fes\u002Fconventions","La notación de esta documentación y las reglas que siguen todas las respuestas: identificadores, fechas, valores vacíos, importes, enumeraciones, versiones, estabilidad, errores y textos no fiables.",{"path":243,"title":244,"description":245},"\u002Fdevelopers\u002Fes\u002Ferrors","Errores","El formato de los errores, cómo debe tratar tu integración cada tipo de error y todos los códigos de error, con cuándo ocurren y qué hacer.",{"path":247,"title":248,"description":249},"\u002Fdevelopers\u002Fes\u002Frate-limits","Límites de frecuencia y cuota","Cuánto puede leer una clave por minuto y por día, qué cuenta para cada límite, cómo reintentar tras un 429 y cuánto tarda una carga inicial.",{"path":251,"title":252,"description":253,"apiTag":254},"\u002Fdevelopers\u002Fes\u002Freference-account","Cuenta, equipos y miembros","Comprueba que una clave funciona y qué puede leer, lista sus equipos con su zona horaria, lista los miembros de cada equipo y comprueba que la API está funcionando.","account",{"path":256,"title":257,"description":258,"apiTag":259},"\u002Fdevelopers\u002Fes\u002Freference-leads","Leads, tableros y actividades","Lista, obtén y busca los leads y los clientes de un equipo, lee las actividades de cada lead y lista los tableros y las etapas por los que pasan.","leads",{"path":261,"title":262,"description":263,"apiTag":264},"\u002Fdevelopers\u002Fes\u002Freference-calls","Llamadas","Lista y obtén las llamadas de un equipo, con su dirección, su horario y un resultado normalizado. Sin grabaciones ni transcripciones.","calls",{"path":266,"title":267,"description":268,"apiTag":269},"\u002Fdevelopers\u002Fes\u002Freference-conversations","Conversaciones","Lista y obtén las conversaciones de un equipo en todos los canales, con su estado, la persona asignada, si una persona ha tomado el control y cuándo llegaron y salieron los últimos mensajes. Nunca el contenido de los mensajes.","conversations",{"path":271,"title":272,"description":273,"apiTag":274},"\u002Fdevelopers\u002Fes\u002Freference-bookings","Citas y servicios","Lista y obtén las citas de un equipo, y lista los servicios que pueden reservar sus clientes.","bookings",{"path":276,"title":277,"description":278,"apiTag":279},"\u002Fdevelopers\u002Fes\u002Freference-sync","Feed de cambios","Un único endpoint que copia un equipo y, después, devuelve cada cambio, página a página.","sync",{"path":281,"title":282,"description":283},"\u002Fdevelopers\u002Fes\u002Fobjects","Todos los objetos","Todos los objetos que devuelve la API, campo a campo, con un ejemplo de cada uno.",{"section":190,"items":285},[286,289,290,294],{"path":163,"title":287,"description":288},"Registro de cambios","Los cambios de la API de Totem, del más reciente al más antiguo, cada uno bajo la fecha en que se publicó.",{"path":188,"title":6,"description":181},{"path":291,"title":292,"description":293},"\u002Fdevelopers\u002Fes\u002Fglossary","Glosario","Los términos de esta documentación, definidos en un solo lugar, cada uno con un enlace a la página que lo explica.",{"path":295,"title":296,"description":297},"\u002Fdevelopers\u002Fes\u002Ffaq","Preguntas frecuentes","Respuestas breves a las preguntas más habituales sobre la API de Totem, con enlaces a los detalles.","\u002Fdevelopers\u002Fsupport",{"ACTIVATION_MARGIN_MS":300,"ADMIN_ACCESS_DISCLOSURE_VERSION":301,"AUDIT_RETENTION_DAYS":302,"AUTH_FAILURE_LIMITS":303,"CAPTURE_LAG_FLOOR_MS":307,"CAPTURE_LAG_P99_MS":7,"CURSOR_MAX_AGE_DAYS":308,"DIRTY_TTL_DAYS":308,"FAMILY_TEAM_SCOPE":309,"FAMILY_TEAM_SCOPE_OPTIONS":310,"FEED_SETTLE_LAG_MS":312,"GATE_REFRESH_MS":300,"INTEGRATION_NAME_LENGTH":313,"INTEGRATION_PURPOSE_LENGTH":315,"KEY_CACHE_TTL_MS":318,"KEY_STATS_RETENTION_DAYS":319,"LEAD_RESPONSE_READ_BUDGET":320,"LIST_SCAN_MAX":323,"MAX_FAMILY_INTEGRATION_TEAMS":308,"MAX_INTEGRATIONS_PER_FAMILY":324,"MAX_IP_ALLOWLIST":305,"PAGE_LIMIT":325,"PLATFORM_CONFIG_TTL_MS":328,"REMOVAL_RETENTION_DAYS":329,"REQUEST_BODY_MAX_BYTES":330,"ROLL_GRACE_DEFAULT_HOURS":331,"ROLL_GRACE_HOURS":332,"SEARCH_MAX_RESULTS":324,"SENSITIVE_SECTOR_POLICY":335,"SENSITIVE_SECTOR_POLICY_OPTIONS":336,"SYNC_DAILY_BUDGET":338,"SYNC_VELOCITY":340,"TEAM_CACHE_TTL_MS":342},60000,"2026-10-17",365,{"perIpPerMinute":304,"perLookupIdPerMinute":305,"banMs":306},60,20,600000,300000,30,"explicit_list",[309,311],"all_family_teams",10000,{"min":176,"max":314},80,{"min":316,"max":317},1,280,5000,90,{"conversations":305,"messageReads":321,"calls":322},200,50,1000,10,{"default":326,"max":327},25,100,15000,45,16384,24,[333,316,331,334],0,168,"exclude",[335,337],"allow",{"floor":339,"recordsMultiplier":173},250000,{"perMinute":341,"burst":312},2000,30000,"1.0a","guide",[346,347,348,349,350],{"id":14,"text":15,"depth":176},{"id":63,"text":64,"depth":176},{"id":106,"text":107,"depth":176},{"id":113,"text":114,"depth":176},{"id":152,"text":153,"depth":176},{"path":163,"title":287,"section":190},{"path":291,"title":292,"section":190},[],1792502791249]