HuwiDevelopers

Referencia de la API

Cómo se llama la API de Huwi con la clave de un bot, la forma de las respuestas y los errores, los procedimientos principales con su entrada y salida, y la lista completa por permiso.

La API de Huwi es tRPC por HTTP, la misma que usa la app. No hay un SDK: son pedidos HTTP con JSON.

Cómo se llama

  • Dirección: https://huwi.app/api/trpc/<procedimiento>, por ejemplo bot.me o message.send.
  • Autenticación: el encabezado x-api-key: hwk_....
  • Lecturas (query): GET con la entrada en ?input= como JSON con URL codificada: ?input={"json": <entrada>}. Sin entrada, sin ?input.
  • Escrituras (mutation): POST con content-type: application/json y el cuerpo {"json": <entrada>}.
  • Respuesta: {"result":{"data":{"json": <salida>}}}. Las fechas llegan como texto ISO.
# Lectura
curl -s -G "https://huwi.app/api/trpc/bot.updates" -H "x-api-key: $HUWI_KEY" \
  --data-urlencode 'input={"json":{"timeout":25000}}'

# Escritura
curl -s "https://huwi.app/api/trpc/message.send" -H "x-api-key: $HUWI_KEY" \
  -H "content-type: application/json" \
  -d '{"json":{"chatId":"…","clientId":"x1","text":"Hola"}}'

Los ids son texto

Todos los ids (chatId, messageId, id de una publicación) son cadenas de números de hasta 20 dígitos. No los conviertas a número: pierdes dígitos en JavaScript.

Descubre la API desde la API

Con la clave del bot, api.index lista los procedimientos que esa clave puede usar. Con prefix devuelve además la entrada y la salida en JSON Schema:

curl -s -G "https://huwi.app/api/trpc/api.index" -H "x-api-key: $HUWI_KEY" \
  --data-urlencode 'input={"json":{"prefix":"message.send"}}'

Es la fuente exacta de la forma de cada procedimiento: esta página resume los principales.

Errores

Un error trae un código HTTP y este cuerpo:

{ "error": { "json": { "message": "botPermission", "code": -32003, "data": { "code": "FORBIDDEN", "httpStatus": 403 } } } }

Las tablas de códigos y mensajes están en Límites y errores.

Bot

bot.me · lectura

La cuenta del bot. Sin entrada.

CampoTipoDescripción
id, userIdtextoEl id del bot y el de su cuenta.
username, name, abouttexto@usuario, nombre y descripción.
commandslista{ command, description }.
permissionsobjetoCada permiso en true o false.
minorstextonone, requested, approved o rejected: si es apto para 16-17.
acceptsGroups, groupReadsSi entra a grupos y qué lee (all o filtered).
inDirectorybooleanoSi sale en el directorio.
pausedtexto o nullpremium, team, webhook u owner.
hasWebhookbooleano
createdAtfecha

bot.updates · lectura

Pide las novedades pendientes. Con un webhook puesto responde BAD_REQUEST webhookActive.

EntradaTipoDescripción
offsettexto, opcionalId de la última novedad más uno: lo anterior se confirma.
timeoutentero 0 a 25000, opcionalMilisegundos que espera si no hay nada.

Salida: { updates: [{ id, type, chatId, payload, createdAt }] }, hasta 100, en orden. Los tipos y su payload están en Webhooks.

bot.setWebhook, bot.deleteWebhook, bot.webhookInfo

ProcedimientoEntradaSalida
bot.setWebhook (escritura){ url }: https, hasta 500, o null{ secret }: whsec_... o null
bot.deleteWebhook (escritura)—{ ok }
bot.webhookInfo (lectura)—{ url, failingSince }

bot.setCommands, bot.commands

ProcedimientoEntradaSalida
bot.setCommands (escritura){ commands: [{ command, description }] }, hasta 30{ ok }
bot.commands (lectura)—La lista de comandos

command: de 1 a 32 caracteres a-z, 0-9, _. description: de 1 a 80.

bot.answerAction · escritura

Contesta el toque de un botón. Entrada: { token, toast?, alert? } (token viene en la novedad action; toast hasta 120 caracteres; alert hasta 300). Salida: { ok }. Ver el aviso de estado.

Plantillas

bot.setTemplate ({ name, body }, name con a-z0-9_, hasta 40), bot.templates (lectura, [{ name }]) y bot.deleteTemplate ({ name }). Ver Plantillas para su estado.

