API Скрипт для Shopify
Необхідно зробити скрипт (js метод) який буде оновлювати кількість товарів по API
- підключення node adminClientAPI (офіційний пакет)
- оновлення чере mutation GraphQL (або ваш варіант)
- оновлення по delta (+1, -2 і тп)
По факту функція є але видає помилку що з Input має якись не такий формат, інші методи в проєкті працюють добре
Ось весь код який має запрацювати.
const client = createAdminApiClient({
storeDomain: process.env.SF_DOMAIN,
apiVersion: process.env.SF_API_VERSION,
accessToken: process.env.SF_ADMIN_ACCESS_TOKEN,
});
const mutateInventoryQuantity = async (inventoryItemId, delta) => {
const mutation = `
mutation inventoryAdjustQuantities($input: InventoryAdjustQuantitiesInput!) {
inventoryAdjustQuantities(input: $input) {
userErrors {
field
message
}
inventoryAdjustmentGroup {
createdAt
reason
referenceDocumentUri
changes {
name
delta
}
}
}
}
};
const input = {
reason: "correction",
changes: [
{
delta,
inventoryItemId,
locationId: process.env.SF_CONST_LOCATION_ID
}
]
};
console.log('DEBUG: payload', JSON.stringify({ input }, null, 2));
try {
return await client.request(mutation, { input });
} catch (error) {
console.error('Не вдалося змінити кількість запасів:', error);
throw error;
}
}
mutateInventoryQuantity(id, delta)
RESPONSE
Змінна $input типу InventoryAdjustQuantitiesInput! отримала недійсне значення {
value: null,
problems: [ { path: [], explanation: 'Очікуване значення не повинно бути null' } ]
}
Ось весь код який має запрацювати.
const client = createAdminApiClient({
storeDomain: process.env.SF_DOMAIN,
apiVersion: process.env.SF_API_VERSION,
accessToken: process.env.SF_ADMIN_ACCESS_TOKEN,
});
const mutateInventoryQuantity = async (inventoryItemId, delta) => {
const mutation = `
mutation inventoryAdjustQuantities($input: InventoryAdjustQuantitiesInput!) {
inventoryAdjustQuantities(input: $input) {
userErrors {
field
message
}
inventoryAdjustmentGroup {
createdAt
reason
referenceDocumentUri
changes {
name
delta
}
}
}
}
`;
const input = {
reason: "correction",
changes: [
{
delta,
inventoryItemId,
locationId: process.env.SF_CONST_LOCATION_ID
}
]
};
console.log('DEBUG: payload', JSON.stringify({ input }, null, 2));
try {
return await client.request(mutation, { input });
} catch (error) {
console.error('Failed to mutate inventory:', error);
throw error;
}
}
mutateInventoryQuantity(id, delta)
RESPONSE
Variable $input of type InventoryAdjustQuantitiesInput! was provided invalid value {
value: null,
problems: [ { path: [], explanation: 'Expected value to not be null' } ]
}
-
const mutateInventoryQuantity = async (inventoryItemId, delta) => {
const mutation = `
mutation inventoryAdjustQuantities($input: InventoryAdjustQuantitiesInput!) {
inventoryAdjustQuantities(input: $input) {
userErrors {
field
message
}
inventoryAdjustmentGroup {
createdAt
reason
referenceDocumentUri
changes {
name
delta
}
}
}
}
`;
const input = {
reason: "correction",
changes: [
{
delta,
inventoryItemId,
locationId: process.env.SF_CONST_LOCATION_ID
}
]
};
console.log('DEBUG: payload', JSON.stringify({ input }, null, 2));
try {
return await client.request(mutation, { input });
} catch (error) {
console.error('Failed to mutate inventory:', error);
throw error;
}
}
RESPONSE
Variable $input of type InventoryAdjustQuantitiesInput! was provided invalid value {
value: null,
problems: [ { path: [], explanation: 'Expected value to not be null' } ]
}
ось така відповідь з сервера -
Актуальні фриланс-проєкти в категорії Javascript та Typescript
Робота з API Твіттер
22 780 UAH
Шукаємо розробника, який працював з API Твіттер. Завдання: написання скрипта бота, парсер. Також шукаємо для BlueSky Деталі в особистих повідомленнях Javascript та Typescript, Парсинг даних ∙ 17 годин 59 хвилин тому ∙ 11 ставок |
Потрібен Веб розробник з гарним розумінням Wordpress
5000 UAH
1.Зробити правки по розміщенню елементів сайта який вже є nexterasolutions.space 2. Додати нову сторінку по дизайну 3. Перенести на новий домен HTML та CSS верстання, Javascript та Typescript ∙ 1 день 2 години тому ∙ 33 ставки |
Потрібно поставити ленд на хост + налаштувати бекенд. Node.js. Google SheetsВсе даю . сервер + апи ключі таблиць Добрий. Потрібно налаштувати backend на Node.js з підключенням Google Sheets для запису даних із форми. Ціна і термін Javascript та Typescript, Веб-програмування ∙ 1 день 19 годин тому ∙ 17 ставок |
Анімація сторінки за допомогою GSAPРозшукується верстальник, який має хороший досвід роботи з бібліотекою GSAP. Необхідно буде реалізувати анімації як на цьому відео - https://yelpix.notion.site/Animation-232846a8f72b80f5bbf2daa66faf3312?source=copy_link Це відео не приклад, це і є технічне завдання, саме такі… HTML та CSS верстання, Javascript та Typescript ∙ 1 день 20 годин тому ∙ 2 ставки |
Створення сайту архітектурної студії на WordPress1. Загальна інформація Замовник: Архітектурна студія [Назва] Ціль: Створення сучасного, адаптивного, багатосторінкового сайту з портфоліо, послугами, контактами та можливістю управління контентом через адмін-панель WordPress. CMS: WordPress 2. Основні цілі сайту… CMS, Javascript та Typescript ∙ 2 дні 2 години тому ∙ 26 ставок |