dreamshop
 

Авторизация

Информацията е достъпна само за регистрирани потребители със специално разрешение от администратора на магазина. Администратора трябва да потвърди достъпа на потребителя от секция Потребители в административния панел на магазина.

Всички нужни данни за достъп до информацията са налични в профилът на потребителя.

WSSE хедър

За да получите достъп, трябва да зададете WSSE хедър във всяка заявка. Системата очаква хедър с име X-WSSE, във формат /UsernameToken Username="([^"]+)", PasswordDigest="([^"]+)", Nonce="([^"]+)", Created="([^"]+)"/, където:

  • Username - Потребителското име на потребителят регистрират в сайта.
  • PasswordDigest - Код, генериран по описан в този документ алгоритъм, позволяващ идентификация на потребителя в системата.
  • Nonce - Низ от произволно генерирани символи, във формат Base64. Този низ трябва да е уникален за всяка заявка.
  • Created - Дата и час на генериране на завката. Трябва да бъде във формат Atom (example: 2016-04-12T15:52:01+00:00). Сайтът отказва да обслужва заявки, които са генерирани преди повече от една минута.

Генериране на PasswordDigest

Генерирането на PasswordDigest се получава по формулата: base64_encode(sha1($nonce.$created.$secret, true)), където:

  • $nonce е генерираният на произволен принцип низ. Използва се в чист вид (преди да се преобразува в Base64)
  • $created е датата на създаване на заявката (2016-04-12T15:52:01+00:00)
  • $secret е низ, който се образува посредством паролата на потребителя и ключ. Генерира се по алгоритъм sha1($secret_api_key.$your_password).

Примерен код за генериране на WSSE хедър

        <code>
function generateWsseHeader($username, $password, $apiSecret) {

$nonce = random_bytes(50);
$created = (new \DateTime())->format(DateTime::ATOM);

$digest = base64_encode(sha1($nonce.$created.sha1(base64_decode($apiSecret).$password), true));

return sprintf('UsernameToken Username="%s", PasswordDigest="%s", Nonce="%s", Created="%s"',
           $username,
           $digest,
           base64_encode($nonce),
           $created);
}

$username = "<your_username>";
$password = "<your_password>";
$apiSecret = "<api_secret>";

$wsse_header = generateWsseHeader($username, $password, $apiSecret);
        </code>
    



Достъп до продукти

Достъпът до информацията за продуктите се извършва на три нива, като всяко от тях се намира на определен адрес.

  • Списък с категории - https://ИМЕТО-НА-МАГАЗИНА/ЕЗИК/api/export/categories
  • Списък с продукти - https://ИМЕТО-НА-МАГАЗИНА/ЕЗИК/api/export/products?category_id=<category.id>
  • Информация за продукта - https://ИМЕТО-НА-МАГАЗИНА/ЕЗИК/api/export/product?product_id=<product.id>
 

Review and rate for products

0 / CommentsAdd a comment