Texto en vivo

bot.startStream, bot.appendStream y bot.endStream existen, pero con la base de datos real bot.startStream responde BAD_REQUEST use-message. Usa message.send y message.edit (ejemplo).

Otros

bot.directory (público: los bots del directorio), bot.relation ({ userId }: si esa persona empezó con tu bot y qué comandos tiene), bot.reference y bot.changelog (los cambios de la API que ven los bots).

Mensajes

message.send · escritura

Manda un mensaje en un chat donde el bot puede contestar.

EntradaTipoDescripción
chatIdtextoDe la novedad.
clientIdtexto, 1 a 64Tuyo. Repetirlo no manda otro mensaje.
texttexto, hasta 2000
components{ v: 1, body: [...] }Componentes.
template{ name, vars }Ver el estado.
attachmentslista de fotos o videosCon el permiso chatMedia, subidos con message.upload.
replyToIdtextoResponder a un mensaje.

Hace falta al menos una de las cosas: texto, componentes, adjuntos o plantilla. No se pueden mandar efímeras ni ubicación.

Salida: el mensaje (id, chatId, sender, kind —text o interactive—, text, components, createdAt, reactions...).

Otros procedimientos de mensajes

ProcedimientoEntradaPara qué
message.list (lectura){ chatId, ... }Los mensajes de un chat, con cursores olderCursor y newerCursor.
message.edit (escritura){ messageId, text }Cambia el texto de un mensaje del bot.
message.delete (escritura){ messageId, forEveryone }Borra un mensaje.
message.react (escritura){ messageId, emoji } (null quita)Reacciona.
message.typing (escritura){ chatId }Muestra «escribiendo…».
message.markRead (escritura){ chatId }Marca como leído.
message.upload (escritura)tipo y tamañoPide dónde subir una foto o video del chat (permiso chatMedia).

Publicar y subir

upload.create · escritura

