Skip to content
This repository was archived by the owner on Jan 20, 2024. It is now read-only.
This repository was archived by the owner on Jan 20, 2024. It is now read-only.

CRUD with Import Definitions #62

Open
@tdsticks

Description

@tdsticks

We're having issues trying to create Import Definitions with the FuelSDK for Python. We've managed to add another class in the objects.py class. Which allows us to read and delete.

class ET_Import(ET_CUDSupport):
    def __init__(self):
        super(ET_Import, self).__init__()
        self.obj_type = 'ImportDefinition'

However, when we try to create an Import Definition, it returns with this error:

post_response:  <FuelSDK.rest.ET_Post object at 0x1098f41d0>
code: 200
results: [(CreateResult){
   StatusCode = "Error"
   StatusMessage = "ID of the custom object cannot be empty."
   OrdinalID = 0
   ErrorCode = 43040
   NewID = 0
   Object = 
      (ImportDefinition){
         PartnerKey = None
         ObjectID = None
         CustomerKey = "000001-22222-33333-44444-55555-66666"
         Name = "Aaaaaaaaaaaaaaaaaaaaaaaa"
         Description = "This is a test from Python"
         AllowErrors = True
         DestinationObject = 
            (APIObject){
               PartnerKey = None
               ID = 463703
               ObjectID = None
            }
         FieldMappingType = "InferFromColumnHeadings"
         FileSpec = "file_that_is_on_the_ftp.csv",
         FileType = "Other"
         Notification = 
            (AsyncResponse){
               ResponseType = "email"
               ResponseAddress = "my email address}"
            }
         RetrieveFileTransferLocation = 
            (FileTransferLocation){
               PartnerKey = None
               ObjectID = None
               CustomerKey = "ExactTarget Enhanced FTP"
            }
         SubscriberImportType = "Email"
         UpdateType = "AddAndUpdate"
         Delimiter = ";"
      }
 }]
status: False

Here's what our call looks like:

def create_import_def(self):
        create_imp_def = FuelSDK.ET_Import()
        create_imp_def.auth_stub = self.myClient

        list_id = 463703

        create_imp_def.props = {
            "CustomerKey": "000001-22222-33333-44444-55555-66666",
            "Name": "Aaaaaaaaaaaaaaaaaaaaaaaa",
            "Description": "This is a test from Python",
            "DestinationObject": {
                "ID": list_id
            },
            "AllowErrors": True,
            "Notification": {
                "ResponseType": "email",
                "ResponseAddress": "{my email address}"
            },
            "RetrieveFileTransferLocation": {
                "CustomerKey": "ExactTarget Enhanced FTP"
            },
            "UpdateType": "AddAndUpdate",

            "FieldMappingType": "InferFromColumnHeadings",
            "FileSpec": "file_that_is_on_the_ftp.csv",
            "FileType": "Other",
            "Delimiter": ";",
            "SubscriberImportType": "Email"
        }

        post_response = create_imp_def.post()
        print 'post_response: ', post_response

        print "code:", post_response.code
        #print "message:", post_response.message
        #print "more_results:", post_response.more_results
        #print "request_id", post_response.request_id
        print "results:", post_response.results
        print "status:", post_response.status

We've tried many different attempts to get this to work changing out various fields and values. We've even tried to manipulate the XML SOAP envelope to match what the FuelSDK-PHP uses before its sent out, but no luck.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions