Notas de publicación
Product deprecation notice
Effective April 30th, 2026, Vonage In-App Messaging will no longer be available. Access for new users will be closed, and the service will be discontinued for all existing users.
If you have any questions regarding this product’s discontinuation, please contact your account manager or our support team.
Versión 9.5.1 - 11 de enero de 2024
Arregla
- Corregido error al hacer
networkRequestdatos a cadena
Versión 9.5.0 - 21 de noviembre de 2023
Nuevo
- Apoyar eventos pendientes (perdidos
member:invited)
Versión 9.4.0 - 04 de septiembre de 2023
Nuevo
- Ayuda
ephemeralevento
// send ephemeral event
conversation
.sendEphemeralEvent({ state: "INVITED" })
.then((event) => {
console.log(event)
});
Versión 9.3.1 - 30 de agosto de 2023
Arregla
- Fijar
NexmoAPIenvoltura de error parav0.3Puntos finales de la Conversation API
Notas de publicación
Versión 9.3.1 - 19 de junio de 2023
Arregla
- Fijar
NexmoAPIenvoltura de error parav0.3Puntos finales de la Conversation API
Versión 9.3.0 - 01 de junio de 2023
Nuevo
- Añadir
statepara consultar param paraapplication.getConversations()para laConversationsPageobjeto
// iterate through conversations
application
.getConversations({ state: "INVITED" })
.then((conversations_page) => {
conversations_page.items.forEach(conversation => {
render(conversation);
})
});
Arregla
- Definición de tipo fija para
Conversationmarca de tiempo al objeto - Por defecto
socket.ioconsultasession_versiona0.0.1a menos queenableInboundOfferpor defecto será0.0.2
Versión 9.2.6 - 23 de mayo de 2023
Cambios
- Añadir métricas de reconexión WS
Versión 9.2.5 - 23 de mayo de 2023
Arregla
- Definición de tipo fija para
enableEventsQueueyenableInboundOffer - Añadir
acknowledgeEventsen la configuración para permitir el seguimiento del acuse de recibo de eventos de websocket
Versión 9.2.4 - 19 de abril de 2023
Arregla
- Emisión
reconnectingevento de socket en intento de reconexión
Versión 9.2.3 - 30 de marzo de 2023
Cambios
- Actualizar
socket.io-clienta la versión 4.6.1
Versión 9.2.2 - 13 de marzo de 2023
Arregla
- Fijar
ConversationEventsProcessoriniciar varias veces la misma conversación
Versión 9.2.0 - 21 de diciembre de 2022
Cambios
- Añadir
enableInboundOfferbandera a configurar para la configuración de llamadas entrantes - Eliminar
Ice Serverspor defecto dewebrtc STUNconfiguración del servidor - Sustituir
api.nexmoURL aapi.vonageURL
Versión 9.1.5 - 24 de octubre de 2022
Arregla
- Corrección de un error al volver a invitar a un usuario a una conversación.
Versión 9.1.4 - 23 de septiembre de 2022
Cambios
- Utilice
v2de Nexmo Conversation Websocket
Versión 9.1.3 - 07 de septiembre de 2022
Fijar
- Corregir la definición del módulo typescript
Versión 9.1.1 - 19 de agosto de 2022
Fijar
- Corregir el orden de los eventos para rtc:transfer en conversaciones con nombre
Versión 9.1.0 - 16 de agosto de 2022
Nuevo
- Utilizar medios precargados en las llamadas entrantes (inicio
WebRTC iceen cuanto se invita a un miembro a una convocatoria)
Fijar
- Eliminar
public-ipdebido a una vulnerabilidad de seguridad (actualizada conis-ip)
Versión 9.0.0 - 30 de junio de 2022
Cambios de última hora
- Cambie el nombre de
login()paracreateSession()
rtc.createSession(token).then((application) => {
console.log(application);
}).catch((error) => {
console.log(error);
});
- Cambie el nombre de
logout()paradeleteSession()
rtc.deleteSession().then((response) => {
console.log(response);
}).catch((error) => {
console.log(error);
});
Cambios
- Mover la creación de conexiones websocket a la
createSession()función
Versión 8.7.3 - 14 de junio de 2022
Cambios
- Se ha añadido la autenticación mediante token a
connectivityReport()
rtc.connectivityReport(token, {
dcListCallback: (dcList) => {...dcList, additionalDc}
}).then((report) => {
console.log(report);
}).catch((error) => {
console.log(error);
});
- Se ha añadido la autenticación mediante token a
checkMediaServers()
rtc.checkMediaServers('token', 'nexmo-api-url','dc').then((responseArray) => {
console.log(responseArray);
}).catch((error) => {
console.log(error);
});
Versión 8.7.2 - 27 de mayo de 2022
Fijar
- Eliminadas dependencias npm no utilizadas.
Versión 8.7.1 - 11 de mayo de 2022
Nuevo
- Añadido nuevo
checkMediaServers()para devolver una lista con el estado de conexión de los servidores de medios para un centro de datos específico.
rtc.checkMediaServers('nexmo-api-url','dc').then((responseArray) => {
console.log(responseArray);
}).catch((error) => {
console.log(error);
});
- Añadido nuevo
checkMediaConnectivity()para devolver el estado de la conexión de un único servidor multimedia.
rtc.checkMediaConnectivity('ip-address','1').then((response) => {
console.log(response);
}).catch((error) => {
console.log(error);
});
Cambios
- Actualización
connectivityReport()para devolver el tiempo de conexión en ms para la conexión a servidores https, wss y media
Versión 8.6.0 - 21 de abril de 2022
Nuevo
- Se ha añadido un argumento de objeto opcional a la función
connectivityReport()con campo opcionaldcListCallbackque acepta una función de devolución de llamada para actualizar la lista de centros de datos
rtc.connectivityReport({
dcListCallback: (dcList) => {...dcList, additionalDc}
}).then((report) => {
console.log(report);
}).catch((error) => {
console.log(error);
});
Versión 8.5.0 - 20 de abril de 2022
Nuevo
- Exponga
seen()ydelivered()funciones para eventos de mensajes
messageEvent.seen().then(() => {
console.log(`Seen message with id ${messageEvent.id}`);
}).catch((error) => {
console.log(error);
});
- Admite nuevos eventos de estado de mensajes
message:seenmessage:deliveredmessage:submittedmessage:rejectedmessage:undeliverable
conversation.on("message:delivered", (member, event) => {
console.log(`Message with id ${event.id} delivered to ${member.name}`);
});
- Se han añadido nuevos objetos de estado para los eventos de mensaje que admiten los nuevos estados
seen_bydelivered_tosubmitted_torejected_byundeliverable_to
Cambios
- Actualización
connectivityReport()utilizar puntos finales adecuados por región
Versión 8.4.1 - 14 de febrero de 2022
Fijar
- Arreglar el orden de los eventos cuando hay un hueco en los eventos entrantes
Versión 8.4.0 - 21 de enero de 2022
Nuevo
- Añadido nuevo
connectivityReport()función para obtener un informe de conectividad para todos los centros de datos y servidores de medios de Vonage
rtc.connectivityReport().then((report) => {
console.log(report);
}).catch((error) => {
console.log(error);
});
Versión 8.3.1 - 09 de diciembre de 2021
Nuevo
- Establezca el nivel de sincronización predeterminado para el proceso de inicio de sesión de
liteanone
Versión 8.3.0 - 01 de noviembre de 2021
Nuevo
- Añadido nuevo
uploadImage()para cargar una imagen en el servicio multimedia de Vonage
const params = {
quality_ratio : "90",
medium_size_ratio: "40",
thumbnail_size_ratio: "20"
};
conversation.uploadImage(fileInput.files[0], params).then((uploadImageRequest) => {
uploadImageRequest.onprogress = (e) => {
console.log("Image request progress: ", e);
console.log("Image progress: " + e.loaded + "/" + e.total);
};
uploadImageRequest.onabort = (e) => {
console.log("Image request aborted: ", e);
console.log("Image: " + e.type);
};
uploadImageRequest.onloadend = (e) => {
console.log("Image request successful: ", e);
console.log("Image: " + e.type);
};
uploadImageRequest.onreadystatechange = () => {
if (uploadImageRequest.readyState === 4 && uploadImageRequest.status === 200) {
const representations = JSON.parse(uploadImageRequest.responseText);
console.log("Original image url: ", representations.original.url);
console.log("Medium image url: ", representations.medium.url);
console.log("Thumbnail image url: ", representations.thumbnail.url);
}
};
}).catch((error) => {
console.error("error uploading the image ", error);
});
- Añadido nuevo
sendMessage()para enviar un nuevomessagea la conversación (los tipos admitidos sontext,image,audio,videoyfile)
conversation.sendMessage({
"message_type": "text",
"text": "Hi Vonage!"
}).then((event) => {
console.log("message was sent", event);
}).catch((error)=>{
console.error("error sending the message ", error);
});
conversation.sendMessage({
"message_type": "image",
"image": {
"url": "https://example.com/image.jpg"
}
})
.then((event) => {
console.log("message was sent", event);
}).catch((error)=>{
console.error("error sending the message ", error);
});
- Añadido nuevo
MessageEventtipo de acontecimiento
conversation.on("message", (member, messageEvent) => {
console.log(messageEvent);
});
Cambios
- Deprecate
sendText()(utilicesendMessage()con un tipo detexten su lugar)
conversation.sendMessage({ "message_type": "text", "text": "Hi Vonage!" }).then((event) => {
console.log("message was sent", event);
}).catch((error)=>{
console.error("error sending the message ", error);
});
- Deprecate
sendImage()(utiliceuploadImage()ysendMessage()con un tipo deimageen su lugar)
conversation.uploadImage(imageFile).then((imageRequest) => {
imageRequest.onreadystatechange = () => {
if (imageRequest.readyState === 4 && imageRequest.status === 200) {
try {
const { original, medium, thumbnail } = JSON.parse(imageRequest.responseText);
const message = {
message_type: 'image',
image: {
url: original.url ?? medium.url ?? thumbnail.url
}
}
return conversation.sendMessage(message);
} catch (error) {
console.error("error sending the message ", error);
}
}
if (imageRequest.status !== 200) {
console.error("error uploading the image");
}
};
return imageRequest;
})
.catch((error) => {
console.error("error uploading the image ", error);
});
Versión 8.2.5 - 12 de octubre de 2021
Fijar
- Corrección de errores en los permisos de audio
Versión 8.2.2 - 08 de octubre de 2021
Fijar
- Mejora de los registros de depuración
Versión 8.2.0 - 28 de septiembre de 2021
Nuevo
- Añadir nuevo
getUserSessions()para recuperar las sesiones del usuario conectado
application.getUserSessions({ user_id: "USR-id", page_size: 20 }).then((user_sessions_page) => {
user_sessions_page.items.forEach(user_session => {
render(user_session)
})
}).catch((error) => {
console.error(error);
});
Versión 8.1.1 - 08 de septiembre de 2021
Nuevo
- Añadir nuevo opcional
mediaParamsparámetro enreconnectCallpara modificar elMediaStreamobjeto
application.reconnectCall(
"conversation_id",
"rtc_id",
{ audioConstraints: { deviceId: "device_id" } }
).then((nxmCall) => {
console.log(nxmCall);
}).catch((error) => {
console.error(error);
});
- Actualización
media.enable()docs para incluir las restricciones de audio
Arregla
- Asignar el
NXMCallestado al volver a conectarse a una llamada (STARTED,RINGINGoANSWERED)
Cambios
- Actualización
npmdependencias
Versión 8.1.0 - 02 de septiembre de 2021
Nuevo
- Añadir
reconnectCallfunción que permite a los usuarios volver a conectarse a una llamada en 20 segundos si se cierra la pestaña del navegador
application.reconnectCall("conversation_id", "rtc_id").then((nxmCall) => {
console.log(nxmCall);
}).catch((error) => {
console.error(error);
});
- Añadir parámetro opcional
reconnectRtcIda los medios de comunicaciónenable()para volver a conectar los medios de comunicación para llamar a
conversation.media.enable({ reconnectRtcId: "UUID" }).then((stream) => {
console.log(stream)
}).catch((error) => {
console.error("error renabling media", error);
});
- Añadir
custom_dataobjeto encallServerfunción
application.callServer("<phone_number>", "phone", { field1: "test" }).then((nxmCall) => {
console.log(nxmCall);
}).catch((error) => {
console.error(error);
});
- Añadir
apiKey,applicationId,conversationIdyconversationNamecuando esté disponible enrtcstatsinformes analíticos
Arregla
- Corrección de un error en la transferencia de llamadas
transferred_fromno estaba definido
Versión 8.0.5 - 15 de julio de 2021
Arregla
- Fijar el
frompara eventos de socios - Actualización
npmdependencias que incluyensocket-io
Versión 8.0.4 - 16 de junio de 2021
Arregla
- Corrección de errores en
DTMFenvío de devolución de llamada aevent_url
Versión 8.0.3 - 18 de mayo de 2021
Arregla
- Corrección del desorden en el procesamiento de eventos internos en la cola de eventos
- Corrección del mensaje de advertencia de obsoleto para
rtcstats:report
Versión 8.0.1 - 29 de abril de 2021
Arregla
- Actualizar las definiciones de Typescript
- Se ha corregido un error en el escenario de llamada IP-IP con SDK nativos (no se rellenaba correctamente el campo
Conversation.membersMapa)
Versión 8.0.0 - 27 de abril de 2021
Cambios de última hora
- Deprecate
Conversation.membersMapa (sólo se rellenará en un escenario de llamada) - Los eventos de conversación se emitirán con un subconjunto de información del Miembro
conversation.on("any:event", ({memberId, userId, userName, displayName, imageUrl, customData}, event) => {});
Cambios
- Añadir paginado
getMembers()para recuperar los miembros de una conversación
conversation.getMembers().then((members_page) => {
members_page.items.forEach(member => {
render(member);
})
}).catch((error) => {
console.error("error getting the members ", error);
});
- Añadir
getMyMember()para recuperar nuestro propio miembro en una conversación
conversation.getMyMember().then((member) => {
render(member);
}).catch((error) => {
console.error("error getting my member", error);
});
- Añadir
getMember()para recuperar un miembro de la conversación mediantemember_id
conversation.getMember("MEM-id").then((member) => {
render(member);
}).catch((error) => {
console.error("error getting member", error);
});
Versión 7.1.0 - 07 de abril de 2021
Cambios
rtcstats:reportestá obsoleto. Por favor, utilicertcstats:analyticsen su lugar
application.on('rtcstats:analytics', ({
type: 'mos' || 'mos_report',
mos: string,
rtc_id: string,
mos_report?: {
average: string,
last: string,
max: string,
min: string
},
report?: RTCStatsReport
}) => {}
- Añadir reportero de registros para el registro remoto
- Añadir personalizado
getStatsanalizador - Eliminar
callstatsbiblioteca y aplicación
Versión 7.0.2 - 30 de marzo de 2021
Arregla
- Emitir evento 'call:status:update' cuando la aplicación está offline y la llamada desconectada
Versión 7.0.1 - 04 de febrero de 2021
Arregla
- Eliminar el mensaje de advertencia innecesario para las transiciones de estado de llamada
Versión 7.0.0 - 02 de febrero de 2021
Cambios de última hora
legsdebe incluirse enaclcaminos enJWTcreación de fichas
"acl": {
"paths": {
...
"/*/legs/**": {}
}
}
Cambios
- Mejorar
callServertiempo de preparación precalentando la pierna - Añada el
rtcObjecty remotostreama laNxmCallobjeto
Arregla
- Devolución
ClientDisconnectedrazón por la que el cliente se desconecta del SDK
Versión 6.2.1 - 24 de diciembre de 2020
Arregla
- Volver a 6.1.1 desde 6.2.0-alpha
Versión 6.1.2 - 24 de diciembre de 2020
Arregla
- Actualizar las definiciones de Typescript
Versión 6.1.1 - 09 de diciembre de 2020
Arregla
- Actualizar las definiciones de Typescript
Versión 6.1.0 - 01 de diciembre de 2020
Cambios
- Añadir
enableEventsQueuea la configuración del cliente (por defecto es true) - Añadir interno
eventsQueuemecanismo para garantizar el orden de los eventos recibidos durante una sesión
Versión 6.0.19 - 26 de noviembre de 2020
Cambios
- Actualización
reconnectionDelaya2000ensocket.io - Añadir
randomizationFactora0.55ensocket.io
Versión 6.0.18 - 19 de noviembre de 2020
Cambios
- Actualizar la documentación
Arregla
- Añadir
reconnectionDelaya 3000 yreconnectionDelayMaxa 15000 ensocket.io
Versión 6.0.17 - 12 de noviembre de 2020
Arregla
- Actualizar el identificador de sesión tras la reconexión
Versión 6.0.16 - 12 de octubre de 2020
Arregla
- Despacho
system:error:expired-tokenevento a nivel de aplicación
application.on('system:error:expired-token', 'NXM-errors', () => {
console.log('Token Expired');
});
- Manejar excepción no capturada de
conversation:error:invalid-member-stateevento
Versión 6.0.15 - 21 de septiembre de 2020
Arregla
- Establecer SDK por defecto en un único preset candidato ICE
- Eliminar
iceGatherOnlyOneCandidatede la configuración del cliente
Versión 6.0.13 - 14 de septiembre de 2020
Arregla
- Actualización de la lógica de reconexión de websocket para la expiración de token
Versión 6.0.12 - 01 de septiembre de 2020
Arregla
- Actualización del flujo resuelto en la habilitación de medios
Versión 6.0.11 - 01 de septiembre de 2020
Cambios
- Actualización de la lógica de reconexión de websockets
- Se corrige el retraso en el establecimiento de la conexión multimedia con un candidato a hielo enviado
Versión 6.0.10 - 04 de mayo de 2020
Arregla
- Filtrar candidatos IPv6 de
iceGatherOnlyOneCandidateOferta SDP
Versión 6.0.9 - 24 de marzo de 2020
Arregla
- Arreglar manejador de
rtc:transferevento para refrescar la conversación
Versión 6.0.8 - 28 de febrero de 2020
Arregla
- Corrección de la oferta webrtc duplicada enviada durante la llamada IP
- Arreglar Safari
WebRTCdependencia
Versión 6.0.7 - 16 de enero de 2020
Arregla
- Arreglar el estado de llamada contestada en llamadas IP - IP
- Solucionar problemas de documentación
Cambios
- Mejorar las definiciones de TypeScript
Versión 6.0.6 - 19 de noviembre de 2019
Arregla
- Añadir
iceGatherOnlyOneCandidatey utilizarla para definir la ruta enICE gatheringproceso
Versión 6.0.5 - 19 de noviembre de 2019
Arregla
- Actualizar el estilo de
JSDocsaDocstrapplantilla - Cambia
RTCPeerConnection ICE candidatespara enviar el Protocolo de Descripción de Sesión (SDP) oferta en la primeraICEcandidato reunido
Versión 6.0.4 - 14 de noviembre de 2019
Arregla
- Eliminar los elementos de audio restantes tras transferir una llamada a una nueva conversación
- Actualización
conversation.invite()para no incluir vacíosuser_idouser_namecampos de las solicitudes
Versión 6.0.3 - 22 de octubre de 2019
Nuevo
- Añadidos archivos de definición de TypeScript
Cambios
- Se han añadido opciones para personalizar los niveles de registro en la consola de
debug,info,warnoerror.
new NexmoClient({
debug: 'info'
})
- Trasladado el almacenamiento del token JWT de
localStorageaNexmoClientobjeto de configuración - Eliminados archivos innecesarios del paquete de lanzamiento NPM
Arregla
- Orden fijo de los estados de llamada en caso de transferencia
Versión 6.0.1 - 27 de septiembre de 2019
Cambios
- Eliminado
media.record()función - Eliminada la opción de caché del SDK, utilizada para almacenar conversaciones y eventos.
- Eliminada la sincronización automática de todos los
conversationsen inicio de sesión, cuandosyncesliteofull
Versión 6.0.0 - 13 de septiembre de 2019
Cambios de última hora
- Cambiar el valor de retorno de
application.getConversations()al nuevoConversationsPageobjeto
// iterate through conversations
application
.getConversations({ page_size: 20 })
.then((conversations_page) => {
conversations_page.items.forEach(conversation => {
render(conversation);
})
});
- Cambiar el valor de retorno de
conversation.getEvents()al nuevoEventsPageobjeto
// iterate through events
conversation
.getEvents({ event_type: `member:*` })
.then((events_page) => {
events_page.items.forEach(event => {
render(event);
})
});
- Renombrar método
application.callPhoneaapplication.callServer - Renombrar método
application.callaapplication.inAppCall - Renombrar método
call.createPhoneCallacall.createServerCall - Renombrar clase
CallaNXMCall - Renombrar clase
ConversationClientaNexmoClient - Renombrar clase
ConversationClientErroraNexmoClientError - Renombrar archivos
conversationClient.jsyconversationClient.min.jsanexmoClient.jsynexmoClient.min.js - Deprecate
member:call:state(utilice en su lugarmember:call:status) - Eliminar el inicio de sesión automático en caso de reconexión del websocket y emitir el evento
Nuevo
- Enviar y escuchar tipos de eventos personalizados en una conversación.
//sending a custom event type to a conversation
conversation
.sendCustomEvent({type: `my_custom_event`, body: { enabled: true }})
.then((custom_event) => {
console.log(event.body);
});
//listening for a custom event type
conversation.on(`my_custom_event`, (from, event) => {
console.log(event.body);
});
- Añadir nuevo
PageConfigclase para configurar las peticiones paginadas - Añadir nuevo
Pagepara envolver los resultados de las peticiones paginadas - Añadir configuración de paginación por defecto para conversaciones y eventos en la inicialización de ConversationClient.
- Añadir comodín admitido para filtrar por tipos de eventos utilizando
:*(por ejemploevent_type:member:*)
new NexmoClient({
conversations_page_config: {
page_size: 25,
order: 'asc'
cursor: 'abc'
},
events_page_config: {
page_size: 50,
event_type: `member:*`
}
})
- Añadir nuevo
ConversationsPageyEventsPageque se extiendenPagepara envolver los resultados de las solicitudes paginadas de conversaciones y eventos - Añadir
getNext()ygetPrev()métodos paraConversationsPageyEventsPageobjetos para recuperar las páginas anteriores y siguientes de conversaciones y eventos - Añadir
conversations_page_lastaapplicationyevents_page_lastaconversationobjeto de referencia a la última página recuperada
application.conversations_page_last
.getNext((conversations_page) => {
conversations_page.items.forEach(conversation => {
render(conversation)
})
})
conversation.events_page_last
.getPrev((events_page) => {
events_page.items.forEach(event => {
render(event)
})
})
- Añade la posibilidad de realizar una llamada IP-IP a través de
callServerfunción
// IP-IP call scenario
application
.callServer('username', 'app')
.then((nxmCall) => {
// console.log(nxmCall);
});
// IP-PSTN call scenario
application
.callServer('07400000000')
.then((nxmCall) => {
// console.log(nxmCall);
});
Cambios
- Actualización
reasonpara recibirreason.reason_textyreason.reason_codecampos
Cambios internos
- Cambie el nombre de
Eventclase aNXMEvent - Actualizar las solicitudes CAPI a llamadas REST para estos eventos
event:deliveredtext:deliveredimage:deliveredevent:seentext:seenimage:seenconversation:eventsaudio:playconversation:deleteconversation:invitetexttext:typing:ontext:typing:offnew:conversationconversation:getuser:conversationsuser:getconversation:joinaudio:sayaudio:earmuff:onaudio:earmuff:offaudio:dtmfaudio:recordaudio:playconversation:member:deleteevent:deleteaudio:ringing:startaudio:ringing:stopaudio:mute:onaudio:mute:offimagertc:newrtc:answerrtc:terminateknocking:newknocking:delete
Versión 5.3.4 - 18 de julio de 2019
Arregla
- El objeto de configuración personalizado del SDK realiza una fusión profunda con el objeto de configuración predeterminado.
Versión 5.3.3 - 29 de junio de 2019
Arregla
- Cambiar dígito a dígito en el
sendDTMF()carga útil del método de solicitud. - El flujo no se está terminando en una transferencia de llamada.
member:callno se emite simedia.audio_settings.enabledes falso o no existe.
Nuevo
- Establecer
member.callStatusastartedal inicializar una llamada IP - IP. - Establecer
member.callStatusaringingal activar el timbre conmedia.startRinging().
Cambios internos
- Desplazar la limpieza del flujo de
member:leftartc:hangupen el módulo Media.
Versión 5.2.1 - 12 de junio de 2019
Nuevo
- Añada el nuevo
nexmoGetRequestmétodo de utilidad para realizar una solicitud de red GET directamente a CS:
/**
* Perform a GET network request directly to CS
*
* @param {string} url the request url to CS
* @param {string} data_type the type of data expected back from the request (events, conversations, users)
* @param {object} [params] network request params
* @param {string} [params.cursor] cursor parameter to access the next or previous page of a data set
* @param {number} [params.page_size] the number of resources returned in a single request list
* @param {string} [params.order] 'asc' or 'desc' ordering of resources (usually based on creation time)
* @param {string} [params.event_type] the type of event used to filter event requests ('member:joined', 'audio:dtmf', etc)
*
* @returns {Promise<XMLHttpRequest.response>} the XMLHttpRequest.response
* @static
* @example <caption>Sending a nexmo GET request</caption>
*/
nexmoGetRequest(url, data_type, params).then((response) => {
response.body: {},
response.cursor: {
prev: '',
next: '',
self: ''
},
response.page_size: 10
});
- Ayuda
reasonparamember:delete,conversation.leave,member.kick,call.hangupycall.reject. - Escucha el
member:leftevento conreason:
//listening for member:left with reason
conversation.on('member:left', (member, event) => {
console.log(event.body.reason);
});
/**
* Reason object format
*
* @param {object} [reason] the reason for kicking out a member
* @param {string} [reason.code] the code of the reason
* @param {string} [reason.text] the description of the reason
*/
- Añadir
callStatusen el campoMemberque define el estado de una llamada. - Emita
member:call:statuscada vez que elmember.callStatuscambios:
conversation.on("member:call:status", (member) => {
console.log(member.callStatus);
});
Versión 5.2.0 - 30 de mayo de 2019
Nuevo
Añada el
callinstancia enapplication.callsmapa encreateCall()función (llamada IP -IP)Actualizar el parámetro del llamante en el objeto de llamada en una llamada RTPC - IP desde
unknownachannel.from.numberochannel.from.urisi existeEmitir el nuevo
leg:status:updatecada vez que un miembro cambie de estado
/**
* Conversation listening for leg:status:update events.
*
* @event Conversation#leg:status:update
*
* @property {Member} member - the member whose leg status changed
* @property {Event} event - leg:status:update event
* @param {string} event.cid - the conversation id
* @param {string} event.body.leg_id - the conversation leg id
* @param {string} event.body.type - the conversation leg type (phone or app)
* @param {string} event.body.status - the conversation member leg status
* @param {Array} event.body.statusHistory - array of previous leg statuses
*/
conversation.on("leg:status:update", (member, event) {
console.log(member, event);
});
- Añada el
channel.legscampo en los actos para socios ofrecidos por CS
conversation.on(<member_event>, (member, event) {
console.log(event);
// member_id: <member_id>,
// conversation_id: <conversation_id>,
// ...
// channel: {
// to: {
// type: app
// },
// type: app,
// leg_ids: [<leg_id>]
// legs : [{ leg_id: <leg_id>, status: <leg_status>}],
// leg_settings: {},
// },
// state: <state>,
// leg_ids: []
});
Versión 5.1.0 - 29 de mayo de 2019
Nuevo
- Enviar evento DTMF a una conversación
* Send DTMF in a conversation
*
* @param {string} digits - the DTMF digit(s) to send
* @returns {Promise<Event>}
conversation.media.sendDTMF('digits')
- Emitir nuevo evento
audio:dtmf
conversation.on("audio:dtmf",(from, event)=>{
event.digit // the dtmf digit(s) received
event.from //id of the user who sent the dtmf
event.timestamp //timestamp of the event
event.cid // conversation id the event was sent to
event.body // additional context about the dtmf
});
- Establecer restricciones de audio personalizadas para las llamadas IP al activar el audio.
conversation.media.enable({
'audioConstraints': audioConstraints
})
* Replaces the stream's audio tracks currently being used as the sender's sources with a new one with new audio constraints
* @param {object} constraints - audio constraints
* @returns {Promise<MediaStream>} - Returns the new stream with the updated audio constraints.
* @example
* conversation.media.updateAudioConstraints({'autoGainControl': true})
**/
- Actualización de las restricciones de audio para las pistas de audio existentes
conversation.media.updateAudioConstraints(audioConstraints)
})
Arregla
- Eliminar 'this' pasado al manejador de eventos del trabajador de caché
Cambios internos de última hora
- Cambia el parámetro de audio multimedia de
media.audioamedia.audio_settingseninviteWithAudiofunción
Versión 5.0.3 - 23 de mayo de 2019
Cambios
- Cambiar el comportamiento por defecto de
autoPlayAudioenmedia.enable()de falso a verdadero - Pasar un
autoPlayAudioacall.createCall()ycall.answer()funciones (por defecto es true)
Versión 5.0.2 - 30 de mayo de 2019
Nuevo
- Borre los archivos de imagen antes de enviar el
image:deletesolicitar - Adjuntar de flujo de audio ahora se puede elegir si va a ser automáticamente encendido o apagado a través de
media.enable()
media.enable({
autoPlayAudio: true | false
})
Cambios (internos)
- Combinar las solicitudes GET, POST y DELETE de la red en una función genérica
Versión 5.0.1 - 30 de abril de 2019
Arregla
- Limpiar los medios del usuario antes de salir de una conversación en curso
Cambios de última hora
- Cambia
application.conversationstipo deObjectaMap
Versión 4.1.0 - 26 de abril de 2019
Arregla
- Corregido el error por el que el flujo de audio resuelto en media.enable() provocaba eco y no era el flujo remoto
- Resolver el flujo remoto
pc.ontrack()y no ellocalStreamde getUserMedia
Cambios
- Cambie el nombre de
localStreamastreamenmedia.rtcObjectsobjeto.
Versión 4.0.2 - 17 de abril de 2019
Cambios
- Eliminado
media.rtcNewPromises
Nuevo
- Actualización de dependencias de librerías internas
- Se ha añadido compatibilidad con la herramienta de supervisión y notificación de errores Bugsnag.
* @class ConversationClient
*
* @param {object} param.log_reporter configure log reports for bugsnag tool
* @param {Boolean} param.log_reporter.enabled=false
* @param {string} param.log_reporter.bugsnag_key your bugsnag api key / defaults to Vonage api key
- Se ha actualizado la configuración de vscode para añadir una línea vacía (si no hay ninguna) al final de cada archivo al guardarlo.
- Desactivar los candidatos de hielo goteo en la conexión de hielo
- Esperar a que la mayoría de los candidatos se reúnan tanto en el lado local como en el remoto.
- Añadida nueva función privada
editSDPOrder(offer, answer)enrtc_helper.jsreordenar la respuesta SDP cuando sea necesario - Para el estado de fallo de conexión rtc
- Desactivar pierna
- emitir nuevo evento
media:connection:fail
member.on("media:connection:fail",(connection_details)=>{
connection_details.rtc_id // my member's call id / leg id
connection_details.remote_member_id // the id of the Member the stream belongs to
connection_details.connection_event: // the connection fail event
connection_details.type // the type of the connection (video or screenshare)
connection_details.streamIndex // the streamIndex of the specific stream
});
* @event Member#media:connection:fail
*
* @property {number} payload.rtc_id the rtc_id / leg_id
* @property {string} payload.remote_member_id the id of the Member the stream belongs to
* @property {event} payload.connection_event the connection fail event
- Añadir nuevo archivo LICENCE
Cambios de última hora (internos)
- Eliminación de la lógica de goteo de hielo con
onicecandidatecontrolador de eventos - Cambiar el formato de
member:mediaal nuevo evento ofrecido por CS
type: 'member:media',
from: member.member_id,
conversation_id: member.conversation_id,
body: {
media: member.media,
channel: member.channel
}
- Cambiar el formato de
member:invitedevento al nuevo ofrecido por CS
type: 'member:invited',
body: {
media: {
audio_settings: {
enabled: false,
earmuffed: false,
muted: false
}
}
}
Versión 4.0.1 - 4 de marzo de 2019
Nuevo
Seleccione el nivel de sincronización para el proceso de inicio de sesión
fullActivar la sincronización completa para incluir conversaciones y eventosliteactivar sincronización parcial, sólo objetos de conversación (vacíos de eventos)noneNo sincronices nada.
si el módulo Caché está activado, la obtención manual de una conversación la almacenará en la memoria interna.
uso:
new ConverationClient({'sync':'full'});
Arregla
rtcstats:reportestaba duplicando instancias en cada llamada- eliminar
screensharerestricción https
Cambios de última hora (internos)
- Depreciación de
application.activeStreamahora forma parte deapplication.activeStreams - Se ha eliminado la restricción que permitía llamar a
media.enable()mientras un flujo está activo
Versión 4.0.0 - 1 de febrero de 2019
Cambios de última hora
- renombrar SDK
stitchaclient - a la escucha de
media:stream:*ahora dastreamIndexen lugar deindexpor coherencia con los rtcObjects internos
* @event Member#media:stream:on
*
* @property {number} payload.streamIndex the index number of this stream
* @property {number} [payload.rtc_id] the rtc_id / leg_id
* @property {string} [payload.remote_member_id] the id of the Member the stream belongs to
* @property {string} [payload.name] the stream's display name
* @property {MediaStream} payload.stream the stream that is activated
* @property {boolean} [payload.video_mute] if the video is hidden
* @property {boolean} [payload.audio_mute] if the audio is muted
Nuevo
- Ahora se puede especificar el ID de origen de la pantalla compartida al invocar
media.enable()