Data Streams - WhatsApp

WhatsApp - Inbound Message

{
  "attachments": "[]",
  "channel": "WhatsApp",
  "dataIntegration": {
      "context": {
		"serviceId": "43553",
		"serviceName": "Appointment Booking",
		"flowId": "1234",
		"flowName": "Doctor Appointment ",
		"messagingAPI": "False",
		"Key": "Value", // added in the send or receive or start nodes
		"Key2": "Value2" added in the send or receive or start nodes
		},
    "appContext": {
      "key1": "Value2",
      "tenant_identifier": "dummy_tenant"
    }
  },
  "message": "dummy_data",
  "userId": "",
  "tid": "dummy_data",
  "waid": "dummy_data",
  "datetime": "2022-01-11T15:52:12.980Z",
  "system": "",
  "appId": "dummy_data",
  "location": "",
  "event": "MO",
  "contacts": "[]",
  "ts": "2022-01-11T15:52:12.980Z",
  "username": "dummy_data"
}
{
  "attachments": "[{\"mime_type\":\"image/jpeg",
  "caption": "Attachment text",
  "url": "https://stgrtmedia.s3.amazonaws.com/dummy.jpg\"}]",
  "channel": "WhatsApp",
  "dataIntegration": {
      "context": {
		"serviceId": "43553",
		"serviceName": "Appointment Booking",
		"flowId": "1234",
		"flowName": "Doctor Appointment ",
		"messagingAPI": "False",
		"Key": "Value", // added in the send or receive or start nodes
		"Key2": "Value2" added in the send or receive or start nodes
		},
    "appContext": {
      "key1": "Value2",
      "tenant_identifier": "dummy_tenant"
    }
  },
  "message": "dummy_data",
  "userId": "dummy_data",
  "tid": "dummy_data",
  "waid": "dummy_data",
  "datetime": "2022-01-11T16:39:04.955Z",
  "system": "",
  "appId": "dummy_data",
  "location": "",
  "event": "MO",
  "contacts": "[]",
  "ts": "2022-01-11T16:39:04.955Z",
  "username": "dummy_data"
}
{
  "buttonText": "",
  "channel": "WhatsApp",
  "dataIntegration": {
      "context": {
		"serviceId": "43553",
		"serviceName": "Appointment Booking",
		"flowId": "1234",
		"flowName": "Doctor Appointment ",
		"messagingAPI": "False",
		"Key": "Value", // added in the send or receive or start nodes
		"Key2": "Value2" added in the send or receive or start nodes
		},
    "appContext": {
      "key1": "Value2",
      "tenant_identifier": "dummy_tenant"
    }
  },
  "userId": "",
  "tid": "aacf8250-f6c4-4bf0-e7da-62e13b6edf33_0",
  "waid": "dummy_data",
  "datetime": "2022-01-11T15:56:38.432Z",
  "appId": "dummy_data",
  "event": "postback",
  "errors": "",
  "ts": "2022-01-11T15:56:38.432Z",
  "buttonPayload": "",
  "username": "dummy_data"
}
{
  "attachments": "[]",
  "channel": "WhatsApp",
  "dataIntegration": {
      "context": {
		"serviceId": "43553",
		"serviceName": "Appointment Booking",
		"flowId": "1234",
		"flowName": "Doctor Appointment ",
		"messagingAPI": "False",
		"Key": "Value", // added in the send or receive or start nodes
		"Key2": "Value2" added in the send or receive or start nodes
		},
    "appContext": {
      "key1": "Value2",
      "tenant_identifier": "dummy_tenant"
    }
  },
  "message": "dummy_data",
  "userId": "dummy_data",
  "tid": "dummy_data",
  "waid": "dummy_data",
  "datetime": "2022-01-12T08:56:43.889Z",
  "system": "",
  "appId": "dummy_data",
  "location": "",
  "event": "MO",
  "contacts": "[]",
  "ts": "2022-01-12T08:56:43.889Z",
  "username": "dummy_data"
}

WhatsApp - Inbound Message Descriptions

Field NameDescriptions
attachments
channel
dataIntegration
context
serviceId
serviceName
flowId
flowName
messagingAPI
Key
Key2
appContext
key1
tenant_identifier
message
userId
tid
waid
datetime
system
appId
location
event
contacts
ts
username

