[SalesForce] How to get triggered send delivery/tracking information for one user/email via the REST API

I am trying to get triggered send delivery tracking/status information per user via the REST API. I do not have the sendid as this is from a different system at a later date.

using /messaging/v1/messageDefinitionSends/{keyid}/deliveryRecords I can get a list of all deliveries, but that list will grow to tens of thousands+, so I can't use it.

What I am basically looking for is something like:
/messaging/v1/messageDefinitionSends/{keyid}/deliveryRecords?email=john@doe.com
or better yet:
/messaging/v1/messageDefinitionSends/deliveryRecords?email=john@doe.com (and display by key)
or something similar to the fuel sdk https://code.exacttarget.com/apis-sdks/fuel-sdks/tracking/sent-tracking.html

but via the REST API

Best Answer

It is not fully documented on the website, but you can send a HTTPGET request to https://www.exacttargetapis.com/messaging/v1/rest to list all supported methods.

I think below is what you can try, but I am not sure if "{key}" means subscriberkey (e.g. email address in most cases) or something else

"getMessageSendsByKey": {
        "path": "messageSends/key:{key}",
        "httpMethod": "get",
        "description": "Returns single message send by key",
        "parameters": {}
    },

/rest Full Response:

{
"kind": "discovery#restDescription",
"id": "messaging:v1",
"name": "messaging",
"version": "v1",
"title": "Messaging Service",
"description": "",
"protocol": "rest",
"basePath": "messagingservice",
"methods": {
    "discovery": {
        "path": "rest",
        "httpMethod": "get",
        "description": "Returns discovery document",
        "parameters": {}
    },
    "postEmailSendsSend": {
        "path": "emailSends/{emailId}/send",
        "httpMethod": "post",
        "description": "Sends a smtp message send by id",
        "parameters": {}
    },
    "getMessageSendsCollection": {
        "path": "messageSends",
        "httpMethod": "get",
        "description": "Returns all message sends for authenticated account",
        "parameters": {}
    },
    "getMessageSends": {
        "path": "messageSends/{id}",
        "httpMethod": "get",
        "description": "Returns single message send by id",
        "parameters": {}
    },
    "getMessageSendsByKey": {
        "path": "messageSends/key:{key}",
        "httpMethod": "get",
        "description": "Returns single message send by key",
        "parameters": {}
    },
    "postSendMessageSend": {
        "path": "messageSends/{id}/send",
        "httpMethod": "post",
        "description": "Sends a smtp message send by id",
        "parameters": {}
    },
    "postSendMessageSendByKey": {
        "path": "messageSends/key:{key}/send",
        "httpMethod": "post",
        "description": "Sends a smtp message send by key",
        "parameters": {}
    },
    "postSendMessageSendBatch": {
        "path": "messageSends/{id}/sendBatch",
        "httpMethod": "post",
        "description": "Sends a smtp message send batch by id",
        "parameters": {}
    },
    "postSendMessageSendBatchByKey": {
        "path": "messageSends/key:{key}/sendBatch",
        "httpMethod": "post",
        "description": "Sends a smtp message send batch by key",
        "parameters": {}
    },
    "postSendMessageSendBatchMixed": {
        "path": "messageSends/sendBatch",
        "httpMethod": "post",
        "description": "Sends a smtp message send mixed batch",
        "parameters": {}
    },
    "getMessageSendsDeliveryRecordsCollection": {
        "path": "messageSends/{id}/deliveryRecords",
        "httpMethod": "get",
        "description": "Returns a collection of message send delivery records by id",
        "parameters": {}
    },
    "getMessageSendsDeliveryRecordsById": {
        "path": "messageSends/{id}/deliveryRecords/{rid}",
        "httpMethod": "get",
        "description": "Returns single message send delivery record by id and request id",
        "parameters": {}
    },
    "getMessageSendsDeliveryRecordsFeed": {
        "path": "messageSends/{id}/feeds/deliveryRecords",
        "httpMethod": "get",
        "description": "Returns a feed of message send delivery records by id",
        "parameters": {}
    },
    "getMessageSendsSummary": {
        "path": "messageSends/{id}/summary",
        "httpMethod": "get",
        "description": "Returns a collection of summary records by id",
        "parameters": {}
    },
    "getMessageDefinitionSendsCollection": {
        "path": "messageDefinitionSends",
        "httpMethod": "get",
        "description": "Returns all definition message sends for authenticated account",
        "parameters": {}
    },
    "getMessageDefinitionSends": {
        "path": "messageDefinitionSends/{id}",
        "httpMethod": "get",
        "description": "Returns single definition message send by id",
        "parameters": {}
    },
    "getMessageDefinitionSendsByKey": {
        "path": "messageDefinitionSends/key:{key}",
        "httpMethod": "get",
        "description": "Returns single definition message send by key",
        "parameters": {}
    },
    "postSendMessageDefinitionSend": {
        "path": "messageDefinitionSends/{id}/send",
        "httpMethod": "post",
        "description": "Sends a definition message send",
        "parameters": {}
    },
    "postSendMessageDefinitionSendByKey": {
        "path": "messageDefinitionSends/key:{key}/send",
        "httpMethod": "post",
        "description": "Sends a definition message send by key",
        "parameters": {}
    },
    "postSendMessageDefinitionSendBatch": {
        "path": "messageDefinitionSends/{id}/sendBatch",
        "httpMethod": "post",
        "description": "Sends a definition message send batch by id",
        "parameters": {}
    },
    "postSendMessageDefinitionSendBatchByKey": {
        "path": "messageDefinitionSends/key:{key}/sendBatch",
        "httpMethod": "post",
        "description": "Sends a definition message send batch by key",
        "parameters": {}
    },
    "getMessageDefinitionSendsDeliveryRecordsCollection": {
        "path": "messageDefinitionSends/{id}/deliveryRecords",
        "httpMethod": "get",
        "description": "Returns a collection of definition message send delivery records by id",
        "parameters": {}
    },
    "getMessageDefinitionSendsDeliveryRecordsById": {
        "path": "messageDefinitionSends/{id}/deliveryRecords/{rid}",
        "httpMethod": "get",
        "description": "Returns a collection of definition message send delivery records by id and request id",
        "parameters": {}
    },
    "getMessageDefinitionSendsDeliveryRecordsFeed": {
        "path": "messageDefinitionSends/{id}/feeds/deliveryRecords",
        "httpMethod": "get",
        "description": "Returns a feed of definition message send delivery records by id",
        "parameters": {}
    },
    "getMessageDefinitionSendsSummary": {
        "path": "messageDefinitionSends/{id}/summary",
        "httpMethod": "get",
        "description": "Returns a collection of definition send summary records by id",
        "parameters": {}
    },
    "postReplyAddressMap": {
        "path": "rmm/ReplyAddressMap",
        "httpMethod": "post",
        "description": "Generates a mapped reply address for an email address",
        "parameters": {}
    },
    "getConversationMessages": {
        "path": "rmm/conversationMessages",
        "httpMethod": "get",
        "description": "Returns a collection of conversation messages",
        "parameters": {}
    },
    "postChangeReplyAddressMap": {
        "path": "rmm/ChangeReplyAddressMap",
        "httpMethod": "post",
        "description": "Change a mapped reply address and modify any ongoing conversations using the old address to continue with the new address.",
        "parameters": {}
    },
    "postOrionHttpJobCreate": {
        "path": "orionhttp/job/create",
        "httpMethod": "post",
        "description": "Create a new OrionHTTP job",
        "parameters": {}
    },
    "postOrionHttpJobChunk": {
        "path": "orionhttp/job/chunk",
        "httpMethod": "post",
        "description": "Queue a new OrionHTTP email batch chunk",
        "parameters": {}
    },
    "postOrionHttpJobCancel": {
        "path": "orionhttp/job/cancel",
        "httpMethod": "post",
        "description": "cancel OrionHTTP email batch chunk",
        "parameters": {}
    },
    "getOrionHttpSessionStatus": {
        "path": "orionhttp/job/status",
        "httpMethod": "post",
        "description": "Query the status of the processing of a BatchSend session's chunk components",
        "parameters": {}
    },
    "postConversationResend": {
        "path": "rmm/ConversationResend",
        "httpMethod": "post",
        "description": "Resend one or more RMM conversation emails.",
        "parameters": {}
    },
    "getSendLimitStatusByMemberID": {
        "path": "accounts/{memberID}/sendlimits/status",
        "httpMethod": "get",
        "description": "Get the send limit status of an account by memberID",
        "parameters": {}
    },
    "addMessagesToSendLimits": {
        "path": "accounts/{memberID}/sendlimits",
        "httpMethod": "post",
        "description": "Add messages to send limits",
        "parameters": {}
    },
    "deleteMessagesFromSendLimit": {
        "path": "accounts/{memberID}/sendlimits/{messageCreditID}",
        "httpMethod": "delete",
        "description": "Delete a cycle from Message Credit send limits",
        "parameters": {}
    },
    "updateMessageSendLimit": {
        "path": "accounts/{memberID}/sendlimits/{messageCreditID}",
        "httpMethod": "patch",
        "description": "Update a Message Credit send limit",
        "parameters": {}
    },
    "getRmm": {
        "path": "accounts/{memberId}/rmm",
        "httpMethod": "get",
        "description": "Retrieves RMM information by memberId",
        "parameters": {}
    },
    "postRmm": {
        "path": "accounts/{memberId}/rmm",
        "httpMethod": "post",
        "description": "Creates Sender Information by memberId",
        "parameters": {}
    },
    "patchRmm": {
        "path": "accounts/{memberId}/rmm",
        "httpMethod": "patch",
        "description": "Updates Sender Information by memberId",
        "parameters": {}
    },
    "deleteRmm": {
        "path": "accounts/{memberId}/rmm",
        "httpMethod": "delete",
        "description": "Deletes Sender Information by memberId",
        "parameters": {}
    },
    "postTriggeredSendByKey": {
        "path": "triggeredSends/key:{tsKey}/send",
        "httpMethod": "post",
        "description": "Send a triggered send by customer key",
        "parameters": {}
    },
    "postTriggeredSendByIdExplicit": {
        "path": "triggeredSends/id:{tsId}/send",
        "httpMethod": "post",
        "description": "Send a triggered send by id",
        "parameters": {}
    },
    "postTriggeredSendByIdImplicit": {
        "path": "triggeredSends/{tsId}/send",
        "httpMethod": "post",
        "description": "Send a triggered send by id",
        "parameters": {}
    },
    "postSimpleSendTransactionalSingleMessage": {
        "path": "messages/transactional",
        "httpMethod": "post",
        "description": "Send a single simple transactional message",
        "parameters": {}
    },
    "postSimpleSendTransactionalBatchMessage": {
        "path": "messages/transactional/batch",
        "httpMethod": "post",
        "description": "Send a batch of simple transactional messages",
        "parameters": {}
    },
    "getSendInstances": {
        "path": "sends/instance",
        "httpMethod": "get",
        "description": "Retrieves a collection of send instances",
        "parameters": {}
    },
    "postCompleteAbTestSend": {
        "path": "sends/instance/abtest/{abtestsendId}/complete",
        "httpMethod": "post",
        "description": "Completes the completion action of the ab test send.  Preparing it for final send.",
        "parameters": {}
    },
    "patchSendInstanceRecipients": {
        "path": "sends/instance/{sendId}/recipient/{recipientId}",
        "httpMethod": "patch",
        "description": "Updates the send recipients",
        "parameters": {}
    },
    "getSendInstanceRecipients": {
        "path": "sends/instance/{sendId}/recipient",
        "httpMethod": "get",
        "description": "Retrieves a collection of send instance recipients",
        "parameters": {}
    },
    "patchSendInstanceRecipientsBatch": {
        "path": "sends/instance/{sendId}/recipient",
        "httpMethod": "patch",
        "description": "Updates the send recipients in a batch",
        "parameters": {}
    },
    "getJobByID": {
        "path": "jobs/{id}",
        "httpMethod": "get",
        "description": "Gets a job",
        "parameters": {}
    },
    "getOpenStatsByJobId": {
        "path": "jobs/{id}/stats/opens",
        "httpMethod": "get",
        "description": "Retrieves a collection of open stats for a given job",
        "parameters": {}
    },
    "getClickStatsByJobId": {
        "path": "jobs/{id}/stats/clicks",
        "httpMethod": "get",
        "description": "Retrieves a collection of click stats for a given job",
        "parameters": {}
    },
    "testEndpoint": {
        "path": "tokenResolver/test",
        "httpMethod": "post",
        "description": "Runs a number of tests against the token resolution server setup for a client",
        "parameters": {}
    },
    "validateAccount": {
        "path": "tokenResolver/validate",
        "httpMethod": "post",
        "description": "Validates the tokenization setup of an account",
        "parameters": {}
    },
    "getSubstitutionsByTriggeredSendIdDefault": {
        "path": "messages/transactional/{triggeredSendId}/substitutions",
        "httpMethod": "get",
        "description": "Get transactional substitutions by Triggered Send Definition TriggeredSendId",
        "parameters": {}
    },
    "getSubstitutionsByCustomerKey": {
        "path": "messages/transactional/key:{customerKey}/substitutions",
        "httpMethod": "get",
        "description": "Get transactional substitutions by Triggered Send Definition CustomerKey",
        "parameters": {}
    },
    "getSubstitutionsByTriggeredSendId": {
        "path": "messages/transactional/id:{triggeredSendId}/substitutions",
        "httpMethod": "get",
        "description": "Get transactional substitutions by Triggered Send Definition TriggeredSendId",
        "parameters": {}
    }
}

}

Related Topic