Я работаю над проектом, в котором я получаю статус всей запущенной автоматизации в системе. Одна из информации, которую я хотел бы отобразить, — это частота запуска автоматизации. Мне удалось извлечь объект автоматизации и recurrenceID, однако я не могу извлечь запланированное определение автоматизации.

Есть ли другой способ узнать настройку повторения? Как использовать recurrenceID?

var objectType = "Automation";

var cols = ["ProgramID", "Name", "Description", "CustomerKey", "IsActive", "CreatedDate", "Status","RecurrenceID","AutomationType","ScheduledTime","CategoryID","LastRunTime","LastSaveDate","CreatedBy","ModifiedBy","LastSavedBy","ModifiedDate"];

var filter = {
    Property: "Status",
    SimpleOperator: "equals",
    Value: "3"
};

var data = prox.retrieve(objectType, cols, filter);
1
EazyE 11 Сен 2020 в 14:50

1 ответ

Честно говоря, я не на 100% уверен, что вы сможете получить частоту через SOAP или, по крайней мере, не так просто. Но опция REST API может предоставить вам эту информацию. Единственная часть, которая немного воняет, это то, что вы должны получить ее для каждого объекта. Таким образом, вам нужно будет позвонить для каждой автоматизации, которую вы ищете.

Так что, скорее всего, ваш процесс будет заключаться в том, чтобы получить ObjectID из вашего вызова выше, а затем, когда вы перебираете этот возвращенный массив, вы должны сделать приведенный ниже вызов, чтобы получить расписание. Имейте в виду, что это недокументированная конечная точка, поэтому имейте это в виду, если будете реализовывать. В нем нет официальной поддержки и требований последовательности. Он может исчезнуть или измениться без предупреждения.

GET /automation/v1/automations/{{autoid}}
Host: https://{{et_subdomain}}.rest.marketingcloudapis.com
Authorization: Bearer {{auth_Token}}
Content-Type: application/json

Это вернет JSON, который вы можете просмотреть, чтобы найти расписание.

{
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "exampleAuto",
    "description": "",
    "key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "typeId": 1,
    "type": "scheduled",
    "statusId": 3,
    "status": "Running",
    "categoryId": xxxxxx,
    "lastRunTime": "1020-09-11T06:18:00.747",
    "lastRunInstanceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "schedule": {
        "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "typeId": 2,
        "startDate": "1020-05-10T11:18:00",
        "endDate": "3079-06-06T00:00:00",
        "scheduledTime": "1020-10-14T07:18:00",
        "rangeTypeId": 1,
        "occurrences": 517813,
        "pattern": "<Pattern><PatternType>0</PatternType><HourInterval>1</HourInterval></Pattern>",
        "icalRecur": "FREQ=HOURLY;UNTIL=20790606;INTERVAL=1",
        "timezoneName": "Central Standard Time (no DST)",
        "scheduleStatus": "active",
        "timezoneId": 1
    },
    "steps": [
        {
            "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "name": "",
            "step": 1,
            "activities": [
                {
                    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                    "name": "example_activity",
                    "activityObjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                    "objectTypeId": xxx,
                    "displayOrder": x
                }
            ]
        }
    ]
}

Вы увидите свойство «расписание», которое содержит объект, посвященный расписанию автоматизации. Вам просто нужно проанализировать это и собрать там необходимую информацию.

2
Gortonington 11 Сен 2020 в 16:27
Спасибо, Гортонингтон. Эта конечная точка автоматизации крутая. Salesforce должна добавить это в список поддерживаемых. Есть ли недокументированная конечная точка для конструктора путешествий? Должен включать один для строителя путешествий.
 – 
Yong Seng Goh
16 Сен 2020 в 11:38