WhatsApp - Delivery Receipt

{
  "deliveryInfoNotification": {
    "deliveryInfo": {
      "timeStamp": "2022-01-12T14:38:12.539+05:30",
      "Description": "Delivered",
      "code": "7500",
      "deliveryChannel": "whatsapp",
      "additionalInfo": "",
      "destination": "dummy_data",
      "destinationType": "waid",
      "deliveryStatus": "Delivered"
    },
    "subtid": "dummy_data",
    "transid": "dummy_data",
    "callbackData": "",
    "correlationid": ""
  },
    "dataIntegration": {
      "context": {
        "Key": "Value",
        "Key2": "Value2"
      },
      "appContext": {
        "adminKey": "",
        "tenant_identifier": "dummyTenant"
      }
    }
  }
}
{
  "deliveryInfoNotification": {
    "deliveryInfo": {
      "timeStamp": "2022-01-12T14:38:12.539+05:30",
      "Description": "Read",
      "code": "7502",
      "deliveryChannel": "whatsapp",
      "additionalInfo": "",
      "destination": "dummy_data",
      "destinationType": "waid",
      "deliveryStatus": "Read"
    },
    "subtid": "afe1daab-1d7b-4c4d-80a3-0986ba042a27",
    "transid": "ad1efed4-f199-4ab2-abb0-2b187846c3c8",
    "callbackData": "",
    "correlationid": ""
  },
  "dataIntegration": {
    "dataIntegration": {
      "context": {
        "Key": "Value",
        "Key2": "Value2"
      },
      "appContext": {
        "adminKey": "",
        "tenant_identifier": "dummyTenant"
      }
    }
  }
}

  "deliveryInfoNotification": {
    "deliveryInfo": {
      "timeStamp": "2022-01-12T14:38:01.712+05:30",
      "Description": "Submitted",
      "code": "7501",
      "deliveryChannel": "whatsapp",
      "additionalInfo": "",
      "destination": "dummy_data",
      "destinationType": "waid",
      "deliveryStatus": "Submitted"
    },
    "subtid": "dummy_data",
    "transid": "dummy_data",
    "callbackData": "",
    "correlationid": ""
  },
  "dataIntegration": {
    "dataIntegration": {
      "context": {
        "Key": "Value",
        "Key2": "Value2"
      },
      "appContext": {
        "adminKey": "",
        "tenant_identifier": "dummyTenant"
      }
    }
  }
}
{
  "deliveryInfoNotification": {
    "deliveryInfo": {
      "timeStamp": "2022-01-12T17:35:02.357+05:30",
      "Description": "Failed to upload media",
      "code": "7738",
      "deliveryChannel": "whatsapp",
      "additionalInfo": "Failed to upload media",
      "destination": "dummy_data",
      "destinationType": "waid",
      "deliveryStatus": "Failed"
    },
    "subtid": "dummy_data",
    "transid": "dummy_data",
    "callbackData": "",
    "correlationid": ""
  },
  "dataIntegration": {
    "dataIntegration": {
      "context": {
        "Key": "Value",
        "Key2": "Value2"
      },
      "appContext": {
        "adminKey": "",
        "tenant_identifier": "dummyTenant"
      }
    }
  }
}

WhatsApp - Delivery Receipt Descriptions

Field NameDescription
deliveryInfoNotification
deliveryInfo
timeStamp
Description
code
deliveryChannel
additionalInfo
destination
destinationType
deliveryStatus
subtid
transid
callbackData
correlationid
dataIntegration
context
Key
Key2
appContext
adminKey
tenant_identifier

WhatsApp - Outbound Message

