{
  "fictionalPublisherAndCampaign": true,
  "providerRequests": 0,
  "messagesSent": 0,
  "placementsCreated": 0,
  "realResource": {
    "groupKey": "backlink-html",
    "practiceDirectory": "/downloads/link-mechanics/"
  },
  "candidateSource": "https://classroom.example/resources",
  "publicationVerified": null,
  "campaign": {
    "templateGroupKey": "backlink-strategy-template",
    "start": "2030-04-01",
    "checkpoints": [
      "2030-04-01",
      "2030-04-03",
      "2030-04-08",
      "2030-04-12",
      "2030-04-15",
      "2030-04-30"
    ],
    "capMinor": 40000,
    "currency": "USD",
    "plannedMinor": 32000,
    "committedMinor": null,
    "actualMinor": null,
    "results": null
  },
  "effort": {
    "hours": [
      "2",
      "1",
      "1",
      "0.5",
      "0.5"
    ],
    "rate": "25",
    "expenses": "0",
    "currency": "USD",
    "fictional": true
  },
  "locale": "ru",
  "note": "Учебный пример. Ресурс настоящий; издатель, переписка, даты и результаты вымышлены. Контактов и размещений не было.",
  "first": [
    {
      "title": "Откройте настоящий ресурс",
      "detail": "Используйте существующее руководство HTML и локальный редактор анкоров.",
      "check": "Проверьте доступ и пользу для конкретной учебной задачи."
    },
    {
      "title": "Изучите скачанное упражнение",
      "detail": "Сравните настоящий href и видимый анкор в автономном примере.",
      "check": "Запишите наблюдение; локальная правка ничего не публикует."
    },
    {
      "title": "Найдите подходящую страницу",
      "detail": "Представьте начальный урок HTML на classroom.example/resources.",
      "check": "Издатель вымышлен; перед выбором проверьте настоящую страницу."
    },
    {
      "title": "Проверьте разрешение и канал",
      "detail": "Полезность ресурса не разрешает массовые отправки или правку чужого сайта.",
      "check": "Найдите действительные правила; запрос здесь не отправляется."
    },
    {
      "title": "Отделите согласие от публикации",
      "detail": "Вымышленный редактор может согласиться, отказать или не ответить.",
      "check": "Проверенной считается только наблюдаемая публичная ссылка."
    },
    {
      "title": "Запишите и поддерживайте",
      "detail": "В реальной публикации проверьте источник, цель, анкор, rel и дату.",
      "check": "Недоступное остаётся неизвестным; рост позиций не предполагается."
    }
  ],
  "campaignSteps": [
    {
      "title": "Определите пилот",
      "detail": "2030-04-01: вымышленный велопроект задаёт ответственного, аудиторию и предел 400 USD.",
      "check": "Это плановые допущения, а не разрешение тратить."
    },
    {
      "title": "Проверьте целевую страницу",
      "detail": "2030-04-03: запланируйте проверку списка до обращения к редакторам.",
      "check": "Реальное выполнение фиксируется отдельно; незавершённый ресурс останавливает обращения."
    },
    {
      "title": "Проверьте иллюстрации",
      "detail": "2030-04-08: запланируйте проверку изображений и доступности.",
      "check": "До готовности подтвердите инструкции и права."
    },
    {
      "title": "Оцените кандидатов",
      "detail": "2030-04-12: изучите небольшую подходящую группу велосипедных редакторов.",
      "check": "Для каждого нужны польза читателю и допустимый канал."
    },
    {
      "title": "Проведите промежуточный обзор",
      "detail": "2030-04-15: сравните готовность, плановые расходы и настоящую переписку.",
      "check": "Меняйте или приостанавливайте при нехватке доказательств, бюджета или разрешения."
    },
    {
      "title": "Закройте по наблюдениям",
      "detail": "2030-04-30: разделите работу, ответы, живые ссылки и измеренные посещения.",
      "check": "Неизвестные результаты оставьте пустыми; назначьте дальнейшую поддержку."
    }
  ]
}