Pide dónde subir un archivo. Entrada: { contentType, size } (image/*, video/*; imágenes hasta 20 MB y videos hasta 200 MB). Salida: { uploadUrl, url }. Sube los bytes con PUT a uploadUrl (relativa a https://huwi.app) y usa url en post.create.

post.create · escritura

Publica en la cuenta del bot (permiso post, hasta 50 por día). Entrada principal:

CampoDescripción
media{ type: "text", background: "none" }, { type: "image", url, width, height }, { type: "video", url, posterUrl, width, height, durationSec } o { type: "gallery", images }.
captionDescripción, hasta 2200 caracteres. Admite #hashtags y @menciones. En un texto es el contenido, hasta 300.
audienceQuién la ve: everyone (por defecto), friends u onlyMe.
location{ name, coordinates? }.
allowComments, allowDownloadsBooleanos.

La salida es la publicación (id, author, media, caption...). Su dirección es https://huwi.app/@<usuario>/post/<id>.

Procedimientos por permiso

Esta es la lista completa de lo que un bot puede usar, tomada del código de Huwi. Cada fila dice el permiso que lo abre.

Siempre disponibles

ProcedimientoPermisoPara qué
api.indexalwaysLa lista de procedimientos que esta clave puede usar, con su forma.
auth.deviceSessionsalwaysCuentas de este dispositivo, para volver a la tuya o salir.
auth.getSessionalwaysQué cuenta es la de la clave.
auth.linkedAccountsalwaysCuentas de este dispositivo, para volver a la tuya o salir.
auth.revokealwaysCuentas de este dispositivo, para volver a la tuya o salir.
auth.setActivealwaysCuentas de este dispositivo, para volver a la tuya o salir.
auth.signOutalwaysCuentas de este dispositivo, para volver a la tuya o salir.
auth.switchToLinkedalwaysCuentas de este dispositivo, para volver a la tuya o salir.
bot.answerActionalwaysContesta el toque de un botón (un aviso corto, o una pregunta).
bot.appendStreamalwaysSuma un trozo al mensaje que se está escribiendo.
bot.changelogalwaysLos cambios de la API que ven los bots.
bot.commandsalwaysLos comandos que tiene puestos.
bot.deleteTemplatealwaysBorra una plantilla.
bot.deleteWebhookalwaysDeja de mandar las novedades a una dirección y vuelve el pedido largo.
bot.directoryalwaysLos bots que eligieron salir en el directorio.
bot.endStreamalwaysTermina el mensaje en vivo y ahí sale el aviso.
bot.mealwaysLa cuenta del bot, sus permisos y si está en pausa.
bot.referencealwaysEl hash de la foto de la API y el cambio publicado.
bot.relationalwaysSi ya le escribiste a ese bot, si lo detuviste y qué comandos tiene.
bot.setCommandsalwaysLos comandos que se ven al escribir / en el chat.
bot.setTemplatealwaysGuarda un componente con huecos para rellenarlo al enviarlo.
bot.setWebhookalwaysPone la dirección a la que Huwi manda las novedades, firmadas.
bot.startStreamalwaysEmpieza un mensaje que se va escribiendo.
bot.templatesalwaysLas plantillas guardadas.
bot.updatesalwaysPide las novedades que todavía no confirmó. Sin webhook, puede esperar hasta 25 segundos.
bot.webhookInfoalwaysDice si el webhook está puesto y desde cuándo está fallando.
message.componentActionalwaysChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
upload.createalwaysPide una dirección para subir un archivo del bot.

Mensajes

ProcedimientoPermisoPara qué
message.acceptRequestmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.canMessagemessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.chatmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.chatWithmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.deletemessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.deleteChatmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.deleteRequestmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.destinationsmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.editmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.eventsmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.forwardmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.groupCandidatesmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.heartbeatmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.inboxmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.listmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.markReadmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.markUnreadmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.mediamessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.moveToFoldermessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.mutemessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.onlinemessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.peoplemessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.pinmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.reactmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.searchmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.sendmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.settingsmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.sharemessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.transcribemessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.typingmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.unreadmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.unreadByAccountmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.
message.updateSettingsmessagesChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.

Componentes y fotos del chat

ProcedimientoPermisoPara qué
upload.fromUrlcomponentsHuwi baja una imagen por el bot para usarla en un componente.
ProcedimientoPermisoPara qué
message.uploadchatMediaChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.

Publicar, historias, comentar, reaccionar y seguir

ProcedimientoPermisoPara qué
aiPhoto.availablepostEfectos de IA al publicar una foto.
aiPhoto.effectspostEfectos de IA al publicar una foto.
aiPhoto.generatepostEfectos de IA al publicar una foto.
aiPhoto.listpostEfectos de IA al publicar una foto.
aiPhoto.setSavedpostEfectos de IA al publicar una foto.
aiPhoto.statuspostEfectos de IA al publicar una foto.
poll.closepostEncuestas en una publicación.
poll.resultspostEncuestas en una publicación.
poll.votepostEncuestas en una publicación.
poll.voterspostEncuestas en una publicación.
post.createpostPublica en la cuenta del bot, si tiene el permiso.
post.deletepostBorra una publicación del bot.
post.setAudiencepostLeer publicaciones.
post.setRatingpostLeer publicaciones.
post.setRepostpostLeer publicaciones.
post.setSettingspostLeer publicaciones.
story.toPostpostHistorias: verlas y, con el permiso, publicarlas.
ProcedimientoPermisoPara qué
story.createstoryHistorias: verlas y, con el permiso, publicarlas.
story.deletestoryHistorias: verlas y, con el permiso, publicarlas.
story.fromPoststoryHistorias: verlas y, con el permiso, publicarlas.
ProcedimientoPermisoPara qué
comment.createcommentComenta, si tiene el permiso.
comment.deletecommentLeer y manejar comentarios.
comment.editcommentLeer y manejar comentarios.
ProcedimientoPermisoPara qué
comment.reactreactLeer y manejar comentarios.
comment.setLikereactLeer y manejar comentarios.
post.reactreactReacciona a una publicación.
post.setLikereactDa o quita me gusta. Suma al contador, y el motor de recomendaciones no lo ve.
story.setLikereactHistorias: verlas y, con el permiso, publicarlas.
ProcedimientoPermisoPara qué
user.acceptFollowRequestfollowPerfiles, seguidores y listas.
user.rejectFollowRequestfollowPerfiles, seguidores y listas.
user.removeFollowerfollowPerfiles, seguidores y listas.
user.setFollowfollowSigue o deja de seguir una cuenta.

Perfil y grupos

ProcedimientoPermisoPara qué
account.connectionPreferencesprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.getprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.isUsernameAvailableprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.meetHiddenPlacesprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.personalInfoprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.placeAtprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.setMeetHiddenPlacesprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.setShareCurrentLocationprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.shareCurrentLocationprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.storeAgeprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.updateprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.updateConnectionPreferencesprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
account.updatePersonalInfoprofileEl perfil del bot: nombre, foto y presentación. No cierra la cuenta ni cambia el @usuario.
block.blockprofileBloquear o desbloquear.
block.listprofileBloquear o desbloquear.
block.statusprofileBloquear o desbloquear.
block.unblockprofileBloquear o desbloquear.
privacy.acceptprofilePrivacidad de la cuenta del bot.
privacy.statusprofilePrivacidad de la cuenta del bot.
ProcedimientoPermisoPara qué
message.updateGroupgroupsChats: leer, contestar y editar. Un bot no abre un chat ni escribe primero.

Leer

ProcedimientoPermisoPara qué
comment.approvereadLeer y manejar comentarios.
comment.byIdreadLeer y manejar comentarios.
comment.hiddenreadLeer y manejar comentarios.
comment.listreadLeer y manejar comentarios.
comment.livereadLeer y manejar comentarios.
comment.repliesreadLeer y manejar comentarios.
comment.restrictionreadLeer y manejar comentarios.
comment.settingsreadLeer y manejar comentarios.
comment.topreadLeer y manejar comentarios.
comment.typingreadLeer y manejar comentarios.
comment.updateSettingsreadLeer y manejar comentarios.
comment.whoReactedreadLeer y manejar comentarios.
content.forPostreadEtiquetas de contenido.
content.labelMissingreadEtiquetas de contenido.
content.setEnabledreadEtiquetas de contenido.
content.statusreadEtiquetas de contenido.
discover.categoriesreadDescubrir.
effect.getreadEfectos de fotos, para verlos.
effect.postsreadEfectos de fotos, para verlos.
featured.getreadLo destacado.
featured.removereadLo destacado.
featured.setreadLo destacado.
following.suggestedAccountsreadA quién sigue el bot.
hashtag.getreadHashtags.
hashtag.helpreadHashtags.
hashtag.searchreadHashtags.
link.openreadA dónde lleva un enlace de Huwi.
lyrics.editorreadLetras de canciones.
lyrics.getreadLetras de canciones.
lyrics.setInstrumentalreadLetras de canciones.
lyrics.setLinesreadLetras de canciones.
lyrics.setPublishedreadLetras de canciones.
lyrics.setTextreadLetras de canciones.
lyrics.transcribereadLetras de canciones.
notification.listreadAvisos de la cuenta del bot.
notification.markAllReadreadAvisos de la cuenta del bot.
notification.unreadreadAvisos de la cuenta del bot.
notification.unreadCountreadAvisos de la cuenta del bot.
place.commentsHeaderreadLugares.
place.deleteReviewreadLugares.
place.explorereadLugares.
place.getreadLugares.
place.herereadLugares.
place.minereadLugares.
place.myAreareadLugares.
place.myReviewreadLugares.
place.myStatsreadLugares.
place.nearbyreadLugares.
place.popularNearreadLugares.
place.reviewsreadLugares.
place.reviewSummaryreadLugares.
place.reviewUploadreadLugares.
place.savedreadLugares.
place.setHelpfulreadLugares.
place.setSavedreadLugares.
place.suggestreadLugares.
place.toReviewreadLugares.
place.writeReviewreadLugares.
post.byIdreadLeer publicaciones.
post.canonicalPathreadLeer publicaciones.
post.downloadreadLeer publicaciones.
post.downloadPhotosreadLeer publicaciones.
post.downloadsAvailablereadLeer publicaciones.
post.feedreadLeer publicaciones.
post.indexablereadLeer publicaciones.
post.locationSuggestionsreadLeer publicaciones.
post.privateAuthorreadLeer publicaciones.
post.reactionsreadReacciona a una publicación.
post.recentLocationsreadLeer publicaciones.
post.recordSharereadLeer publicaciones.
post.recordViewreadLeer publicaciones.
post.setSavereadLeer publicaciones.
post.whoReactedreadLeer publicaciones.
search.highlightsreadBuscar en Huwi.
search.queryreadBuscar en Huwi.
search.suggestionsreadBuscar en Huwi.
sitemap.entriesreadQué páginas son públicas.
sound.byOwnerreadSonidos y canciones.
sound.creditInvitesreadSonidos y canciones.
sound.getreadSonidos y canciones.
sound.isrcForSearchreadSonidos y canciones.
sound.libraryreadSonidos y canciones.
sound.minereadSonidos y canciones.
sound.mineCountsreadSonidos y canciones.
sound.popularStartsreadSonidos y canciones.
sound.postsreadSonidos y canciones.
sound.recordLinkClickreadSonidos y canciones.
sound.recordPlayreadSonidos y canciones.
sound.recordVisitreadSonidos y canciones.
sound.respondCreditreadSonidos y canciones.
sound.setCreditsreadSonidos y canciones.
sound.setDetailsreadSonidos y canciones.
sound.setIsrcreadSonidos y canciones.
sound.setRemovedreadSonidos y canciones.
sound.setSavereadSonidos y canciones.
sound.setTitlereadSonidos y canciones.
sound.startPlayreadSonidos y canciones.
sound.statsreadSonidos y canciones.
story.byIdreadHistorias: verlas y, con el permiso, publicarlas.
story.byUserreadHistorias: verlas y, con el permiso, publicarlas.
story.discoverreadHistorias: verlas y, con el permiso, publicarlas.
story.inboxreadHistorias: verlas y, con el permiso, publicarlas.
story.ringsreadHistorias: verlas y, con el permiso, publicarlas.
story.setMutedreadHistorias: verlas y, con el permiso, publicarlas.
story.viewreadHistorias: verlas y, con el permiso, publicarlas.
story.viewersreadHistorias: verlas y, con el permiso, publicarlas.
user.byUsernamereadPerfiles, seguidores y listas.
user.followersreadPerfiles, seguidores y listas.
user.followingreadPerfiles, seguidores y listas.
user.followRequestsreadPerfiles, seguidores y listas.
user.followStatesreadPerfiles, seguidores y listas.
user.friendsreadPerfiles, seguidores y listas.
user.isPremiumreadPerfiles, seguidores y listas.
user.isPrivatereadPerfiles, seguidores y listas.
user.likersreadPerfiles, seguidores y listas.
user.likesreadPerfiles, seguidores y listas.
user.likesVisibilityreadPerfiles, seguidores y listas.
user.mentionSuggestionsreadPerfiles, seguidores y listas.
user.postsreadPerfiles, seguidores y listas.
user.privateLockedreadPerfiles, seguidores y listas.
user.reactorsreadPerfiles, seguidores y listas.
user.savedreadPerfiles, seguidores y listas.
user.setLikesVisibilityreadPerfiles, seguidores y listas.
user.setPostNotificationsreadPerfiles, seguidores y listas.
user.setPrivatereadPerfiles, seguidores y listas.
user.setSocialAccountHiddenreadPerfiles, seguidores y listas.
user.sharesreadPerfiles, seguidores y listas.
user.suggestionsreadPerfiles, seguidores y listas.
voiceEffect.aiConvertreadEfectos de voz, para verlos.
voiceEffect.aiUploadreadEfectos de voz, para verlos.
voiceEffect.listreadEfectos de voz, para verlos.

Música

ProcedimientoPermisoPara qué
artist.overviewmusicLa cuenta de artista, si el bot la tiene.
artist.requestmusicLa cuenta de artista, si el bot la tiene.
artist.statusmusicLa cuenta de artista, si el bot la tiene.
music.albummusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.albumsmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.clearNowPlayingmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.collaboratorCandidatesmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.coverPostsmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.createPlaylistmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.deleteAlbummusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.deletePlaylistmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.genresmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.leavePlaylistmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.librarymusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.myAlbumsmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.nowPlayingmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.playlistmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.playlistsmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.queueTitlemusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.reactmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.reactionsmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.recordSharemusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.remotemusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.remoteEventsmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.reorderPlaylistmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.saveAlbummusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.saveNowPlayingmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.saveTargetsmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.searchmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.setCollaboratorsmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.setCovermusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.setFollowPlaylistmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.setInPlaylistmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.setLikemusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.setSaveAlbummusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.trackmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.tracksmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.updatePlaylistmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
music.whoReactedmusicMúsica: escuchar, listas y lo que el permiso de música deja cambiar.
sound.createSongmusicSonidos y canciones.

En esta página