{
  "extraparams": {
    "authkey": "XXX",
    "connect_message_id": "XXX",
    "x_req_origin_time": "2022-02-04 17:19:23.378",
    "channel": 8,
    "destination": "919949452221",
    "main_tid": "XXX",
    "tid": "XX",
    "sid": "17218_10926",
    "report_info": {
      "request_source": 3,
      "source_tid": "XXX"
    },
    "routerName": "",
    "outbound_notification_events": "",
    "routerId": "",
    "noOfMessages": 1,
    "nodetid": "94be7d8c-3165-4131-88ab-1c39789ff46d",
    "destinationType": "waid",
    "sourceOriginTime": "2022-02-04T17:19:19.449Z",
    "messagePriority": 1,
    "sfeSessionInfo": "transid::983d1672-7e34-867e-04af-c673450330da_0_12907_38589",
    "sourceTid": "983d1672-7e34-867e-04af-c673450330da_0",
    "sfe_dr": 2,
    "mt_trans_date": "2022-02-04 17:19:23.392",
    "evtid": "9",
    "servicekey": "56ac7865-e69c-11ea-9cd6-12f2d349e6e3",
    "apiDestination": "919949452221",
    "flowid": "10926",
    "txn_log_level": 2
  },
  "channel": "wa",
  "submittedOn": 1643995163394,
  "validateDestination": false,
  "type": "text",
  "priority": 5,
  "tid": "94be7d8c-3165-4131-88ab-1c39789ff46d",
  "recipient_type": "individual",
  "waid": "919949452221",
  "preview_url": false,
  "appId": "a_164368290210260900",
  "x_msg_seq": 0,
  "text": {
    "body": "Gateway Submit",
  },
"dataIntegration": {
      "context": {
		"serviceId": "43553",
		"serviceName": "Appointment Booking",
		"flowId": "1234",
		"flowName": "Doctor Appointment ",
		"messagingAPI": "False",
		"Key": "Value", // added in the send or receive or start nodes
		"Key2": "Value2" added in the send or receive or start nodes
		},
    "appContext": {
      "tenant_identifier": "CloudqaR6",
      "Topic": "CloudQAR6S2Topic",
      "URL": "dummy data",
      "webhookurl": ""
    }
  }
}
{
  "extraparams": {
    "authkey": "12a3cd31-afab-4349-9f87-590342f53444",
    "connect_message_id": "07cd85af-ab1e-453f-8c10-59a57db9d86e",
    "x_req_origin_time": "2022-02-04 17:19:25.375",
    "channel": 8,
    "destination": "919949452221",
    "main_tid": "d7bef734-744c-4e2f-ad95-5cb1de968a04",
    "tid": "d7bef734-744c-4e2f-ad95-5cb1de968a04",
    "sid": "17218_10926",
    "report_info": {
      "request_source": 3,
      "source_tid": "983d1672-7e34-867e-04af-c673450330da_0"
    },
    "routerName": "",
    "outbound_notification_events": "",
    "routerId": "",
    "noOfMessages": 1,
    "_nodetid": "d7bef734-744c-4e2f-ad95-5cb1de968a04",
    "destinationType": "waid",
    "sourceOriginTime": "2022-02-04T17:19:19.449Z",
    "messagePriority": 1,
    "sfeSessionInfo": "transid::983d1672-7e34-867e-04af-c673450330da_0_12907_38589",
    "sourceTid": "983d1672-7e34-867e-04af-c673450330da_0",
    "sfe_dr": 1,
    "mt_trans_date": "2022-02-04 17:19:25.380",
    "evtid": "9",
    "servicekey": "56ac7865-e69c-11ea-9cd6-12f2d349e6e3",
    "apiDestination": "919949452221",
    "flowid": "10926",
    "txn_log_level": 2
  },
  "channel": "wa",
  "submittedOn": 1643995165383,
  "validateDestination": false,
  "type": "audio",
  "priority": 5,
  "tid": "d7bef734-744c-4e2f-ad95-5cb1de968a04",
  "recipient_type": "individual",
  "waid": "919949452221",
  "preview_url": false,
  "appId": "a_164368290210260900",
  "x_msg_seq": 0,
  "audio": {
    "mimeType": "audio/aac",
    "url": "http://techslides.com/demos/samples/sample.aac",
  },
"dataIntegration": {
      "context": {
		"serviceId": "43553",
		"serviceName": "Appointment Booking",
		"flowId": "1234",
		"flowName": "Doctor Appointment ",
		"messagingAPI": "False",
		"Key": "Value", // added in the send or receive or start nodes
		"Key2": "Value2" added in the send or receive or start nodes
		},
    "appContext": {
      "tenant_identifier": "CloudqaR6",
      "Topic": "CloudQAR6S2Topic",
      "URL": "b-3.dev-campaign-integrat.tefj3j.c20.kafka.us-east-1.amazonaws.com:9098,b-1.dev-campaign-integrat.tefj3j.c20.kafka.us-east-1.amazonaws.com:9098,b-2.dev-campaign-integrat.tefj3j.c20.kafka.us-east-1.amazonaws.com:9098",
      "webhookurl": "https://integrations.imiconnect.site/v1/integration/"
    }
  }
}
{
  "extraparams": {
    "authkey": "12a3cd31-afab-4349-9f87-590342f53444",
    "connect_message_id": "b75da4e9-a3a3-4640-be68-534fdfa36977",
    "x_req_origin_time": "2022-02-04 17:19:25.403",
    "channel": 8,
    "destination": "919949452221",
    "main_tid": "8c4d1967-25f9-4dd1-a66d-2b6c61119fb1",
    "tid": "8c4d1967-25f9-4dd1-a66d-2b6c61119fb1",
    "sid": "17218_10926",
    "report_info": {
      "request_source": 3,
      "source_tid": "983d1672-7e34-867e-04af-c673450330da_0"
    },
    "routerName": "",
    "outbound_notification_events": "",
    "routerId": "",
    "noOfMessages": 1,
    "_nodetid": "8c4d1967-25f9-4dd1-a66d-2b6c61119fb1",
    "destinationType": "waid",
    "sourceOriginTime": "2022-02-04T17:19:19.449Z",
    "messagePriority": 1,
    "sfeSessionInfo": "transid::983d1672-7e34-867e-04af-c673450330da_0_12907_38589",
    "sourceTid": "983d1672-7e34-867e-04af-c673450330da_0",
    "sfe_dr": 1,
    "mt_trans_date": "2022-02-04 17:19:25.405",
    "evtid": "9",
    "servicekey": "56ac7865-e69c-11ea-9cd6-12f2d349e6e3",
    "apiDestination": "919949452221",
    "flowid": "10926",
    "txn_log_level": 2
  },
  "channel": "wa",
  "submittedOn": 1643995165853,
  "validateDestination": false,
  "video": {
    "caption": "Test",
    "mimeType": "video/mp4",
    "url": "http://techslides.com/demos/sample-videos/small.mp4"
  },
  "type": "video",
  "priority": 5,
  "tid": "8c4d1967-25f9-4dd1-a66d-2b6c61119fb1",
  "recipient_type": "individual",
  "waid": "919949452221",
  "preview_url": false,
  "appId": "a_164368290210260900",
  "x_msg_seq": 0,
"dataIntegration": {
      "context": {
		"serviceId": "43553",
		"serviceName": "Appointment Booking",
		"flowId": "1234",
		"flowName": "Doctor Appointment ",
		"messagingAPI": "False",
		"Key": "Value", // added in the send or receive or start nodes
		"Key2": "Value2" added in the send or receive or start nodes
		},
    "appContext": {
      "tenant_identifier": "CloudqaR6",
      "Topic": "CloudQAR6S2Topic",
      "URL": "b-3.dev-campaign-integrat.tefj3j.c20.kafka.us-east-1.amazonaws.com:9098,b-1.dev-campaign-integrat.tefj3j.c20.kafka.us-east-1.amazonaws.com:9098,b-2.dev-campaign-integrat.tefj3j.c20.kafka.us-east-1.amazonaws.com:9098",
      "webhookurl": "https://integrations.imiconnect.site/v1/integration/"
    }
  }
}
{
  "template": {
    "components": [
      {
        "type": "body",
        "parameters": [
          {
            "text": "vr raooo",
            "type": "text"
          }
        ]
      },
      {
        "sub_type": "quick_reply",
        "index": "0",
        "type": "button",
        "parameters": [
          {
            "payload": "yes",
            "type": "payload"
          }
        ]
      },
      {
        "sub_type": "quick_reply",
        "index": "1",
        "type": "button",
        "parameters": [
          {
            "payload": "no",
            "type": "payload"
          }
        ]
      },
      {
        "sub_type": "quick_reply",
        "index": "2",
        "type": "button",
        "parameters": [
          {
            "payload": "thanks",
            "type": "payload"
          }
        ]
      }
    ],
    "name": "feedback_updateess",
    "language": {
      "code": "en",
      "policy": "deterministic"
    }
  },
  "extraparams": {
    "authkey": "12a3cd31-afab-4349-9f87-590342f53444",
    "connect_message_id": "853a27b6-6807-4145-a789-bc89dffa8a50",
    "x_req_origin_time": "2022-02-04 18:01:37.233",
    "channel": 8,
    "destination": "919949452221",
    "templateId": "429603284864310",
    "main_tid": "eff7c05c-52d8-4d5c-aa6d-910d0bc67501",
    "tid": "eff7c05c-52d8-4d5c-aa6d-910d0bc67501",
    "sid": "17218_11043",
    "report_info": {
      "request_source": 3,
      "source_tid": "c9e555ee-ad5b-29ba-d9d6-abc5c26ee90d_0"
    },
    "routerName": "",
    "outbound_notification_events": "",
    "routerId": "",
    "noOfMessages": 1,
    "_nodetid": "eff7c05c-52d8-4d5c-aa6d-910d0bc67501",
    "destinationType": "waid",
    "sourceOriginTime": "2022-02-04T18:01:33.576Z",
    "messagePriority": 1,
    "sfeSessionInfo": "transid::c9e555ee-ad5b-29ba-d9d6-abc5c26ee90d_0_13009_38590",
    "sourceTid": "c9e555ee-ad5b-29ba-d9d6-abc5c26ee90d_0",
    "sfe_dr": 1,
    "mt_trans_date": "2022-02-04 18:01:37.321",
    "evtid": "9",
    "servicekey": "56ac7865-e69c-11ea-9cd6-12f2d349e6e3",
    "apiDestination": "919949452221",
    "flowid": "11043",
    "txn_log_level": 2
  },
  "channel": "wa",
  "submittedOn": 1643997697412,
  "validateDestination": false,
  "type": "template",
  "priority": 5,
  "tid": "eff7c05c-52d8-4d5c-aa6d-910d0bc67501",
  "recipient_type": "individual",
  "waid": "919949452221",
  "preview_url": false,
  "appId": "a_164368290210260900",
  "x_msg_seq": 0,
"dataIntegration": {
      "context": {
		"serviceId": "43553",
		"serviceName": "Appointment Booking",
		"flowId": "1234",
		"flowName": "Doctor Appointment ",
		"messagingAPI": "False",
		"Key": "Value", // added in the send or receive or start nodes
		"Key2": "Value2" added in the send or receive or start nodes
		},
    "appContext": {
      "tenant_identifier": "CloudqaR6",
      "Topic": "CloudQAR6S2Topic",
      "URL": "dummy data",
      "webhookurl": ""
    }
  }
}
{
  "extraparams": {
    "authkey": "12a3cd31-afab-4349-9f87-590342f53444",
    "connect_message_id": "8719203f-32d8-4da2-b581-a06fa5e715f3",
    "x_req_origin_time": "2022-02-04 18:17:32.165",
    "channel": 8,
    "destination": "919949452221",
    "main_tid": "1bb54f81-daa1-4441-b8dd-12139623e40b",
    "tid": "1bb54f81-daa1-4441-b8dd-12139623e40b",
    "sid": "17218_10926",
    "report_info": {
      "request_source": 3,
      "source_tid": "f58e4a37-7d72-695b-8c45-f0bff9c7a265_0"
    },
    "routerName": "",
    "outbound_notification_events": "",
    "routerId": "",
    "noOfMessages": 1,
    "_nodetid": "1bb54f81-daa1-4441-b8dd-12139623e40b",
    "destinationType": "waid",
    "sourceOriginTime": "2022-02-04T18:17:27.291Z",
    "messagePriority": 1,
    "sfeSessionInfo": "transid::f58e4a37-7d72-695b-8c45-f0bff9c7a265_0_12907_38591",
    "sourceTid": "f58e4a37-7d72-695b-8c45-f0bff9c7a265_0",
    "sfe_dr": 1,
    "mt_trans_date": "2022-02-04 18:17:32.166",
    "evtid": "9",
    "servicekey": "56ac7865-e69c-11ea-9cd6-12f2d349e6e3",
    "apiDestination": "919949452221",
    "flowid": "10926",
    "txn_log_level": 2
  },
  "channel": "wa",
  "submittedOn": 1643998653632,
  "validateDestination": false,
  "type": "location",
  "priority": 5,
  "tid": "1bb54f81-daa1-4441-b8dd-12139623e40b",
  "recipient_type": "individual",
  "waid": "919949452221",
  "preview_url": false,
  "appId": "a_164368290210260900",
  "location": {
    "address": "Jubiliee Hills",
    "latitude": "31.78789997",
    "name": "Pedhama Temple",
    "longitude": "45.88988967"
  },
  "x_msg_seq": 0,
"dataIntegration": {
      "context": {
		"serviceId": "43553",
		"serviceName": "Appointment Booking",
		"flowId": "1234",
		"flowName": "Doctor Appointment ",
		"messagingAPI": "False",
		"Key": "Value", // added in the send or receive or start nodes
		"Key2": "Value2" added in the send or receive or start nodes
		},
    "appContext": {
      "tenant_identifier": "CloudqaR6",
      "Topic": "CloudQAR6S2Topic",
      "URL": "dummy data",
      "webhookurl": ""
    }
  }
}
{
  "extraparams": {
    "authkey": "12a3cd31-afab-4349-9f87-590342f53444",
    "connect_message_id": "a5563f09-0bbd-46f8-9cef-7e1799809784",
    "x_req_origin_time": "2022-02-04 18:17:32.167",
    "channel": 8,
    "destination": "919949452221",
    "main_tid": "31dac824-c346-4544-b48d-9cc488992da1",
    "tid": "31dac824-c346-4544-b48d-9cc488992da1",
    "sid": "17218_10926",
    "report_info": {
      "request_source": 3,
      "source_tid": "f58e4a37-7d72-695b-8c45-f0bff9c7a265_0"
    },
    "routerName": "",
    "outbound_notification_events": "",
    "routerId": "",
    "noOfMessages": 1,
    "_nodetid": "31dac824-c346-4544-b48d-9cc488992da1",
    "destinationType": "waid",
    "sourceOriginTime": "2022-02-04T18:17:27.291Z",
    "messagePriority": 1,
    "sfeSessionInfo": "transid::f58e4a37-7d72-695b-8c45-f0bff9c7a265_0_12907_38591",
    "sourceTid": "f58e4a37-7d72-695b-8c45-f0bff9c7a265_0",
    "sfe_dr": 1,
    "mt_trans_date": "2022-02-04 18:17:32.169",
    "evtid": "9",
    "servicekey": "56ac7865-e69c-11ea-9cd6-12f2d349e6e3",
    "apiDestination": "919949452221",
    "flowid": "10926",
    "txn_log_level": 2
  },
  "channel": "wa",
  "submittedOn": 1643998653618,
  "validateDestination": false,
  "type": "contacts",
  "priority": 5,
  "tid": "31dac824-c346-4544-b48d-9cc488992da1",
  "recipient_type": "individual",
  "waid": "919949452221",
  "preview_url": false,
  "appId": "a_164368290210260900",
  "x_msg_seq": 0,
  "contacts": [
    {
      "name": {
        "prefix": "sri",
        "last_name": "K",
        "first_name": "srilakshmi",
        "formatted_name": "Srilakshmi"
      },
      "phones": [
        {
          "phone": "+91 9949452221",
          "type": "home",
"dataIntegration": {
      "context": {
		"serviceId": "43553",
		"serviceName": "Appointment Booking",
		"flowId": "1234",
		"flowName": "Doctor Appointment ",
		"messagingAPI": "False",
		"Key": "Value", // added in the send or receive or start nodes
		"Key2": "Value2" added in the send or receive or start nodes
		},
    "appContext": {
      "tenant_identifier": "CloudqaR6",
      "Topic": "CloudQAR6S2Topic",
      "URL": "dummy data",
      "webhookurl": ""
    }
  }
}
]
    }
  ]
}

WhatsApp - Outbound Message Descriptions

Field NameDescription
extraparams
authkey
connect_message_id
x_req_origin_time
channel
destination
main_tid
tid
sid
report_info
request_source
source_tid
routerName
outbound_notification_events
routerId
noOfMessages
nodetid
destinationType
sourceOriginTime
messagePriority
sfeSessionInfo
sourceTid
transid
sfe_dr
mt_trans_date
evtid
servicekey
apiDestination
flowid
txn_log_level
channel
submittedOn
validateDestination
type
priority
tid
recipient_type
waid
preview_url
appId
x_msg_seq
text
body
dataIntegration
context
serviceId
serviceName
flowId
flowName
messagingAPI
Key
Key2
appContext
tenant_identifier
Topic
URL
webhookurl