Ozon, одна из крупнейших платформ электронной коммерции в России, предлагает API, который позволяет продавцам автоматизировать различные аспекты своего бизнеса, включая аналитику продвижения. Понимание и использование API Ozon может значительно улучшить ваши маркетинговые усилия и оптимизировать ваши операции. Эта статья расскажет вам, как автоматизировать аналитику продвижения с помощью API Ozon.
Что такое Ozon API?
Ozon API — это мощный инструмент, обеспечивающий программный доступ к внутренней рекламной системе Ozon. Этот API позволяет пользователям получать подробную статистику и автоматизировать рекламные задачи. В отличие от многих других API, API Ozon является асинхронным и возвращает данные в формате архивного файла, что делает его уникальным и немного более сложным в обращении.
Настройка среды
Прежде чем погрузиться в код, очень важно настроить среду. Для этого процесса вам понадобится несколько ключевых библиотек: requests
, python-dotenv
и pandas
. Настройка виртуальной среды может помочь управлять зависимостями и поддерживать порядок в проекте.
Получение учетных данных API
Для взаимодействия с API Ozon вам необходимо получить Client ID и Client Secret из вашей личной учетной записи на Ozon. Эти учетные данные необходимы для создания токена доступа, который будет использоваться для всех последующих запросов API.
import requests
import os
from dotenv import load_dotenv
load_dotenv()
CLIENT_ID = os.getenv('CLIENT_ID')
CLIENT_SECRET = os.getenv('CLIENT_SECRET')
Генерация токена доступа
Первым шагом в использовании API является создание токена доступа. Этот токен действителен в течение 30 минут и должен использоваться для аутентификации всех запросов API.
url = "https://api.ozon.ru/sell/v1/oauth/token"
headers = {
"Content-Type": "application/json",
"Accept": "application/json"
}
payload = {
"client_id": CLIENT_ID,
"client_secret": CLIENT_SECRET,
"grant_type": "client_credentials"
}
response = requests.post(url, headers=headers, json=payload)
access_token = response.json().get('access_token')
Получение данных кампании
Получив токен доступа, вы можете начать получать данные из API. Например, чтобы получить список ваших рекламных кампаний, вы можете использовать следующий код:
url = "https://api.ozon.ru/performance/v1/campaigns"
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json"
}
response = requests.get(url, headers=headers)
campaigns = response.json().get('campaigns', [])
Запрос статистики продвижения
Чтобы получить статистику продвижения, вам необходимо отправить POST-запрос с указанием диапазона дат и идентификаторов кампании. API вернет идентификатор отчета, который вы можете использовать для проверки статуса отчета и загрузки его, когда он будет готов.
report_payload = {
"campaigns": [campaign_id_list],
"date_from": "2024-01-01",
"date_to": "2024-01-31"
}
report_response = requests.post(report_url, headers=headers, json=report_payload)
report_id = report_response.json().get('report_id')
Проверка статуса отчета и загрузка
После запроса отчета периодически проверяйте его статус, пока он не будет готов к загрузке. Отчет обычно доступен в виде ZIP-файла, если имеется несколько кампаний.
status_url = f"https://api.ozon.ru/performance/v1/report/status?report_id={report_id}"
status_response = requests.get(status_url, headers=headers)
if status_response.json().get('status') == 'done':
download_url = f"https://api.ozon.ru/performance/v1/report/download?report_id={report_id}"
download_response = requests.get(download_url, headers=headers)
with open('report.zip', 'wb') as f:
f.write(download_response.content)
Извлечение и обработка данных
После загрузки ZIP-файла извлеките его содержимое и обработайте файлы CSV для анализа данных.
import zipfile
import pandas as pd
with zipfile.ZipFile('report.zip', 'r') as zip_ref:
zip_ref.extractall('extracted_reports')
csv_files = [f for f in os.listdir('extracted_reports') if f.endswith('.csv')]
data_frames = [pd.read_csv(f'extracted_reports/{file}', delimiter=';') for file in csv_files]
combined_df = pd.concat(data_frames, ignore_index=True)
combined_df.to_csv('final_report.csv', index=False)
Пример таблицы: Статистика рекламных акций
Идентификатор кампании | Дата | Впечатления | Клики | Тратить |
---|---|---|---|---|
12345 | 2024-01-01 | 1000 | 50 | $20.00 |
12345 | 2024-01-02 | 1500 | 75 | $30.00 |
67890 | 2024-01-01 | 2000 | 100 | $40.00 |
67890 | 2024-01-02 | 2500 | 125 | $50.00 |
Заключение
Автоматизация аналитики продвижения с помощью API Ozon может значительно повысить эффективность вашего маркетинга и обеспечить более глубокое понимание ваших кампаний. Следуя шагам, описанным в этой статье, вы сможете использовать возможности API Ozon для оптимизации своих рекламных усилий. Не забывайте регулярно проверять статус своих отчетов и осторожно обращаться с извлеченными данными, чтобы обеспечить точный анализ. Удачной автоматизации!
Комментарии (0)
Здесь пока нет комментариев, вы можете быть первым!