Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠΎΠ²Π°ΡΠΎΠ² OZON
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²
ΠΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΈ ΠΎΡΠ²ΡΠ·ΠΊΠ° ΡΠΎΠ²Π°ΡΠΎΠ² ΠΎΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²
Π’ΠΈΠΏΡ, ΡΡΠ°ΡΡΡΡ, ΠΏΡΠΈΡΠΈΠ½Ρ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
ΠΠ·ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°
Π‘Π²ΡΠ·Π°ΡΡ ΡΠΎΠ²Π°ΡΡ Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΡΠ°ΡΡΡΡ ΠΈ ΡΡΠΎΠΊΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
import { OzonSellerAPI } from 'daytona-ozon-seller-api';
const client = new OzonSellerAPI({
clientId: 'your-client-id',
apiKey: 'your-api-key'
});
// ΠΠ°Π·ΠΎΠ²ΡΠΉ workflow ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ
try {
// 1. ΠΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²
const types = await client.certification.getCertificateTypes();
console.log(`π ΠΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΈΠΏΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²: ${types.result?.length}`);
// 2. Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ
const newCertificate = await client.certification.createCertificate({
name: 'Π‘Π΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΠΠ‘Π’ Π ',
type_code: 'GOST_CERTIFICATE',
number: 'Π ΠΠ‘Π‘ RU.ΠΠ37.H00124',
issue_date: '2024-01-01T00:00:00Z',
files: ['base64_encoded_file_content'] // PDF/JPG ΡΠ°ΠΉΠ» Π² base64
});
console.log(`β
Π‘ΠΎΠ·Π΄Π°Π½ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Ρ ID: ${newCertificate.id}`);
// 3. ΠΡΠΈΠ²ΡΠ·Π°ΡΡ ΡΠΎΠ²Π°ΡΡ ΠΊ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ
const bindResult = await client.certification.bindCertificate({
certificate_id: newCertificate.id!,
product_id: ['product-123', 'product-456', 'product-789']
});
console.log('π Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ²:');
bindResult.result?.forEach(item => {
if (item.status === 'success') {
console.log(` β
${item.product_id} - ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½`);
} else {
console.log(` β ${item.product_id} - ΠΎΡΠΈΠ±ΠΊΠ°: ${item.error}`);
}
});
} catch (error) {
console.error('β ΠΡΠΈΠ±ΠΊΠ° ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ:', error);
}
Π§Π΅ΡΠ½ΠΎΠ²ΠΈΠΊ
ΠΠ° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΠΈ
ΠΠΊΡΠΈΠ²Π½ΡΠΉ
ΠΡΡΠ΅ΠΊΡΠΈΠΉ
ΠΡΠΊΠ»ΠΎΠ½Π΅Π½
Π’ΡΠ΅Π±ΡΡΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ// ΠΠ°ΡΡΠΎΠ²ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²
const createBulkCertificates = async (certificateData: Array<{
name: string;
type_code: string;
number: string;
issue_date: string;
file_content: string; // base64
product_ids: string[];
}>) => {
const results = {
created: 0,
failed: 0,
bound: 0,
bindErrors: 0
};
for (const certData of certificateData) {
try {
console.log(`π Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°: ${certData.name}`);
// 1. Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ
const certificate = await client.certification.createCertificate({
name: certData.name,
type_code: certData.type_code,
number: certData.number,
issue_date: certData.issue_date,
files: [certData.file_content]
});
if (certificate.id) {
results.created++;
console.log(` β
Π‘ΠΎΠ·Π΄Π°Π½ Ρ ID: ${certificate.id}`);
// 2. ΠΡΠΈΠ²ΡΠ·Π°ΡΡ ΡΠΎΠ²Π°ΡΡ
const bindResult = await client.certification.bindCertificate({
certificate_id: certificate.id,
product_id: certData.product_ids
});
bindResult.result?.forEach(item => {
if (item.status === 'success') {
results.bound++;
} else {
results.bindErrors++;
console.log(` β οΈ ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ${item.product_id}: ${item.error}`);
}
});
}
// ΠΠ°ΡΠ·Π° ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ
await new Promise(resolve => setTimeout(resolve, 2000));
} catch (error) {
results.failed++;
console.error(`β ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ${certData.name}:`, error);
}
}
console.log('\nπ ΠΡΠΎΠ³ΠΈ ΠΌΠ°ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ:');
console.log(` Π‘ΠΎΠ·Π΄Π°Π½ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²: ${results.created}`);
console.log(` Π’ΠΎΠ²Π°ΡΠΎΠ² ΠΏΡΠΈΠ²ΡΠ·Π°Π½ΠΎ: ${results.bound}`);
console.log(` ΠΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ: ${results.bindErrors}`);
return results;
};
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡΠΈΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ²
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»Ρ Π·Π°ΡΠ²Π»ΡΠ΅Ρ ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠ°ΠΌ
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΡΠΌΠ΅ΡΠΈΠΊΠΈ, ΠΠΠΠΎΠ² ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Π΄Π΅ΡΡΠΊΠΎΠ³ΠΎ ΠΏΠΈΡΠ°Π½ΠΈΡ
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡΠΈΠΉ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ
// ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΡΠ°ΡΡΡΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²
const monitorCertificateStatuses = async () => {
try {
// ΠΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Ρ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ
const allCertificates: any[] = [];
let page = 1;
let hasMore = true;
while (hasMore) {
const response = await client.certification.getCertificateList({
page,
page_size: 100
});
if (response.result?.certificates) {
allCertificates.push(...response.result.certificates);
}
hasMore = (response.result?.total || 0) > page * 100;
page++;
}
console.log(`π ΠΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²: ${allCertificates.length}`);
// ΠΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡΡΠ°ΡΡΡΠ°ΠΌ
const statusGroups = allCertificates.reduce((groups: Record, cert) => {
const status = cert.status || 'UNKNOWN';
if (!groups[status]) groups[status] = [];
groups[status].push(cert);
return groups;
}, {});
console.log('\nπ Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎ ΡΡΠ°ΡΡΡΠ°ΠΌ:');
Object.entries(statusGroups).forEach(([status, certificates]) => {
console.log(` ${status}: ${certificates.length} ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²`);
});
// ΠΠΎΠΈΡΠΊ ΠΈΡΡΠ΅ΠΊΠ°ΡΡΠΈΡ
ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² (ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ 30 Π΄Π½Π΅ΠΉ)
const now = new Date();
const in30Days = new Date(now.getTime() + 30 * 24 * 60 * 60 * 1000);
const expiringSoon = allCertificates.filter(cert => {
if (!cert.expire_date) return false;
const expireDate = new Date(cert.expire_date);
return expireDate >= now && expireDate <= in30Days;
});
if (expiringSoon.length > 0) {
console.log('\nβ οΈ ΠΡΡΠ΅ΠΊΠ°ΡΡ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ 30 Π΄Π½Π΅ΠΉ:');
expiringSoon.forEach(cert => {
console.log(` ${cert.name} (${cert.number}) - ΠΈΡΡΠ΅ΠΊΠ°Π΅Ρ ${cert.expire_date}`);
});
}
return {
total: allCertificates.length,
byStatus: statusGroups,
expiringSoon: expiringSoon.length
};
} catch (error) {
console.error('β ΠΡΠΈΠ±ΠΊΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²:', error);
}
};
getProductCertificationList (v1) Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ 14 Π°ΠΏΡΠ΅Π»Ρ 2025 Π³ΠΎΠ΄Π°
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ getProductCertificationListV2 Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, ΡΡΠ΅Π±ΡΡΡΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.