Relationship Between Program Type and Program Channel via Rest API

Anonymous
Not applicable

Relationship Between Program Type and Program Channel via Rest API

While creating a program via UI, we have Fixed set of Program Types and based on this value Program Channel Drop Down populates. So, how is this relationship determined?

I am trying to create a Program via api, so on providing the program type, I need all applicable channels for same type. Since program Types are fixed and I am pulling channels via api call : https://113-EDC-810.mktorest.com/rest/asset/v1/channels.json which gives me all the channels. I am not able to figure out the sub set of channels which are applicable to a Program Type.

Please let me know what I am missing here.

9 REPLIES 9
Grégoire_Miche2
Level 10

Re: Relationship Between Program Type and Program Channel via Rest API

When you define a channel in admin->tags section, you have to tell Marketo to which program type (singular) this channel will apply.

This is why, when creating a program, you are first prompted for the program type and second for the channel, which is dependent on the type.

You should use the Get Channels endpoint, that returns for each channel the "applicableprogramtype" information.

-Greg

Anonymous
Not applicable

Re: Relationship Between Program Type and Program Channel via Rest API

Hi Greg,

I got the channels from rest/assets/v1/channel endpoint and all the channels contain applicableProgramType field as well. But I have observed that this field's value is not from the [Event,Engagement,Event,Default] which is the set of acceptable program types.

In the API response for channels, I could see the applicableprogramtype as "Program or event or webinar" as well.

So, I am not able to correlate the program Types and Channel. Let me know if I am missing anything.

Grégoire_Miche2
Level 10

Re: Relationship Between Program Type and Program Channel via Rest API

Hi again,

I have not tried it but the doc is pretty clear on this: http://developers.marketo.com/rest-api/assets/programs/channels/

-Greg

Anonymous
Not applicable

Re: Relationship Between Program Type and Program Channel via Rest API

Hey Greg,

yes, I am pulling channels via api mentioned in link you provided.  But In Program Types, only possible values are Event,Engagement,Default,Email as shown in the image as well as mentioned Program description in the link : http://developers.marketo.com/rest-api/assets/programs/#create . In the response body shown in Marketo Documentation also applicationProgram Type is program, which is not among the acceptable program types.

Program Types

There are five core types of programs within Marketo:

  • Default
  • Event
  • Event with Webinar
  • Engagement
  • Email

Engagement programs may be parents to each other type of program, while Default, Event and Event with Webinar may only be parents to Email programs.

Programs will always have a channel, and will derive the possible set up Program Member Statuses from the channel which they were created with, which can be retrieved with the Get Channels API.  A program may also have a set of associated tags.  Tags are customizable fields which can be configured to be optional or required for any given type of program, which will have a value selected from a list configured in Marketo Admin.

programs.png

Grégoire_Miche2
Level 10

Re: Relationship Between Program Type and Program Channel via Rest API

Well, the internal name might not be the same as the labels displayed in the doc and in Marketo UI. I suspect that "program" = "default" (as originally in Marketo, this was the only one available)

What is the result if you fetch all the channels from Marketo with the Channels end point?

-Greg

Anonymous
Not applicable

Re: Relationship Between Program Type and Program Channel via Rest API

Hi Greg,

I got the below response :

unique Applicableprogramtypes : nurture,email_batch,program,event,webinar,in_app

