信件接收协议的克里多扩展模块

概览
这个 信件收据 扩展模块 克里多语 使代理人能够管理 收款协议,允许追踪和确认代理商之间的电文状态(例如,接收和查看).
安装
npm install @2060.io/credo-ts-didcomm-receipts
使用量
将模块添加到您的代理 要使用接收模块,请添加到您的代理模块配置中:
import { ReceiptsModule } from '@2060.io/credo-ts-didcomm-receipts'
const agent = new Agent({
modules: {
// ...other modules
receipts: new ReceiptsModule(),
},
})
发送信件收据
发送电文收据(如收到或查看电文时):
await agent.modules.receipts.send({
connectionId: connection.id,
receipts: [
{ messageId: 'message-id', state: MessageState.Received },
{ messageId: 'message-id', state: MessageState.Viewed },
],
})
请求信件收据
要求提供特定电文或电文类型的收据:
await agent.modules.receipts.request({
connectionId: connection.id,
requestedReceipts: [
{
messageType: 'https://didcomm.org/my-protocol/1.0/my-message',
states: [MessageState.Received, MessageState.Viewed],
},
],
})
处理接收事件
订阅收件事件以响应收件:
import { ReceiptsEventTypes, MessageReceiptsReceivedEvent } from '@2060.io/credo-ts-didcomm-receipts'
agent.events.on(ReceiptsEventTypes.MessageReceiptsReceived, async ({ payload }: MessageReceiptsReceivedEvent) => {
const connectionId = payload.connectionId
const receipts = payload.receipts
receipts.forEach((receipt) => {
const { messageId, timestamp, state } = receipt
sendMessageStateUpdatedEvent({ agent, messageId, connectionId, state, timestamp, config })
})
})
特征
- 发送信件收据:将消息状态通知其他代理(收到,查看等).
- 索取收据:询问特定电文或电文类型的收据.
- 事件订阅:聆听接收事件以更新UI或触发工作流程.
- 协议整合:与Credo代理和DIDComm协议的无缝集成.
API 参考
见 源代码 关于现有类别和方法的详细信息:
DidCommReceiptsApi数字 : 主API用于发送和请求收据.DidCommReceiptsService数字 : 内部服务 接收逻辑.DidCommReceiptsModule数字 : Credo 代理模块集成 .
许可证
Apache 2.0 (英语)
更多信息,请参见 docomm.org (英语)。 。 。 .