<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.7kas.com/index.php?action=history&amp;feed=atom&amp;title=TuCloudAPI_updategroup</id>
	<title>TuCloudAPI updategroup - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.7kas.com/index.php?action=history&amp;feed=atom&amp;title=TuCloudAPI_updategroup"/>
	<link rel="alternate" type="text/html" href="https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;action=history"/>
	<updated>2026-11-07T03:16:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=1239&amp;oldid=prev</id>
		<title>Maintenance script: TuCloudAPI reference (generated from func=help): translator_langs/translator_lang sent empty clears</title>
		<link rel="alternate" type="text/html" href="https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=1239&amp;oldid=prev"/>
		<updated>2026-10-28T19:49:45Z</updated>

		<summary type="html">&lt;p&gt;TuCloudAPI reference (generated from func=help): translator_langs/translator_lang sent empty clears&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:49, 28 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l58&quot;&gt;Line 58:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 58:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;fwdshowcaller&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; || Admin: 1 = preserve CLI, 0 = rewrite.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;fwdshowcaller&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; || Admin: 1 = preserve CLI, 0 = rewrite.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;translator_langs&amp;lt;/code&amp;gt; || string || No || — || Idiomas que el grupo ENTIENDE, separados por COMAS (ej. &quot;es,ca,en&quot;), máx. 64. SOLO comas: el punto y coma se rechaza. Si el interlocutor habla uno de estos no se traduce. Se RECHAZA si excede 64: truncar dejaría fuera el último idioma y traduciría llamadas que ya se entendían.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;translator_langs&amp;lt;/code&amp;gt; || string || No || — || Idiomas que el grupo ENTIENDE, separados por COMAS (ej. &quot;es,ca,en&quot;), máx. 64. SOLO comas: el punto y coma se rechaza. Si el interlocutor habla uno de estos no se traduce. Se RECHAZA si excede 64: truncar dejaría fuera el último idioma y traduciría llamadas que ya se entendían&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Omitirlo CONSERVA la lista guardada; enviarlo VACÍO la BORRA (desde el 2026-10-28; antes vacío contaba como omitido y la lista no se podía vaciar)&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;translator_lang&amp;lt;/code&amp;gt; || string || No || — || Idioma de la traducción. Obligatorio si translator_mode no es 0; con modo 0 se IGNORA. Debe ser un código de la tabla oficial del servicio, EXACTO y respetando las mayúsculas: «pt-BR» vale y «pt-br», «PT-BR» o «ES» se rechazan. Guion, nunca subrayado. Los 79 códigos admitidos: af ak sq am ar hy az eu be bn bg my ca zh-Hans zh-Hant hr cs da nl en et fil fi fr gl ka de el gu ha he hi hu is id it ja jv kn kk km rw ko lo lv lt mk ms ml mr mn ne no nb fa pl pt-BR pt-PT pa ro ru sr sd si sk sl es su sw sv ta te th tr uk ur uz vi zu. OJO: el portugués y el chino SOLO existen como pt-BR/pt-PT y zh-Hans/zh-Hant — no hay «pt» ni «zh» a secas. Un código fuera de la tabla se rechaza aquí a propósito: el servicio aceptaría el armado y cerraría la sesión después, así que la llamada saldría SIN traducir, sin señal en la centralita y con la detección facturada igual. Los cuatro códigos con guion (pt-BR, pt-PT, zh-Hans, zh-Hant) estuvieron retenidos hasta el 2026-10-01 porque el motor aún no los traducía; ya están disponibles y se aceptan como el resto.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;translator_lang&amp;lt;/code&amp;gt; || string || No || — || Idioma de la traducción. Obligatorio si translator_mode no es 0; con modo 0 se IGNORA. Debe ser un código de la tabla oficial del servicio, EXACTO y respetando las mayúsculas: «pt-BR» vale y «pt-br», «PT-BR» o «ES» se rechazan. Guion, nunca subrayado. Los 79 códigos admitidos: af ak sq am ar hy az eu be bn bg my ca zh-Hans zh-Hant hr cs da nl en et fil fi fr gl ka de el gu ha he hi hu is id it ja jv kn kk km rw ko lo lv lt mk ms ml mr mn ne no nb fa pl pt-BR pt-PT pa ro ru sr sd si sk sl es su sw sv ta te th tr uk ur uz vi zu. OJO: el portugués y el chino SOLO existen como pt-BR/pt-PT y zh-Hans/zh-Hant — no hay «pt» ni «zh» a secas. Un código fuera de la tabla se rechaza aquí a propósito: el servicio aceptaría el armado y cerraría la sesión después, así que la llamada saldría SIN traducir, sin señal en la centralita y con la detección facturada igual. Los cuatro códigos con guion (pt-BR, pt-PT, zh-Hans, zh-Hant) estuvieron retenidos hasta el 2026-10-01 porque el motor aún no los traducía; ya están disponibles y se aceptan como el resto&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Omitirlo CONSERVA el valor guardado; enviarlo VACÍO lo BORRA (desde el 2026-10-28), lo que solo cabe con translator_mode 0, porque con un modo distinto de 0 es obligatorio y el vacío se rechaza&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;translator_mode&amp;lt;/code&amp;gt; || integer || No || — || Máscara de bits (OR de flags), 0 = desactivada. Un grupo NUNCA origina una llamada, así que solo admite combinaciones de 1, 4, 16 y 32: los modos de SALIDA (2 y 8) se RECHAZAN, no se ignoran en silencio. ÁMBITO: 1 = entrante externa (llamada de fuera/DID); 4 = entrante interna (otra extensión del mismo PBX la llama). MODIFICADORES: 16 = translator_lang es el idioma del INTERLOCUTOR y no el del grupo, así que se detecta el del grupo y se traduce al configurado. 32 = ESCUCHA PROLONGADA (en el motor, «traducción permanente» acotada por su VENTANA DE IDIOMA): toda llamada se escucha como máximo los primeros 30 s desde que se contesta. Sin el bit, si al lado que se detecta se le reconoce un idioma que el otro lado ya entiende, la traducción de ESA llamada se desactiva en el acto (unos 2-3 s de escucha, lo más barato); con el bit se sigue escuchando hasta cumplir los 30 s por si aparece otro idioma, y esa escucha se factura. En los dos casos, sin idioma extranjero confirmado a los 30 s el motor se apaga del todo (coste máximo ~30 s); confirmado dentro de la ventana, se traduce hasta colgar. Un idioma de translator_lang o translator_langs NUNCA se traduce, con el bit o sin él; el motor confirma el idioma extranjero con una segunda comprobación sobre el audio real antes de traducir. Hasta el 2026-10-28 este texto decía «no se apaga nunca, toda la llamada»: ya no es así. Importa cuando quien contesta usa un manos libres, porque la voz del otro captada por su micrófono puede apagar la traducción antes de tiempo. Ninguno de los dos activa nada por sí solo: un modo con solo modificadores se rechaza. UNA SOLA sesión de traducción por llamada, nunca dos, y el bit 4 del grupo SÍ participa: si el que llama tiene su bit 8 o el grupo su bit 4, se toma UNA decisión conjunta con las dos filas (el idioma de cada lado para su pata, más lo que cada uno entiende); si ya se entienden no se arma nada. ⚠ La ÚNICA situación en la que los ajustes del grupo no se usan: que la extensión que llama tenga el bit 16 Y LOS DOS bits de saliente (2 y 8) Y un idioma válido. Entonces arma ella al empezar, antes de saber el destino. Es el primer sitio donde mirar ante un «he puesto el bit 4 y no traduce». Un lado con translator_mode 0 no declara nada: su idioma se ignora a propósito, para que un dato viejo no vete lo que el otro lado pidió. Omitir el parámetro CONSERVA el valor actual.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;translator_mode&amp;lt;/code&amp;gt; || integer || No || — || Máscara de bits (OR de flags), 0 = desactivada. Un grupo NUNCA origina una llamada, así que solo admite combinaciones de 1, 4, 16 y 32: los modos de SALIDA (2 y 8) se RECHAZAN, no se ignoran en silencio. ÁMBITO: 1 = entrante externa (llamada de fuera/DID); 4 = entrante interna (otra extensión del mismo PBX la llama). MODIFICADORES: 16 = translator_lang es el idioma del INTERLOCUTOR y no el del grupo, así que se detecta el del grupo y se traduce al configurado. 32 = ESCUCHA PROLONGADA (en el motor, «traducción permanente» acotada por su VENTANA DE IDIOMA): toda llamada se escucha como máximo los primeros 30 s desde que se contesta. Sin el bit, si al lado que se detecta se le reconoce un idioma que el otro lado ya entiende, la traducción de ESA llamada se desactiva en el acto (unos 2-3 s de escucha, lo más barato); con el bit se sigue escuchando hasta cumplir los 30 s por si aparece otro idioma, y esa escucha se factura. En los dos casos, sin idioma extranjero confirmado a los 30 s el motor se apaga del todo (coste máximo ~30 s); confirmado dentro de la ventana, se traduce hasta colgar. Un idioma de translator_lang o translator_langs NUNCA se traduce, con el bit o sin él; el motor confirma el idioma extranjero con una segunda comprobación sobre el audio real antes de traducir. Hasta el 2026-10-28 este texto decía «no se apaga nunca, toda la llamada»: ya no es así. Importa cuando quien contesta usa un manos libres, porque la voz del otro captada por su micrófono puede apagar la traducción antes de tiempo. Ninguno de los dos activa nada por sí solo: un modo con solo modificadores se rechaza. UNA SOLA sesión de traducción por llamada, nunca dos, y el bit 4 del grupo SÍ participa: si el que llama tiene su bit 8 o el grupo su bit 4, se toma UNA decisión conjunta con las dos filas (el idioma de cada lado para su pata, más lo que cada uno entiende); si ya se entienden no se arma nada. ⚠ La ÚNICA situación en la que los ajustes del grupo no se usan: que la extensión que llama tenga el bit 16 Y LOS DOS bits de saliente (2 y 8) Y un idioma válido. Entonces arma ella al empezar, antes de saber el destino. Es el primer sitio donde mirar ante un «he puesto el bit 4 y no traduce». Un lado con translator_mode 0 no declara nada: su idioma se ignora a propósito, para que un dato viejo no vete lo que el otro lado pidió. Omitir el parámetro CONSERVA el valor actual.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=1235&amp;oldid=prev</id>
		<title>Maintenance script: TuCloudAPI reference (generated from func=help): translator_mode bit 32 is long listen</title>
		<link rel="alternate" type="text/html" href="https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=1235&amp;oldid=prev"/>
		<updated>2026-10-28T19:24:42Z</updated>

		<summary type="html">&lt;p&gt;TuCloudAPI reference (generated from func=help): translator_mode bit 32 is long listen&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:24, 28 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l62&quot;&gt;Line 62:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 62:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;translator_lang&amp;lt;/code&amp;gt; || string || No || — || Idioma de la traducción. Obligatorio si translator_mode no es 0; con modo 0 se IGNORA. Debe ser un código de la tabla oficial del servicio, EXACTO y respetando las mayúsculas: «pt-BR» vale y «pt-br», «PT-BR» o «ES» se rechazan. Guion, nunca subrayado. Los 79 códigos admitidos: af ak sq am ar hy az eu be bn bg my ca zh-Hans zh-Hant hr cs da nl en et fil fi fr gl ka de el gu ha he hi hu is id it ja jv kn kk km rw ko lo lv lt mk ms ml mr mn ne no nb fa pl pt-BR pt-PT pa ro ru sr sd si sk sl es su sw sv ta te th tr uk ur uz vi zu. OJO: el portugués y el chino SOLO existen como pt-BR/pt-PT y zh-Hans/zh-Hant — no hay «pt» ni «zh» a secas. Un código fuera de la tabla se rechaza aquí a propósito: el servicio aceptaría el armado y cerraría la sesión después, así que la llamada saldría SIN traducir, sin señal en la centralita y con la detección facturada igual. Los cuatro códigos con guion (pt-BR, pt-PT, zh-Hans, zh-Hant) estuvieron retenidos hasta el 2026-10-01 porque el motor aún no los traducía; ya están disponibles y se aceptan como el resto.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;translator_lang&amp;lt;/code&amp;gt; || string || No || — || Idioma de la traducción. Obligatorio si translator_mode no es 0; con modo 0 se IGNORA. Debe ser un código de la tabla oficial del servicio, EXACTO y respetando las mayúsculas: «pt-BR» vale y «pt-br», «PT-BR» o «ES» se rechazan. Guion, nunca subrayado. Los 79 códigos admitidos: af ak sq am ar hy az eu be bn bg my ca zh-Hans zh-Hant hr cs da nl en et fil fi fr gl ka de el gu ha he hi hu is id it ja jv kn kk km rw ko lo lv lt mk ms ml mr mn ne no nb fa pl pt-BR pt-PT pa ro ru sr sd si sk sl es su sw sv ta te th tr uk ur uz vi zu. OJO: el portugués y el chino SOLO existen como pt-BR/pt-PT y zh-Hans/zh-Hant — no hay «pt» ni «zh» a secas. Un código fuera de la tabla se rechaza aquí a propósito: el servicio aceptaría el armado y cerraría la sesión después, así que la llamada saldría SIN traducir, sin señal en la centralita y con la detección facturada igual. Los cuatro códigos con guion (pt-BR, pt-PT, zh-Hans, zh-Hant) estuvieron retenidos hasta el 2026-10-01 porque el motor aún no los traducía; ya están disponibles y se aceptan como el resto.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;translator_mode&amp;lt;/code&amp;gt; || integer || No || — || Máscara de bits (OR de flags), 0 = desactivada. Un grupo NUNCA origina una llamada, así que solo admite combinaciones de 1, 4, 16 y 32: los modos de SALIDA (2 y 8) se RECHAZAN, no se ignoran en silencio. ÁMBITO: 1 = entrante externa (llamada de fuera/DID); 4 = entrante interna (otra extensión del mismo PBX la llama). MODIFICADORES: 16 = translator_lang es el idioma del INTERLOCUTOR y no el del grupo, así que se detecta el del grupo y se traduce al configurado. 32 = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;TRADUCCIÓN PERMANENTE&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sin este &lt;/del&gt;bit, si &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;el &lt;/del&gt;idioma &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;detectado resulta ser uno &lt;/del&gt;que el otro lado ya entiende, la traducción de &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;esa &lt;/del&gt;llamada se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;apaga hasta colgar — &lt;/del&gt;más barato; con el bit &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;32 no &lt;/del&gt;se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;apaga nunca &lt;/del&gt;y se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sigue escuchando&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;facturando &lt;/del&gt;la &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;escucha &lt;/del&gt;toda la &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;llamada&lt;/del&gt;. Importa cuando quien contesta usa un manos libres, porque la voz del otro captada por su micrófono puede &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dejar &lt;/del&gt;la &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;llamada sin traducir para siempre&lt;/del&gt;. Ninguno de los dos activa nada por sí solo: un modo con solo modificadores se rechaza. UNA SOLA sesión de traducción por llamada, nunca dos, y el bit 4 del grupo SÍ participa: si el que llama tiene su bit 8 o el grupo su bit 4, se toma UNA decisión conjunta con las dos filas (el idioma de cada lado para su pata, más lo que cada uno entiende); si ya se entienden no se arma nada. ⚠ La ÚNICA situación en la que los ajustes del grupo no se usan: que la extensión que llama tenga el bit 16 Y LOS DOS bits de saliente (2 y 8) Y un idioma válido. Entonces arma ella al empezar, antes de saber el destino. Es el primer sitio donde mirar ante un «he puesto el bit 4 y no traduce». Un lado con translator_mode 0 no declara nada: su idioma se ignora a propósito, para que un dato viejo no vete lo que el otro lado pidió. Omitir el parámetro CONSERVA el valor actual.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;translator_mode&amp;lt;/code&amp;gt; || integer || No || — || Máscara de bits (OR de flags), 0 = desactivada. Un grupo NUNCA origina una llamada, así que solo admite combinaciones de 1, 4, 16 y 32: los modos de SALIDA (2 y 8) se RECHAZAN, no se ignoran en silencio. ÁMBITO: 1 = entrante externa (llamada de fuera/DID); 4 = entrante interna (otra extensión del mismo PBX la llama). MODIFICADORES: 16 = translator_lang es el idioma del INTERLOCUTOR y no el del grupo, así que se detecta el del grupo y se traduce al configurado. 32 = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ESCUCHA PROLONGADA (en el motor, «traducción permanente» acotada por su VENTANA DE IDIOMA)&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;toda llamada se escucha como máximo los primeros 30 s desde que se contesta. Sin el &lt;/ins&gt;bit, si &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;al lado que se detecta se le reconoce un &lt;/ins&gt;idioma que el otro lado ya entiende, la traducción de &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ESA &lt;/ins&gt;llamada se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desactiva en el acto (unos 2-3 s de escucha, lo &lt;/ins&gt;más barato&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/ins&gt;; con el bit se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sigue escuchando hasta cumplir los 30 s por si aparece otro idioma, &lt;/ins&gt;y &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;esa escucha &lt;/ins&gt;se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;factura. En los dos casos&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sin idioma extranjero confirmado a los 30 s el motor se apaga del todo (coste máximo ~30 s); confirmado dentro de &lt;/ins&gt;la &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ventana, se traduce hasta colgar. Un idioma de translator_lang o translator_langs NUNCA se traduce, con el bit o sin él; el motor confirma el idioma extranjero con una segunda comprobación sobre el audio real antes de traducir. Hasta el 2026-10-28 este texto decía «no se apaga nunca, &lt;/ins&gt;toda la &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;llamada»: ya no es así&lt;/ins&gt;. Importa cuando quien contesta usa un manos libres, porque la voz del otro captada por su micrófono puede &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;apagar &lt;/ins&gt;la &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;traducción antes de tiempo&lt;/ins&gt;. Ninguno de los dos activa nada por sí solo: un modo con solo modificadores se rechaza. UNA SOLA sesión de traducción por llamada, nunca dos, y el bit 4 del grupo SÍ participa: si el que llama tiene su bit 8 o el grupo su bit 4, se toma UNA decisión conjunta con las dos filas (el idioma de cada lado para su pata, más lo que cada uno entiende); si ya se entienden no se arma nada. ⚠ La ÚNICA situación en la que los ajustes del grupo no se usan: que la extensión que llama tenga el bit 16 Y LOS DOS bits de saliente (2 y 8) Y un idioma válido. Entonces arma ella al empezar, antes de saber el destino. Es el primer sitio donde mirar ante un «he puesto el bit 4 y no traduce». Un lado con translator_mode 0 no declara nada: su idioma se ignora a propósito, para que un dato viejo no vete lo que el otro lado pidió. Omitir el parámetro CONSERVA el valor actual.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Example ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Example ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=1212&amp;oldid=prev</id>
		<title>Maintenance script: TuCloudAPI reference regenerated from func=help: tenancy rule, pbx notes on every PBX-scoped function, error codes</title>
		<link rel="alternate" type="text/html" href="https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=1212&amp;oldid=prev"/>
		<updated>2026-10-08T21:17:06Z</updated>

		<summary type="html">&lt;p&gt;TuCloudAPI reference regenerated from func=help: tenancy rule, pbx notes on every PBX-scoped function, error codes&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:17, 8 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;TuCloudAPI function to manage FuturePBX (the cloud PBX). Available to: &amp;#039;&amp;#039;&amp;#039;SuperRoot, Operator, Client&amp;#039;&amp;#039;&amp;#039;.&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;TuCloudAPI function to manage FuturePBX (the cloud PBX). Available to: &amp;#039;&amp;#039;&amp;#039;SuperRoot, Operator, Client&amp;#039;&amp;#039;&amp;#039;.&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Note|1=Requires the &amp;lt;code&amp;gt;pbx&amp;lt;/code&amp;gt; parameter (the PBX &#039;&#039;&#039;name&#039;&#039;&#039;, e.g. &amp;lt;code&amp;gt;tucall&amp;lt;/code&amp;gt;). The server verifies that your &amp;lt;code&amp;gt;ukey&amp;lt;/code&amp;gt;&#039;s own account owns that PBX, whatever its role; otherwise, and also for a PBX that does not exist, it returns &amp;lt;code&amp;gt;{&quot;ok&quot;:false,&quot;code&quot;:&quot;forbidden&quot;}&amp;lt;/code&amp;gt;.}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Call ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Call ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; GET &lt;/del&gt; https://tucloudapi.7kas.com:9087/tucloud?func=updategroup&amp;amp;ukey=YOUR_KEY&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  https://tucloudapi.7kas.com:9087/tucloud?func=updategroup&amp;amp;ukey=YOUR_KEY&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp;pbx=PBX_NAME&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Requires the &amp;lt;code&amp;gt;ukey&amp;lt;/code&amp;gt; parameter.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GET, or POST with the parameters form-urlencoded in the body. &lt;/ins&gt;Requires the &amp;lt;code&amp;gt;ukey&amp;lt;/code&amp;gt; parameter&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Always HTTP 200; the response is a JSON envelope&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Parameters ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Parameters ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l55&quot;&gt;Line 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 57:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;fwdshowcaller&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; || Admin: 1 = preserve CLI, 0 = rewrite.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;fwdshowcaller&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; || Admin: 1 = preserve CLI, 0 = rewrite.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &amp;lt;code&amp;gt;translator_langs&amp;lt;/code&amp;gt; || string || No || — || Idiomas que el grupo ENTIENDE, separados por COMAS (ej. &quot;es,ca,en&quot;), máx. 64. SOLO comas: el punto y coma se rechaza. Si el interlocutor habla uno de estos no se traduce. Se RECHAZA si excede 64: truncar dejaría fuera el último idioma y traduciría llamadas que ya se entendían.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &amp;lt;code&amp;gt;translator_lang&amp;lt;/code&amp;gt; || string || No || — || Idioma de la traducción. Obligatorio si translator_mode no es 0; con modo 0 se IGNORA. Debe ser un código de la tabla oficial del servicio, EXACTO y respetando las mayúsculas: «pt-BR» vale y «pt-br», «PT-BR» o «ES» se rechazan. Guion, nunca subrayado. Los 79 códigos admitidos: af ak sq am ar hy az eu be bn bg my ca zh-Hans zh-Hant hr cs da nl en et fil fi fr gl ka de el gu ha he hi hu is id it ja jv kn kk km rw ko lo lv lt mk ms ml mr mn ne no nb fa pl pt-BR pt-PT pa ro ru sr sd si sk sl es su sw sv ta te th tr uk ur uz vi zu. OJO: el portugués y el chino SOLO existen como pt-BR/pt-PT y zh-Hans/zh-Hant — no hay «pt» ni «zh» a secas. Un código fuera de la tabla se rechaza aquí a propósito: el servicio aceptaría el armado y cerraría la sesión después, así que la llamada saldría SIN traducir, sin señal en la centralita y con la detección facturada igual. Los cuatro códigos con guion (pt-BR, pt-PT, zh-Hans, zh-Hant) estuvieron retenidos hasta el 2026-10-01 porque el motor aún no los traducía; ya están disponibles y se aceptan como el resto.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &amp;lt;code&amp;gt;translator_mode&amp;lt;/code&amp;gt; || integer || No || — || Máscara de bits (OR de flags), 0 = desactivada. Un grupo NUNCA origina una llamada, así que solo admite combinaciones de 1, 4, 16 y 32: los modos de SALIDA (2 y 8) se RECHAZAN, no se ignoran en silencio. ÁMBITO: 1 = entrante externa (llamada de fuera/DID); 4 = entrante interna (otra extensión del mismo PBX la llama). MODIFICADORES: 16 = translator_lang es el idioma del INTERLOCUTOR y no el del grupo, así que se detecta el del grupo y se traduce al configurado. 32 = TRADUCCIÓN PERMANENTE: sin este bit, si el idioma detectado resulta ser uno que el otro lado ya entiende, la traducción de esa llamada se apaga hasta colgar — más barato; con el bit 32 no se apaga nunca y se sigue escuchando, facturando la escucha toda la llamada. Importa cuando quien contesta usa un manos libres, porque la voz del otro captada por su micrófono puede dejar la llamada sin traducir para siempre. Ninguno de los dos activa nada por sí solo: un modo con solo modificadores se rechaza. UNA SOLA sesión de traducción por llamada, nunca dos, y el bit 4 del grupo SÍ participa: si el que llama tiene su bit 8 o el grupo su bit 4, se toma UNA decisión conjunta con las dos filas (el idioma de cada lado para su pata, más lo que cada uno entiende); si ya se entienden no se arma nada. ⚠ La ÚNICA situación en la que los ajustes del grupo no se usan: que la extensión que llama tenga el bit 16 Y LOS DOS bits de saliente (2 y 8) Y un idioma válido. Entonces arma ella al empezar, antes de saber el destino. Es el primer sitio donde mirar ante un «he puesto el bit 4 y no traduce». Un lado con translator_mode 0 no declara nada: su idioma se ignora a propósito, para que un dato viejo no vete lo que el otro lado pidió. Omitir el parámetro CONSERVA el valor actual.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Example ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Example ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l61&quot;&gt;Line 61:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 69:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Response ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Response ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{ok, group:{...}}.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{ok, group:{...}}.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Errors ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Always HTTP 200. On failure the body is &amp;lt;code&amp;gt;{&quot;ok&quot;:false,&quot;code&quot;:&quot;...&quot;,&quot;message&quot;:&quot;...&quot;}&amp;lt;/code&amp;gt;. Common codes: &amp;lt;code&amp;gt;missing_pbx&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;forbidden&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;invalid_param&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;not_found&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;conflict&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;in_use&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;db_error&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;server_busy&amp;lt;/code&amp;gt;; the Response section above lists any specific to this function.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Back to [[TuCloudAPI]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Back to [[TuCloudAPI]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:TuCloudAPI SuperRoot]][[Category:TuCloudAPI Operator]][[Category:TuCloudAPI Client]][[Category:TuCloudAPI]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:TuCloudAPI SuperRoot]][[Category:TuCloudAPI Operator]][[Category:TuCloudAPI Client]][[Category:TuCloudAPI]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=915&amp;oldid=prev</id>
		<title>Maintenance script: TuCloudAPI reference: pbx param help -&gt; FuturePBX (API surface unchanged)</title>
		<link rel="alternate" type="text/html" href="https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=915&amp;oldid=prev"/>
		<updated>2026-08-03T14:31:32Z</updated>

		<summary type="html">&lt;p&gt;TuCloudAPI reference: pbx param help -&amp;gt; FuturePBX (API surface unchanged)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:31, 3 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot;&gt;Line 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Parameter !! Type !! Required !! Default !! Meaning&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Parameter !! Type !! Required !! Default !! Meaning&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;pbx&amp;lt;/code&amp;gt; || string || Yes || — || &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;TuCloud PBX &lt;/del&gt;NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;pbx&amp;lt;/code&amp;gt; || string || Yes || — || &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;FuturePBX &lt;/ins&gt;NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; || integer || Yes || — || Group id (_id).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; || integer || Yes || — || Group id (_id).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=785&amp;oldid=prev</id>
		<title>Maintenance script: TuCloudAPI reference: product name -&gt; FuturePBX (API surface unchanged); regenerated from func=help</title>
		<link rel="alternate" type="text/html" href="https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=785&amp;oldid=prev"/>
		<updated>2026-08-03T14:14:33Z</updated>

		<summary type="html">&lt;p&gt;TuCloudAPI reference: product name -&amp;gt; FuturePBX (API surface unchanged); regenerated from func=help&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:14, 3 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;TuCloudAPI function to manage &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tucloud &lt;/del&gt;(PBX) &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;services&lt;/del&gt;. Available to: &#039;&#039;&#039;SuperRoot, Operator, Client&#039;&#039;&#039;.&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;TuCloudAPI function to manage &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;FuturePBX &lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the cloud &lt;/ins&gt;PBX). Available to: &#039;&#039;&#039;SuperRoot, Operator, Client&#039;&#039;&#039;.&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=586&amp;oldid=prev</id>
		<title>Maintenance script: API docs (generated from func=help) — add #48 adminusers + #52 pbxconfig</title>
		<link rel="alternate" type="text/html" href="https://wiki.7kas.com/index.php?title=TuCloudAPI_updategroup&amp;diff=586&amp;oldid=prev"/>
		<updated>2026-08-02T04:38:29Z</updated>

		<summary type="html">&lt;p&gt;API docs (generated from func=help) — add #48 adminusers + #52 pbxconfig&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;TuCloudAPI function to manage tucloud (PBX) services. Available to: &amp;#039;&amp;#039;&amp;#039;SuperRoot, Operator, Client&amp;#039;&amp;#039;&amp;#039;.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Edit a ring group (same fields as addgroup; gr editable, conflict on collision). Members as extension IDs; exten&amp;lt;N&amp;gt;_dial stays trigger-built. 404 if not in the caller&amp;#039;s PBX. Requires a non-readonly ukey.&lt;br /&gt;
&lt;br /&gt;
== Call ==&lt;br /&gt;
 GET  https://tucloudapi.7kas.com:9087/tucloud?func=updategroup&amp;amp;ukey=YOUR_KEY&lt;br /&gt;
Requires the &amp;lt;code&amp;gt;ukey&amp;lt;/code&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Parameter !! Type !! Required !! Default !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pbx&amp;lt;/code&amp;gt; || string || Yes || — || TuCloud PBX NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; || integer || Yes || — || Group id (_id).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; || string || Yes || — || Display name (required, max 32).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;gr&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || Group number 1-99 (0 = keep current).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exten1&amp;lt;/code&amp;gt; || string || No || — || Comma-separated extension _id list for this ring slot (members ring simultaneously; slots ring in order 1..5). Each id is validated in-tenant.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exten2&amp;lt;/code&amp;gt; || string || No || — || Ring slot 2 members.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exten3&amp;lt;/code&amp;gt; || string || No || — || Ring slot 3 members.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exten4&amp;lt;/code&amp;gt; || string || No || — || Ring slot 4 members.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exten5&amp;lt;/code&amp;gt; || string || No || — || Ring slot 5 members.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ringing1&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || Slot 1 ring seconds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ringing2&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || Slot 2 ring seconds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ringing3&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || Slot 3 ring seconds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ringing4&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || Slot 4 ring seconds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ringing5&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || Slot 5 ring seconds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;music&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || Music-on-hold id (0 = none).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tom&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || 0 = tone, 1 = music while ringing.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fwd&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || External forward 0-4.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fwdnum&amp;lt;/code&amp;gt; || string || No || — || External forward destination.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fwd_internal&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || Internal forward mode 0-4.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fwdnum_internal&amp;lt;/code&amp;gt; || string || No || — || Internal forward destination.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fwd_cli_id&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || Admin: caller-id cli _id (0 = none).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fwdshowcaller&amp;lt;/code&amp;gt; || integer || No || &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; || Admin: 1 = preserve CLI, 0 = rewrite.&lt;br /&gt;
|}&lt;br /&gt;
== Example ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://tucloudapi.7kas.com:9087/tucloud?func=updategroup&amp;amp;ukey=KEY&amp;amp;pbx=tucall&amp;amp;id=927&amp;amp;name=Ventas&amp;amp;exten1=90671&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Response ==&lt;br /&gt;
{ok, group:{...}}.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Back to [[TuCloudAPI]]&lt;br /&gt;
[[Category:TuCloudAPI SuperRoot]][[Category:TuCloudAPI Operator]][[Category:TuCloudAPI Client]][[Category:TuCloudAPI]]&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>