{

  "success": true,

  "warnings": [],

  "errors": [],

  "requestId": "ef09#15b5ba9de14",

  "result": [

    {

      "id": 7,

      "name": "Nurture",

      "applicableProgramType": "nurture",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Member",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Engaged - Success",

          "step": 20,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-14T06:11:05Z+0000",

      "updatedAt": "2015-06-17T17:27:43Z+0000"

    },

    {

      "id": 8,

      "name": "Email Send",

      "applicableProgramType": "email_batch",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Member",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Engaged - Success",

          "step": 20,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-14T06:11:05Z+0000",

      "updatedAt": "2015-06-18T05:55:02Z+0000"

    },

    {

      "id": 14,

      "name": "Content",

      "applicableProgramType": "program",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Visited",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": true

        },

        {

          "name": "Downloaded - Success",

          "step": 20,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T17:18:15Z+0000",

      "updatedAt": "2015-06-17T17:20:33Z+0000"

    },

    {

      "id": 15,

      "name": "Azure Account",

      "applicableProgramType": "program",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Member",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Engaged - Success",

          "step": 20,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T17:21:14Z+0000",

      "updatedAt": "2015-06-17T17:21:14Z+0000"

    },

    {

      "id": 16,

      "name": "Contact Me",

      "applicableProgramType": "program",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Filled Out Form - Success",

          "step": 20,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T17:22:04Z+0000",

      "updatedAt": "2015-06-17T17:22:11Z+0000"

    },

    {

      "id": 17,

      "name": "Basic Email",

      "applicableProgramType": "program",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Invited",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Engaged - Success",

          "step": 20,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T17:22:46Z+0000",

      "updatedAt": "2015-06-17T23:15:16Z+0000"

    },

    {

      "id": 18,

      "name": "Data Management",

      "applicableProgramType": "program",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Member",

          "step": 10,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T17:23:34Z+0000",

      "updatedAt": "2015-06-17T17:23:44Z+0000"

    },

    {

      "id": 19,

      "name": "Digital Campaign",

      "applicableProgramType": "program",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Visited",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Engaged - Success",

          "step": 20,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T17:24:18Z+0000",

      "updatedAt": "2015-06-17T17:24:18Z+0000"

    },

    {

      "id": 20,

      "name": "In-Person Event",

      "applicableProgramType": "event",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Member",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Invited",

          "step": 20,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Registered",

          "step": 30,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Rejected",

          "step": 30,

          "description": null,

          "success": false,

          "hidden": true

        },

        {

          "name": "Wait Listed",

          "step": 30,

          "description": null,

          "success": false,

          "hidden": true

        },

        {

          "name": "Attended - Success",

          "step": 50,

          "description": null,

          "success": true,

          "hidden": false

        },

        {

          "name": "No Show",

          "step": 50,

          "description": null,

          "success": false,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T17:25:47Z+0000",

      "updatedAt": "2015-08-09T18:37:28Z+0000"

    },

    {

      "id": 21,

      "name": "Inside Sales",

      "applicableProgramType": "program",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Member",

          "step": 10,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T17:26:25Z+0000",

      "updatedAt": "2015-06-17T17:26:25Z+0000"

    },

    {

      "id": 22,

      "name": "List Purchase",

      "applicableProgramType": "program",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Member",

          "step": 10,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T17:26:46Z+0000",

      "updatedAt": "2015-06-17T17:26:46Z+0000"

    },

    {

      "id": 23,

      "name": "Newsletters",

      "applicableProgramType": "program",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Member",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Success - Clicked",

          "step": 20,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T17:27:21Z+0000",

      "updatedAt": "2015-06-17T17:27:21Z+0000"

    },

    {

      "id": 24,

      "name": "Power BI Account",

      "applicableProgramType": "program",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Member",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Engaged - Success",

          "step": 20,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T17:28:27Z+0000",

      "updatedAt": "2015-06-17T17:28:27Z+0000"

    },

    {

      "id": 25,

      "name": "Webinar",

      "applicableProgramType": "webinar",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Invited",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Pending Approval",

          "step": 20,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Rejected",

          "step": 30,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Wait Listed",

          "step": 30,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Registered",

          "step": 40,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Registration Error",

          "step": 40,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "No Show",

          "step": 50,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Attended - Success",

          "step": 60,

          "description": null,

          "success": true,

          "hidden": false

        },

        {

          "name": "Attended On-demand",

          "step": 70,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-17T18:27:27Z+0000",

      "updatedAt": "2015-06-17T18:27:27Z+0000"

    },

    {

      "id": 26,

      "name": "Operational",

      "applicableProgramType": "program",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Member",

          "step": 10,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2015-06-30T16:24:25Z+0000",

      "updatedAt": "2015-06-30T16:24:25Z+0000"

    },

    {

      "id": 28,

      "name": "Mobile In-App",

      "applicableProgramType": "in_app",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Viewed",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Engaged",

          "step": 20,

          "description": null,

          "success": false,

          "hidden": false

        }

      ],

      "createdAt": "2016-02-06T02:28:04Z+0000",

      "updatedAt": "2016-02-06T02:28:04Z+0000"

    },

    {

      "id": 29,

      "name": "Party",

      "applicableProgramType": "event",

      "progressionStatuses": [

        {

          "name": "Not in Program",

          "step": 0,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Invited",

          "step": 10,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Registered",

          "step": 20,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "No Show",

          "step": 30,

          "description": null,

          "success": false,

          "hidden": false

        },

        {

          "name": "Attended",

          "step": 40,

          "description": null,

          "success": true,

          "hidden": false

        }

      ],

      "createdAt": "2017-01-25T00:27:45Z+0000",

      "updatedAt": "2017-01-25T00:27:45Z+0000"

    }

  ]

}

Grégoire_Miche2
Level 10

Re: Relationship Between Program Type and Program Channel via Rest API

They are not hard to decode :

  • nurture: engagement program
  • email_batch: email program
  • program: default program
  • event: simple event
  • webinar : event with webinar
  • in_app: mobile app programs

-Greg

Anonymous
Not applicable

Re: Relationship Between Program Type and Program Channel via Rest API

Hey Greg,

Thanks for confirming

One more thing I had is that this list will not be fixed across all instances i.e. Dev, UAT and Prod. So any suggestion to handle this.

Grégoire_Miche2
Level 10

Re: Relationship Between Program Type and Program Channel via Rest API

This is really weird. What other values are you getting on other instances ?

-Greg