1

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

  • When you make your call to the messaging/v1/*/send endpoint, it's header response has a Location field populated. That Location field has the keys already populated, and contains the endpoint that you can then make a GET request to, to get the message status. – Jon L. Jun 1 '17 at 13:42
2

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": {}
    }
}

}

  • Unfortunately, the id or key do not refer to the email address. Looking at the /rest endpoints for various resources yields no help. would be GREAT if a salesforce or exact target API expert could pipe in here. – Avi G Aug 30 '16 at 17:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.