Cart Images: Get Product Image in Customer Cart Magento 2 REST API

in this article, I am going to explain how we can get the customer cart images in Magento 2 REST API. Magento 2 default rest API doesn't have the functionality to get cart items with images so we have to implement the custom plugin to get the customer cart product image.

Magento 2 product images are displayed in the cart as a thumbnail after adding the product to the cart that helps customers a quick overview for the convenience to review his product before buying.

However, if the product has multiple options for the color then, It may also be that the color does not match the variation of the product that is in the cart. If the customer also adds a product of a particular type of color, then the product image of the same color will appear in his cart.

Customer Cart Images

 

Steps To Get Customer Cart Product Images

We will create a Magento 2 model to get the product images containing the customer's cart. To make them, we have to create some files like:

app/code/Wishusucess/CartImages/registration.php

app/code/Wishusucess/CartImages/etc/module.xml

app/code/Wishusucess/CartImages/etc/extension_attributes.xml

app/code/Wishusucess/CartImages/etc/webapi_rest/di.xml

app/code/Wishusucess/CartImages/Plugin/QuotePlugin.php

Within this model, we also need to create a plugin that will modify the behavior of the default cart functionality of Magento and we will see links to the product images.

So by using this module you will get the images of each product in the customer cart list.

 

Magento 2 Configure Cart Thumbnails

If you looking for the setting of the Grouped Product Image to change the product thumbnail then you can use it in the cart for grouped products:

Product Thumbnail Itself: Uses the thumbnail assigned to the product variation that is added to the cart.

Parent Product Thumbnails: Uses the thumbnail assigned to the parent product.

Admin > Stores > Settings > Configuration.

 

Step 1: Create Cart Images Registration File

app/code/Wishusucess/CartImages/registration.php

<?php
/**
* Category: Wishusucess_CartImages
* Developer: Hemant Singh Magento 2x Developer
* Website: http://wwww.wishusucess.com
*/
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Wishusucess_CartImages',
__DIR__
);

 

Step 2: Module XML File

app/code/Wishusucess/CartImages/etc/module.xml

<?xml version="1.0"?>
<!--
/**
* Category: Wishusucess_CartImages
* Developer: Hemant Singh Magento 2x Developer
* Website: http://wwww.wishusucess.com
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Wishusucess_CartImages" setup_version="2.0.0" />
</config>

 

Step 3: Extension Attributes File for Cart Images

app/code/Wishusucess/CartImages/etc/extension_attributes.xml

<?xml version="1.0"?>
<!---
/**
* Category: Wishusucess_CartImages
* Developer: Hemant Singh Magento 2x Developer
* Website: http://wwww.wishusucess.com
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Api/etc/extension_attributes.xsd">
<extension_attributes for="Magento\Quote\Api\Data\CartItemInterface">
<attribute code="image" type="string" />
</extension_attributes>
</config>

 

Step 4: Dependency Injection File

app/code/Wishusucess/CartImages/etc/webapi_rest/di.xml\

<?xml version="1.0" ?>
<!--
/**
* Category: Wishusucess_CartImages
* Developer: Hemant Singh Magento 2x Developer
* Website: http://wwww.wishusucess.com
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Quote\Api\CartRepositoryInterface">
<plugin name="add_more_info" type="Wishusucess\CartImages\Plugin\QuotePlugin" sortOrder="10" />
</type>
</config>

 

Step 5: Create Cart Images Quote Plugin

app/code/Wishusucess/CartImages/Plugin/QuotePlugin.php

<?php
/**
* Category: Wishusucess_CartImages
* Developer: Hemant Singh Magento 2x Developer
* Website: http://wwww.wishusucess.com
*/
namespace Wishusucess\CartImages\Plugin;

use Magento\Quote\Api\Data\CartInterface;

class QuotePlugin {

/**
* @var \Magento\Quote\Api\Data\CartItemExtensionFactory
*/
protected $cartItemExtension;

/**
* @var \Magento\Catalog\Api\ProductRepositoryInterface
*/
protected $productRepository;

/**
* @param \Magento\Quote\Api\Data\CartItemExtensionFactory $cartItemExtension
* @param \Magento\Catalog\Api\ProductRepositoryInterface $productRepository
*/
public function __construct(
\Magento\Quote\Api\Data\CartItemExtensionFactory $cartItemExtension, 
\Magento\Catalog\Api\ProductRepositoryInterfaceFactory $productRepository ) {
$this->cartItemExtension = $cartItemExtension;
$this->productRepository = $productRepository;
}

/**
* Add attribute values
*
* @param \Magento\Quote\Api\CartRepositoryInterface $subject,
* @param $quote
* @return $quoteData
*/
public function afterGet(
\Magento\Quote\Api\CartRepositoryInterface $subject, $quote
) {
$quoteData = $this->setAttributeValue($quote);
return $quoteData;
}

/**
* Add attribute values
*
* @param \Magento\Quote\Api\CartRepositoryInterface $subject,
* @param $quote
* @return $quoteData
*/
public function afterGetActiveForCustomer(
\Magento\Quote\Api\CartRepositoryInterface $subject, $quote
) {
$quoteData = $this->setAttributeValue($quote);
return $quoteData;
}

/**
* set value of attributes
*
* @param $product,
* @return $extensionAttributes
*/
private function setAttributeValue($quote) {
$data = [];
if ($quote->getItemsCount()) {
foreach ($quote->getItems() as $item) { 
$data = [];
$extensionAttributes = $item->getExtensionAttributes();
if ($extensionAttributes === null) {
$extensionAttributes = $this->cartItemExtension->create();
}
$productData = $this->productRepository->create()->get($item->getSku()); 
$extensionAttributes->setImage($productData->getThumbnail());

$item->setExtensionAttributes($extensionAttributes);
}
}

return $quote;
}

}

 

Step 6: Final Result of Cart REST API

So, in the end, you will get to see some such results. Along with other details of the product, you will also get to see the image URL of the product.

Customer Cart Product REST API

 

Check on GitHub

 

Conclusion:

We do not get the images of the product added by the customer in the Magento 2 default API, but we can get it through a custom extension, for we have created a plugin that is a perfect solution.

 

Similar Post:

Product Alert API: Get Magento 2 Product Alert Using API

How to Override Block, Controller, and Model in Magento 2

Factory Class: What is Factory Design Pattern in Magento 2

 

Product Alert API: Get Magento 2 Product Alert Using API

In this article, I am going to explain how we can get the notification of product alerts of subscribed products. I am explaining the steps to create a custom module for product alert so by installing this module you will get product notification for customers subscribing to out-of-stock products through REST API.

Product Alert API in Magento 2

How to Override Block, Controller, and Model in Magento 2

Wishusucess Magento 2 Product Alerts custom API extension is a  solution to keep in touch with customers about their products and make them notified by using this module. So when you will change any information about the product availability and price changes then this module sends the notification to the user.

This is a great Magento 2 extension to maintain a good relationship between the customer and the store owner. This will also help you to improve your shopping experience and especially contribute to increasing your product selling conversion rates.

 

Magento 2 Product Alert Through REST API

There are some basic steps to create Magento 2 Product alert API. In Magento2 customers can see the newly added product alert notification. If the customer can subscribe to the out-of-stock products then when the product will be available the customer gets notifications when back in stock.

Wishusucess/ProductAlertApi/registration.php

Wishusucess/ProductAlertApi/etc/module.xml

Wishusucess/ProductAlertApi/etc/di.xml

Wishusucess/ProductAlertApi/etc/webapi.xml

Wishusucess/ProductAlertApi/Model/ProductAlert.php

Wishusucess/ProductAlertApi/Api/ProductAlertManagementInterface.php

Factory Class: What is Factory Design Pattern in Magento 2

 

Step 1: Create Wishusucess_ProductAlertApi

<?php
/**
* Category: Wishusucess Product Alert API 
* Developer: Hemant Singh Magento 2x Developer
* Website: http://wwww.wishusucess.com
*/
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Wishusucess_ProductAlertApi',
__DIR__
);

 

Step 2: Module Information File

<?xml version="1.0"?>
<!--
/**
* Category: Wishusucess Product Alert API 
* Developer: Hemant Singh Magento 2x Developer
* Website: http://wwww.wishusucess.com
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Wishusucess_ProductAlertApi" setup_version="1.0.4" />
</config>

 

Step 3: Dependency Injection File

So when we add custom functionality then this file helps us to change the existing functionality in Magento 2. So this file contains the information of existing classes which refer to the newly added classes.

<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Category: Wishusucess Product Alert API 
* Developer: Hemant Singh Magento 2x Developer
* Website: http://wwww.wishusucess.com
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Wishusucess\ProductAlertApi\Api\ProductAlertManagementInterface" type="Wishusucess\ProductAlertApi\Model\ProductAlert"/>
</config>

 

Step 4: Route URL for Product Alert API

I have defined the product alert API endpoint in the Wishusucess/ProductAlertApi/etc/webapi.xml file.

So when we need to add the product then we have /V1/productalertstock/add/:productId and if we need to delete the product then we can use /V1/productalertstock/delete/:productId.

The complete URL will be

http://wishusucess.com/rest/V1/productalertstock/add/productid.

So when we need to access the data of the Magento 2 store then we have to create the customer token then only we can access the data.

http://wishusucess.com/rest/V1/integration/customer/token
<?xml version="1.0" ?>
<!--
/**
* Category: Wishusucess Product Alert API 
* Developer: Hemant Singh Magento 2x Developer
* Website: http://wwww.wishusucess.com
*/
-->
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Webapi:etc/webapi.xsd">
<!-- Add product stock alert start-->
<route url="/V1/productalertstock/add/:productId" method="POST">
<service class="Wishusucess\ProductAlertApi\Api\ProductAlertManagementInterface" method="addProductAlertStock"/>
<resources>
<resource ref="self" />
</resources>
<data>
<parameter name="customerId" force="true">%customer_id%</parameter>
</data>
</route>
<!-- Add product stock alert ends-->
<!-- Delete product stock alert start-->
<route url="/V1/productalertstock/delete/:productId" method="POST">
<service class="Wishusucess\ProductAlertApi\Api\ProductAlertManagementInterface" method="deleteProductAlertStock"/>
<resources>
<resource ref="self" />
</resources>
<data>
<parameter name="customerId" force="true">%customer_id%</parameter>
</data>
</route>
<!-- Delete product stock alert ends-->
<!-- Add product price alert start-->
<route url="/V1/productalertprice/add/:productId" method="POST">
<service class="Wishusucess\ProductAlertApi\Api\ProductAlertManagementInterface" method="addProductAlertPrice"/>
<resources>
<resource ref="self" />
</resources>
<data>
<parameter name="customerId" force="true">%customer_id%</parameter>
</data>
</route>
<!-- Add product price alert ends-->
<!-- Delete product price alert start-->
<route url="/V1/productalertprice/delete/:productId" method="POST">
<service class="Wishusucess\ProductAlertApi\Api\ProductAlertManagementInterface" method="deleteProductAlertPrice"/>
<resources>
<resource ref="self" />
</resources>
<data>
<parameter name="customerId" force="true">%customer_id%</parameter>
</data>
</route>
<!-- Delete product price alert ends-->
</routes>

 

Step 5: Model Class Product Alert API

<?php
/**
* Category: Wishusucess Product Alert API 
* Developer: Hemant Singh Magento 2x Developer
* Website: http://wwww.wishusucess.com
*/
namespace Wishusucess\ProductAlertApi\Model;

use Magento\Catalog\Api\ProductRepositoryInterface;
use Magento\Framework\Exception\NoSuchEntityException;
use Magento\Store\Model\StoreManagerInterface;
use Magento\ProductAlert\Model\StockFactory;
use Magento\ProductAlert\Model\PriceFactory;

use Pawan\ProductAlertApi\Api\ProductAlertManagementInterface;

class ProductAlert implements ProductAlertManagementInterface
{
protected $productRepository;
private $storeManager;
protected $stockFactory;
protected $priceFactory;

public function __construct(
ProductRepositoryInterface $productRepository,
StoreManagerInterface $storeManager,
StockFactory $stockFactory,
PriceFactory $priceFactory
) {
$this->productRepository = $productRepository;
$this->storeManager = $storeManager;
$this->stockFactory = $stockFactory;
$this->priceFactory = $priceFactory;
}

public function addProductAlertStock($customerId, $productId)
{
try {

/* @var $product \Magento\Catalog\Model\Product */
$product = $this->productRepository->getById($productId);
$store = $this->storeManager->getStore();
/** @var \Magento\ProductAlert\Model\Stock $model */
$model = $this->stockFactory->create()
->setCustomerId($customerId)
->setProductId($product->getId())
->setWebsiteId($store->getWebsiteId())
->setStoreId($store->getId());
$model->save();
return true;
} catch (NoSuchEntityException $noEntityException) {
return false;
}
}
public function deleteProductAlertStock ($customerId, $productId)
{
try {
/* @var $product \Magento\Catalog\Model\Product */
$product = $this->productRepository->getById($productId);
$model = $this->stockFactory->create()
->setCustomerId($customerId)
->setProductId($product->getId())
->setWebsiteId(
$this->storeManager
->getStore()
->getWebsiteId()
)->setStoreId(
$this->storeManager
->getStore()
->getId()
)
->loadByParam();
if ($model->getId()) {
$model->delete();
}
return true;
} catch (NoSuchEntityException $noEntityException) {
return false;
}
}
public function addProductAlertPrice($customerId, $productId)
{
try {

/* @var $product \Magento\Catalog\Model\Product */
$product = $this->productRepository->getById($productId);
$store = $this->storeManager->getStore();
/** @var \Magento\ProductAlert\Model\Price $model */
$model = $this->priceFactory->create()
->setCustomerId($customerId)
->setProductId($product->getId())
->setPrice($product->getPrice())
->setWebsiteId($store->getWebsiteId())
->setStoreId($store->getId());
$model->save();
return true;
} catch (NoSuchEntityException $noEntityException) {
return false;
}
}
public function deleteProductAlertPrice ($customerId, $productId)
{
try {
/* @var $product \Magento\Catalog\Model\Price */
$product = $this->productRepository->getById($productId);
$model = $this->priceFactory->create()
->setCustomerId($customerId)
->setProductId($product->getId())
->setWebsiteId(
$this->storeManager
->getStore()
->getWebsiteId()
)->setStoreId(
$this->storeManager
->getStore()
->getId()
)
->loadByParam();
if ($model->getId()) {
$model->delete();
}
return true;
} catch (NoSuchEntityException $noEntityException) {
return false;
}
}

}

 

Step 6: Product Alert Management Interface

<?php
/**
* Category: Wishusucess Product Alert API 
* Developer: Hemant Singh Magento 2x Developer
* Website: http://wwww.wishusucess.com
*/
namespace Wishusucess\ProductAlertApi\Api;
use Exception;

/**
* Interface ProductAlertManagementInterface
* @api
*/
interface ProductAlertManagementInterface
{
/**
* Return true if product Added to Alert.
*
* @param int $customerId
* @param int $productId
* @return bool true on success
* @throws \Magento\Framework\Exception\LocalizedException
* @throws \Magento\Framework\Exception\NoSuchEntityException
*/
public function addProductAlertStock($customerId, $productId);
/**
* Return true if product Added to Alert.
*
* @param int $customerId
* @param int $productId
* @return bool true on success
* @throws \Magento\Framework\Exception\LocalizedException
* @throws \Magento\Framework\Exception\NoSuchEntityException
*/
public function deleteProductAlertStock($customerId, $productId);
/**
* Return true if product Added to Alert.
*
* @param int $customerId
* @param int $productId
* @return bool true on success
* @throws \Magento\Framework\Exception\LocalizedException
* @throws \Magento\Framework\Exception\NoSuchEntityException
*/
public function addProductAlertPrice($customerId, $productId);
/**
* Return true if product Added to Alert.
*
* @param int $customerId
* @param int $productId
* @return bool true on success
* @throws \Magento\Framework\Exception\LocalizedException
* @throws \Magento\Framework\Exception\NoSuchEntityException
*/
public function deleteProductAlertPrice($customerId, $productId);
}

GitHub

 

Recommended Post:

Magento 2 REST API: How To Call REST API in Magento 2

Category ID: How To Get Current Category ID in Magento 2

E-commerce in India: Indian eCommerce Business in 2021

The increasing influence of the Internet in India is becoming very widespread day by day. Due to the increasing influence of the Internet, you cannot ignore its commercial spread. In this growing business, online shopping has also spread a lot in India, and E-commerce in India has yet to be widely spread.

The use of the Internet in India is becoming very widespread, due to which there is a huge market for Internet users.

Internet users are going to grow in large numbers in the coming few years, so surely the market is also going to become very big.

E-Commerce in India in 2021

 

Biggest E-Commerce Users in World by 2021

India has an internet user base of around 40% of its population by 2021 and such a large internet user base makes it the second-largest user in the whole world.

It is followed by China, the United States, France, which is 48% of their population, the USA 84%, and France 81% respectively.

 

E-Commerce in India Biggest Acquisition and Mergers

Here we are showing you the data which has been prepared according to Grant Thronton's report.

The fast-growing Indian e-commerce industry today has taken a huge form by 2021 and it will see tremendous growth in the coming ten years.

Date

Merger/Acquisition

Companies Involved

Cost

May 2014 Acquisition Flipkart acquires Myntra US$300 million
March 2015 Acquisition Snapdeal acquires Unicommerce Undisclosed
April 2015 Acquisition Snapdeal acquires FreeCharge US$400 million
April 2016 Acquisition Flipkart acquires PhonePe Undisclosed
June 2016 Acquisition Myntra (owned by Flipkart) acquires Jabong US$70 million
July 2017 Acquisition Axis Bank acquires FreeCharge US$60 million
May 2018 Acquisition Walmart acquires Flipkart US$16 billion
January 2020 Acquisition Zomato acquires Uber Eats US$350 million

 

The infrastructure of The Indian E-Commerce Store 2021

Although there are many hosting companies in India that are doing their job very well, when it comes to quality as well as affordable price, then some major companies like Google Amazon, etc. have been able to expand their market.

Some companies offer SaaS to host web stores.

Google India launched Great Online Shopping in 2012 by partnering with e-commerce companies including Flipkart, HomeShop18, Snapdeal, IndiaTimes Shopping, and MakeMyTrip.

Under Indian rules, foreign e-commerce companies cannot keep their inventory in India.

 

E-commerce in India Challenges

To be successful in the e-commerce field, you have to go through many challenges such as:

  • Logistics
  • Infrastructure
  • Competitive Analysis
  • Digitization of Available Networks
  • Mode of Transactions

The e-commerce sector in India is also facing many problems apart from these like operational, management, regulatory, and compliance as well as fluctuating customer demands.

Hire Online Shopping Application 2 Developers

 

Conclusion

You have to do a lot of hard work to be successful in the e-commerce sector in India even on a small scale. But you can earn big profits by adopting some measures.

Some of the main reasons to pay attention to your software and make your web application run smoothly.

 

Realated Post:

Magento Store: Best 36 Magento Website Examples in The World

Best 10 Online Shopping Websites

API Log Checker: How To Check Magento 2 Web API Log Details

This Wishusucess web API log checker module is basically developed for checking all the incoming requests on the Magento 2 store from different websites.

So you can use this web API module to check the error log in your Magento 2 store.

If you are not sure how a request is coming on your site and you want to check the log details with all the filled data with the send method of the API request then you can use this module.

Also if you are not sure how the data is coming or in which formate API request is coming so you can check the error log in var/webapi_rest/ folder for the API error log.

API Log Checker in Magento 2

 

Magento 2 API Log Checker Extension

So, in order to create this module, you have to create a plugin first then we can use that method in the logger handler class.

So here we have created some files, you have to follow this structure to create success in your app code directory.

app/code/Wishusucess/WebApiLog/registration.php

app/code/Wishusucess/WebApiLog/etc/module.xml

app/code/Wishusucess/WebApiLog/webapi_rest/di.xml

app/code/Wishusucess/WebApiLog/Plugin/Rest/Api.php

app/code/Wishusucess/WebApiLog/Logger/Handler.php

app/code/Wishusucess/WebApiLog/Logger/Handler/Debug.php

 

Step 1: Registration

app/code/Wishusucess/WebApiLog/registration.php

<?php
/**
* Developer: Hemant Singh Magento 2x Developer
* Category: Wishusucess_WebApiLog 
* Website: http://www.wishusucess.com/
*/
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Wishusucess_WebApiLog',
__DIR__
);

 

Step 2: Web API Module Information

This file is all about the web API module basic information like the version of the web API logger module and that module name.

app/code/Wishusucess/WebApiLog/etc/module.xml

<?xml version="1.0"?>
<!--
/**
* Developer: Hemant Singh Magento 2x Developer
* Category: Wishusucess_WebApiLog
* Website: http://www.wishusucess.com/
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Wishusucess_WebApiLog" setup_version="0.0.1" />
</config>

 

Step 3: API Log Checker Dependency Injection

Here, we have defined the preferences of the plugin which we are going to create in the Plugin folder.

So the plugin type of Magento\Webapi\Controller\Rest we have defined here and logger argument Wishusucess\WebApiLog\Logger\Handler also we have given here.

app/code/Wishusucess/WebApiLog/webapi_rest/di.xml

<?xml version="1.0"?>
<!--
/**
* Developer: Hemant Singh Magento 2x Developer
* Category: Wishusucess_WebApiLog
* Website: http://www.wishusucess.com/
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Webapi\Controller\Rest">
<plugin name="Wishusucess\WebApiLog" type="Wishusucess\WebApiLog\Plugin\Rest\Api" />
</type>
<type name="Magento\Framework\Webapi\Rest\Response">
<plugin name="Wishusucess\WebApiLog" type="Wishusucess\WebApiLog\Plugin\Rest\Api" />
</type>
<type name="Wishusucess\WebApiLog\Logger\Handler">
<arguments>
<argument name="name" xsi:type="string">webapi_logger</argument>
<argument name="handlers" xsi:type="array">
<item name="debug" xsi:type="object">Wishusucess\WebApiLog\Logger\Handler\Debug</item>
</argument>
</arguments>
</type>
</config>

 

Step 4: Plugin of API Log Checker

Here, we will check how the request is functioning and proceeding for the next.

So in order to change the behavior of Magento 2 rest API core class file, we have added some method which is aroundDispatch() and afterSendResponse() that two methods are going to change the existing behavior and will recreate new behavior of the class file.

Another method is the isAuthorizationRequest() function that will check whether the incoming request is authorized or not and that incoming request should be admin token authorized then only that will create the log details.

app/code/Wishusucess/WebApiLog/Plugin/Rest/Api.php

<?php
/**
* Developer: Hemant Singh Magento 2x Developer
* Category: Wishusucess_WebApiLog Get Product Image URL Using REST API
* Website: http://www.wishusucess.com/
*/
namespace Wishusucess\WebApiLog\Plugin\Rest;

class Api
{
/** @var \Wishusucess\WebApiLog\Logger\Handler */
protected $logger;

/** @var array */
protected $currentRequest;

/**
* Rest constructor.
* @param \Wishusucess\WebApiLog\Logger\Handler $logger
*/
public function __construct(\Wishusucess\WebApiLog\Logger\Handler $logger)
{
$this->logger = $logger;
}

/**
* @param \Magento\Webapi\Controller\Rest $subject
* @param callable $proceed
* @param \Magento\Framework\App\RequestInterface $request
* @return mixed
*/
public function aroundDispatch(
\Magento\Webapi\Controller\Rest $subject,
callable $proceed,
\Magento\Framework\App\RequestInterface $request
) {
try {
$this->currentRequest = [
'is_api' => true,
'is_auth' => $this->isAuthorizationRequest($request->getPathInfo()),
'request' => [
'method' => $request->getMethod(),
'uri' => $request->getRequestUri(),
'version' => $request->getVersion(),
'headers' => [],
'body' => '',
],
'response' => [
'headers' => [],
'body' => '',
],
];
foreach ($request->getHeaders()->toArray() as $key => $value) {
$this->currentRequest['request']['headers'][$key] = $value;
}
$this->currentRequest['request']['body'] = $this->currentRequest['is_auth'] ?
'Request body is not available for authorization requests.' :
$request->getContent();
} catch (\Exception $exception) {
$this->logger->debug(sprintf(
'Exception when logging API request: %s (%s::%s)',
$exception->getMessage(),
$exception->getFile(),
$exception->getLine()
));
}

return $proceed($request);
}


public function afterSendResponse(
\Magento\Framework\Webapi\Rest\Response $subject,
$result
) {
try {
foreach ($subject->getHeaders()->toArray() as $key => $value) {
$this->currentRequest['response']['headers'][$key] = $value;
}
$this->currentRequest['response']['body'] = $this->currentRequest['is_auth'] ?
'Response body is not available for authorization requests.' :
$subject->getBody();
$this->logger->debug('', $this->currentRequest);
} catch (\Exception $exception) {
$this->logger->debug('Exception when logging API response: ' . $exception->getMessage());
}

return $result;
}

/**
* @param string $path
* @return bool
*/
protected function isAuthorizationRequest(string $path) : bool
{
return preg_match('/integration\/(admin|customer)\/token/', $path) !== 0;
}
}

 

Step 5: WebApiLog Handler

app/code/Wishusucess/WebApiLog/Logger/Handler.php

<?php
/**
* Developer: Hemant Singh Magento 2x Developer
* Category: Wishusucess_WebApiLog Get Product Image URL Using REST API
* Website: http://www.wishusucess.com/
*/
namespace Wishusucess\WebApiLog\Logger;

class Handler extends \Monolog\Logger
{
}

 

Step 6: Web API Log Checker Debug

Now, this is the last step to get completed of this module so here we have to define how that log should be written in the file and where that log file should be created.

So for that two functionality, we will use two methods which are written (array $record) and another method is createDir($url).

app/code/Wishusucess/WebApiLog/Logger/Handler/Debug.php

<?php
/**
* Developer: Hemant Singh Magento 2x Developer
* Category: Wishusucess_WebApiLog Get Product Image URL Using REST API
* Website: http://www.wishusucess.com/
*/
namespace Wishusucess\WebApiLog\Logger\Handler;

class Debug extends \Magento\Framework\Logger\Handler\Debug
{
/** @var string */
private $errorMessage;

/** @var boolean */
private $dirCreated;

/**
* @param array $record
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function write(array $record)
{
if (!isset($record['context']['is_api']) || !$record['context']['is_api']) {
parent::write($record);
return;
}
$result = preg_match('/\/V1\/([^?]*)/', $record['context']['request']['uri'], $matches);
$url = sprintf(
'%s/var/log/webapi_%s/%s/%s.log',
BP,
'rest',
$result && count($matches) && $matches[1] ? trim($matches[1], '/') : 'default',
$record['datetime']->format('Ymd_His')
);

$logDir = $this->filesystem->getParentDirectory($url);
if (!$this->filesystem->isDirectory($logDir)) {
$this->filesystem->createDirectory($logDir);
}

$stream = null;

if (!is_resource($stream)) {
if (!$url) {
throw new \LogicException('Missing stream url, the stream can not be opened.');
}
$this->createDir($url);
$this->errorMessage = null;
set_error_handler(array($this, 'customErrorHandler'));
$stream = fopen($url, 'a');
if ($this->filePermission !== null) {
@chmod($url, $this->filePermission);
}
restore_error_handler();
if (!is_resource($stream)) {
$stream = null;
throw new \Magento\Framework\Exception\LocalizedException(
__('The stream or file "%1" could not be opened: %2', $url, $this->errorMessage)
);
}
}

if ($this->useLocking) {
flock($stream, LOCK_EX);
}

$request = $record['context']['request'];
$data = '';
$data .= sprintf("%s %s HTTP %s\n\n", $request['method'], $request['uri'], $request['version']);
foreach ($record['context']['request']['headers'] as $key => $value) {
$data .= sprintf("%s: %s\n", $key, $value);
}
$data .= sprintf("\n%s\n\n", $request['body']);
foreach ($record['context']['response']['headers'] as $key => $value) {
$data .= sprintf("%s: %s\n", $key, $value);
}
$data .= sprintf("\n%s\n", $record['context']['response']['body']);

fwrite($stream, $data);

if ($this->useLocking) {
flock($stream, LOCK_UN);
}

if (is_resource($stream)) {
fclose($stream);
}
$stream = null;
}

/**
* @param $code
* @param $msg
*/
private function customErrorHandler($code, $msg)
{
$this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg);
}

/**
* @param string $stream
*
* @return null|string
*/
private function getDirFromStream($stream)
{
$pos = strpos($stream, '://');
if ($pos === false) {
return dirname($stream);
}

if ('file://' === substr($stream, 0, 7)) {
return dirname(substr($stream, 7));
}

return;
}

/**
* @param $url
* @throws \Magento\Framework\Exception\LocalizedException
*/
private function createDir($url)
{
if ($this->dirCreated) {
return;
}

$dir = $this->getDirFromStream($url);
if (null !== $dir && !is_dir($dir)) {
$this->errorMessage = null;
set_error_handler(array($this, 'customErrorHandler'));
$status = mkdir($dir, 0777, true);
restore_error_handler();
if (false === $status) {
throw new \Magento\Framework\Exception\LocalizedException(
__('There is no existing directory at "%1" and its not buildable: %2', $dir, $this->errorMessage)
);
}
}
$this->dirCreated = true;
}
}

 

Recommended Post:

Featured Product API: Get Featured Product Using Magento 2 REST API

How To Call Magento 2 REST API For Customer Account Update

 

GitHub Download Link

Certbolt CompTIA Security+ Certification: How to Correctly Study For Performance-Based Exam Questions

Speaking of the Certbolt CompTIA Security+ certification, it validates your theoretical and hands-on knowledge of safeguarding an organization’s network system. In more detail, such a certificate and its affiliated exam coded Certbolt SY0-601 ensure you have the skills to assess the security conditions of an enterprise, proffer & implement security solutions, and monitor as well as ensure the security of hybrid environments.

As you’d expect, the actual Security+ Practice Test, in particular, uses multiple-choice questions to assess your expertise, but that's a pretty straightforward type to answer that doesn’t give applicants much trouble.

However, apart from multiple choices, the vendor also checks your skills via performance-based questions that, on the contrary, many candidates find challenging to solve. Therefore, this article aims to give you some tips on preparing for the performance-based tasks in your forthcoming Security+ exam.

Certbolt CompTIA Security+ Certification

What Are Performance-Based Questions? How to Easily Nail Them?

In a nutshell, performance-based questions present a problem in a simulated IT environment and require you to demonstrate your skills in solving the problem as per the given task. Unlike multiple-choice items, this format doesn’t provide you with options and doesn’t expect you to pick the right answer. Consequently, the performance-based section of the SY0-601 test is more demanding than the Certbolt MCQ one. That being said, below are a few efficient ways to prepare for such questions on the final exam:

 

1. Learn for the future job, not for the exam: Certbolt CompTIA Security

When studying for the exam, it’s always good to learn for future professional duties rather than for the certification exam, and this also concerns the Security+ SY0-601 evaluation. PBQs are real practical knowledge boosters due to the fact that they require you to think about the problem, assess the situation, and provide a solution. So, by working with tasks like these, you put yourself in a real-life scenario that helps you dive into the daily work routine of a security specialist, and thus, you enhance the hands-on dexterity necessary for your prospective job.

 

2. Practice Your Skills

Whatever theoretical knowledge you've amassed during your study time may prove useless if you do not know how to use it in a real situation.

That's why it's crucial to practice with PBQs as much as possible beforehand. For example, you can use virtual labs to do this, or you can opt for third-party exam dumps. Training the performance-based questions in the exam-like environment, you’ll gain skills and confidence to tackle questions at the real exam. Thus, you will be fully prepared for the final ExamLabs.com.

 

3. Make Friends With Time Management

This particular hack has more to do with the process of writing the whole exam. Anyway, here’s the tip: if you don't feel confident about answering a question just yet, you can either move on to the next one or skip the entire performance-based section, work on the less time-consuming multiple-choice items, and then come back to the Certbolt PBQs you left later on. The goal is to provide correct answers to as many questions as possible within the total duration of the SY0-601 exam, which is just 90 minutes. Thus, to achieve this goal, you have to stay calm and not rush as you take on the test questions, even if they are performance-based. This is an important part of your success.

 

Conclusion

As you understand, if you study the exam domains, tailor your learning in line with the exam goals, practice with dumps, and keep calm under test conditions, you will be able to remember what you studied and excel at the CompTIA Security+ certification exam. And if you’re puzzled with how to solve the PBQs that is an immense part of the main SY0-601 evaluation, read this post and feel relieved to know that it is more than possible! Good luck!

 

Suggested Post:

Certbolt Microsoft: Passing Certbolt Microsoft MS-100 Exam with Dumps

Obtain Your Certbolt CompTIA Security+ Certification at The First Attempt By Using Dumps

 

Other Post:

Elasticsearch: How to Install Elasticsearch in Ubuntu 18.04

Magento 2.4 Installation Guide: How to Install Magento 2.4.2

Obtain Your Certbolt CompTIA Security+ Certification at The First Attempt By Using Dumps

Preparation for the exams can be often tough and stressful. Sometimes it is not enough to simply study with help of books and online courses. You might just have to take additional steps, especially if you have limited time. And if you are one of those who are preparing to obtain an IT certification like the Certbolt CompTIA Security+ precisely, you can take advantage of the use of relevant dumps, which can serve as a supplement to the officially available training options. So, in this article, you are about to learn how exam dumps can help you pass the required test - which can be either the old version Security+ Practice Test or the new one (SY0-601).

 

What are Dumps? - Certbolt CompTIA

Basically, dumps are files that contain questions and answers which have been verified by experts in the relevant technical area. These questions and answers are usually based on previous accreditation exams, and compiled by previous test-takers. Thus, dumps are simply designed to help candidates pass their certification exams with less difficulty than normal, thereby culminating in the eventual attainment of the associated certificates.

 

Certbolt CompTIA Security

How Dumps Ease Your Obtainment of the CompTIA Security+ Accreditation

Depending on the candidate's learning style, everyone uses dumps differently when preparing for the CompTIA Security+ Certification Practice Test. Below are your options for how and when you might benefit from exam dumps.

 

  • Exam Dumps Familiarize You With the Real Test

One of the major things that the employment of dumps helps you with is the feeling it gives you of the real exam. In other words, by practicing with the compiled questions, you get to have an idea of the kinds of tasks to expect, the types of questions used, and know the topics covered in the exam. Thus, you get to solidify your chances of passing the CompTIA Security+ official exam and achieving the associated certificate.

 

  • Regular Practice with Dumps Helps Boost Your Confidence

Since exam dumps are capable of getting you familiar with the real Security+ exam, they will consequently help increase your confidence levels. This simply means that this training tool stands tall as your best bet, in case you need an effective way to defeat your anxiety, hence ensuring you sail through the Security+ final exam.

 

  • Dumps Help You Know Your Weak Points: Certbolt CompTIA

If you specifically want to know your areas of weakness and your areas of strength, then exam dumps are right there to help you do just that. While training with them you can track your results, as the files are downloaded in the special software. This helps you find the topics you are weak in and saves your time and money, as you gain the opportunity to ace them before the exam day.

 

  • Dumps Help You Achieve Efficient Time Management

It is not new to hear people complain about the insufficiency of time during exam preparation. Fortunately, regular practice with dumps can take you out of that group! You know how? Simply, training in the exam-like environment, you can improve your time management skill by timing yourself anytime you’re solving the practice test. This way you will learn how to properly allocate your time, and not get nervous in the face of limited time on a formal exam.

 

Conclusion

In short, the use of dumps can go a long way in helping you achieve the CompTIA Security+ certification. You should, however, bear in mind that dumps are better used in addition to other training options provided via the official CompTIA website such as study guides, virtual labs, and video training. Only a comprehensive approach will lead you to success. Good luck!

 

Suggested Post:

Certbolt Microsoft: Passing Certbolt Microsoft MS-100 Exam with Dumps

 

Other Post:

Elasticsearch: How to Install Elasticsearch in Ubuntu 18.04

Magento 2.4 Installation Guide: How to Install Magento 2.4.2

World Health Organization (WHO): Structure, Controversies

World Health Organization (WHO): Structure, Controversies

The World Health Organization (WHO) is a specialized agency of the United Nations responsible for international public health. The WHO Constitution, which establishes the agency's governing structure and principles, states its main objective as "the attainment by all peoples of the highest possible level of health." It is headquartered in Geneva, Switzerland, with six semi-autonomous regional offices and 150 field offices worldwide.

The WHO was established by constitution on 7 April 1948,[3] which is commemorated as World Health Day. The first meeting of the World Health Assembly (WHA), the agency's governing body, took place on 24 July 1948. The WHO incorporated the assets, personnel, and duties of the League of Nations' Health Organisation and the Office International d'Hygiène Publique, including the International Classification of Diseases (ICD). Its work began in earnest in 1951 following a significant infusion of financial and technical resources.

The WHO's broad mandate includes advocating for universal healthcare, monitoring public health risks, coordinating responses to health emergencies, and promoting human health and well being. It provides technical assistance to countries, sets international health standards and guidelines, and collects data on global health issues through the World Health Survey. Its flagship publication, the World Health Report, provides expert assessments of global health topics and health statistics on all nations. The WHO also serves as a forum for summits and discussions on health issues.

The WHO has played a leading role in several public health achievements, most notably the eradication of smallpox, the near-eradication of polio, and the development of an Ebola vaccine. Its current priorities include communicable diseases, particularly HIV/AIDS, Ebola, malaria and tuberculosis; non-communicable diseases such as heart disease and cancer; healthy diet, nutrition, and food security; occupational health; and substance abuse.

The WHA, composed of representatives from all 194 member states, serves as the agency's supreme decision-making body. It also elects and advises an Executive Board made up of 34 health specialists. The WHA convenes annually and is responsible for selecting the Director-General, setting goals and priorities, and approving the WHO's budget and activities. The current Director-General is Tedros Adhanom, former Health Minister and Foreign Minister of Ethiopia, who began his five-year term on 1 July 2017.

The WHO relies on contributions from member states (both assessed and voluntary) and private donors for funding. As of 2018, it has a budget of over $4.2 billion, a large part of which comes from voluntary contributions from member states. Contributions are assessed by a formula which includes GDP per capita. In 2018–19, the US contributed 15% of the WHO's $5.6 billion budget, the EU and its member states contributed 11%, while China contributed 0.2%. The agency is part of the United Nations Sustainable Development Group.

World Health Organization History

 

Key Description:


Abbreviation: WHO

Formation 7 April 1948; 72 years ago

Type: United Nations specialized agency

Headquarters: Geneva, Switzerland

Head:

  • Tedros Adhanom (Director-General)
  • Soumya Swaminathan (deputy Director-General)
  • Jane Ellison (deputy Director-General)

Parent Organization: United Nations Economic and Social Council

Website: www.who.int

Social Network: Facebook, Twitter, YouTube, Instagram

 

World Health Organization History And Development:


Origins: The International Sanitary Conferences, originally held on 23 June 1851, were the first predecessors of the WHO. A series of 14 conferences that lasted from 1851 to 1938, the International Sanitary Conferences worked to combat many diseases, chief among them cholera, yellow fever, and the bubonic plague. The conferences were largely ineffective until the seventh, in 1892; when an International Sanitary Convention that dealt with cholera was passed.

Five years later, a convention for the plague was signed. In part as a result of the successes of the Conferences, the Pan-American Sanitary Bureau (1902), and the Office International d'Hygiène Publique (1907) were soon founded. When the League of Nations was formed in 1920, they established the Health Organization of the League of Nations. After World War II, the United Nations absorbed all the other health organizations, to form the WHO.

 

WHO Establishment


During the 1945 United Nations Conference on International Organization, Szeming Sze, a delegate from the Republic of China, conferred with Norwegian and Brazilian delegates on creating an international health organization under the auspices of the new United Nations. After failing to get a resolution passed on the subject, Alger Hiss, the Secretary General of the conference, recommended using a declaration to establish such an organization. Sze and other delegates lobbied and a declaration passed calling for an international conference on health. The use of the word "world", rather than "international", emphasized the truly global nature of what the organization was seeking to achieve. The constitution of the World Health Organization was signed by all 51 countries of the United Nations, and by 10 other countries, on 22 July 1946. It thus became the first specialized agency of the United Nations to which every member subscribed. Its constitution formally came into force on the first World Health Day on 7 April 1948, when it was ratified by the 26th member state.

The first meeting of the World Health Assembly finished on 24 July 1948, having secured a budget of US$5 million (then GB£1,250,000) for the 1949 year. Andrija Štampar was the Assembly's first president, and G. Brock Chisholm was appointed Director-General of WHO, having served as Executive Secretary during the planning stages. Its first priorities were to control the spread of malaria, tuberculosis and sexually transmitted infections, and to improve maternal and child health, nutrition and environmental hygiene. Its first legislative act was concerning the compilation of accurate statistics on the spread and morbidity of disease. The logo of the World Health Organization features the Rod of Asclepius as a symbol for healing.

 

Operational history of World Health Organization


1947: The WHO established an epidemiological information service via telex, and by 1950 a mass tuberculosis inoculation drive using the BCG vaccine was under way.

1955: The malaria eradication programme was launched, although it was later altered in objective. 1955 saw the first report on diabetes mellitus and the creation of the International Agency for Research on Cancer.

1958: Viktor Zhdanov, Deputy Minister of Health for the USSR, called on the World Health Assembly to undertake a global initiative to eradicate smallpox, resulting in Resolution WHA11.54. At this point, 2 million people were dying from smallpox every year.

1966: The WHO moved its headquarters from the Ariana wing at the Palace of Nations to a newly constructed HQ elsewhere in Geneva.

1967: The WHO intensified the global smallpox eradication by contributing $2.4 million annually to the effort and adopted a new disease surveillance method. The initial problem the WHO team faced was inadequate reporting of smallpox cases. WHO established a network of consultants who assisted countries in setting up surveillance and containment activities. The WHO also helped contain the last European outbreak in Yugoslavia in 1972. After over two decades of fighting smallpox, the WHO declared in 1979 that the disease had been eradicated – the first disease in history to be eliminated by human effort.

1967: The WHO launched the Special Programme for Research and Training in Tropical Diseases and the World Health Assembly voted to enact a resolution on Disability Prevention and Rehabilitation, with a focus on community-driven care.

1974: The Expanded Programme on Immunization and the control programme of onchocerciasis was started, an important partnership between the Food and Agriculture Organization (FAO), the United Nations Development Programme (UNDP), and the World Bank.

1977: The first list of essential medicines was drawn up, and a year later the ambitious goal of "Health For All" was declared.

1986: The WHO began its global programme on HIV/AIDS. Two years later preventing discrimination against sufferers was attended to and in 1996 UNAIDS was formed.

1988: The Global Polio Eradication Initiative was established.

1998: WHO's Director-General highlighted gains in child survival, reduced infant mortality, increased life expectancy and reduced rates of "scourges" such as smallpox and polio on the fiftieth anniversary of WHO's founding. He, did, however, accept that more had to be done to assist maternal health and that progress in this area had been slow.

2000: The Stop TB Partnership was created along with the UN's formulation of the Millennium Development Goals.

2001: The measles initiative was formed, and credited with reducing global deaths from the disease by 68% by 2007.

2002: The Global Fund to Fight AIDS, Tuberculosis and Malaria was drawn up to improve the resources available.

2006: The organization endorsed the world's first official HIV/AIDS Toolkit for Zimbabwe, which formed the basis for global prevention, treatment, and support the plan to fight the AIDS pandemic.

Overall focus

The WHO's Constitution states that its objective "is the attainment by all people of the highest possible level of health".

The WHO fulfills this objective through its functions as defined in its Constitution: (a) To act as the directing and coordinating authority on international health work; (b) To establish and maintain effective collaboration with the United Nations, specialized agencies, governmental health administrations, professional groups and such other organizations as may be deemed appropriate; (c) To assist Governments, upon request, in strengthening health services; (d) To furnish appropriate technical assistance and, in emergencies, necessary aid upon the request or acceptance of Governments; (e) To provide or assist in providing, upon the request of the United Nations, health services and facilities to special groups, such as the peoples of trust territories; (f) To establish and maintain such administrative and technical services as may be required, including epidemiological and statistical services; (g) to stimulate and advance work to eradicate epidemic, endemic and other diseases; (h) To promote, in co-operation with other specialized agencies where necessary, the prevention of accidental injuries; (i) To promote, in co-operation with other specialized agencies where necessary, the improvement of nutrition, housing, sanitation, recreation, economic or working conditions and other aspects of environmental hygiene; (j) To promote co-operation among scientific and professional groups which contribute to the advancement of health; (k) To propose conventions, agreements and regulations, and make recommendations with respect to international health matters and to perform.

As of 2012, the WHO has defined its role in public health as follows:

  • Providing leadership on matters critical to health and engaging in partnerships where joint action is needed;
  • Shaping the research agenda and stimulating the generation, translation, and dissemination of valuable knowledge;
  • Setting norms and standards and promoting and monitoring their implementation;
  • Articulating ethical and evidence-based policy options;
  • Providing technical support, catalysing change, and building sustainable institutional capacity; and
  • Monitoring the health situation and assessing health trends.
  • CRVS (civil registration and vital statistics) to provide monitoring of vital events (birth, death, wedding, divorce).

 

Governance And Support of WHO


The remaining two of WHO's thirteen identified policy areas relate to the role of WHO itself:

  • "to provide leadership, strengthen governance and foster partnership and collaboration with countries, the United Nations system, and other stakeholders in order to fulfill the mandate of WHO in advancing the global health agenda"; and
  • "to develop and sustain WHO as a flexible, learning organization, enabling it to carry out its mandate more efficiently and effectively".

Partnerships of World Health Organization

The WHO along with the World Bank constitute the core team responsible for administering the International Health Partnership (IHP+). The IHP+ is a group of partner governments, development agencies, civil society, and others committed to improving the health of citizens in developing countries. Partners work together to put international principles for aid effectiveness and development co-operation into practice in the health sector.

The organization relies on contributions from renowned scientists and professionals to inform its work, such as the WHO Expert Committee on Biological Standardization, the WHO Expert Committee on Leprosy, and the WHO Study Group on Interprofessional Education & Collaborative Practice.

WHO runs the Alliance for Health Policy and Systems Research, targeted at improving health policy and systems.

WHO also aims to improve access to health research and literature in developing countries such as through the HINARI network.

WHO collaborates with The Global Fund to Fight AIDS, Tuberculosis and Malaria, UNITAID, and the United States President's Emergency Plan for AIDS Relief to spearhead and fund the development of HIV programs.

WHO created the Civil Society Reference Group on HIV, which brings together other networks that are involved in policy making and the dissemination of guidelines.

WHO, a sector of the United Nations, partners with UNAIDS to contribute to the development of HIV responses in different areas of the world.

WHO facilitates technical partnerships through the Technical Advisory Committee on HIV, which they created to develop WHO guidelines and policies.

In 2014, WHO released the Global Atlas of Palliative Care at the End of Life in a joint publication with the Worldwide Hospice Palliative Care Alliance, an affiliated NGO working collaboratively with the WHO to promote palliative care in national and international health policy.

Public health education and action

Each year, the organization marks World Health Day and other observances focusing on a specific health promotion topic. World Health Day falls on 7 April each year, timed to match the anniversary of WHO's founding. Recent themes have been vector-borne diseases (2014), healthy ageing (2012) and drug resistance (2011).

The other official global public health campaigns marked by WHO are World Tuberculosis Day, World Immunization Week, World Malaria Day, World No Tobacco Day, World Blood Donor Day, World Hepatitis Day, and World AIDS Day.

As part of the United Nations, the World Health Organization supports work towards the Millennium Development Goals. Of the eight Millennium Development Goals, three – reducing child mortality by two-thirds, to reduce maternal deaths by three-quarters, and to halt and begin to reduce the spread of HIV/AIDS – relate directly to WHO's scope; the other five inter-relate and affect world health.

 

WHO Data Handling And Publications


The World Health Organization works to provide the needed health and well-being evidence through a variety of data collection platforms, including the World Health Survey covering almost 400,000 respondents from 70 countries, and the Study on Global Aging and Adult Health (SAGE) covering over 50,000 persons over 50 years old in 23 countries. The Country Health Intelligence Portal (CHIP), has also been developed to provide an access point to information about the health services that are available in different countries. The information gathered in this portal is used by the countries to set priorities for future strategies or plans, implement, monitor, and evaluate it.

The WHO has published various tools for measuring and monitoring the capacity of national health systems and health workforces. The Global Health Observatory (GHO) has been the WHO's main portal which provides access to data and analyses for key health themes by monitoring health situations around the globe.

The WHO Assessment Instrument for Mental Health Systems (WHO-AIMS), the WHO Quality of Life Instrument (WHOQOL), and the Service Availability and Readiness Assessment (SARA) provide guidance for data collection. Collaborative efforts between WHO and other agencies, such as through the Health Metrics Network, also aim to provide sufficient high-quality information to assist governmental decision making. WHO promotes the development of capacities in member states to use and produce research that addresses their national needs, including through the Evidence-Informed Policy Network (EVIPNet). The Pan American Health Organization (PAHO/AMRO) became the first region to develop and pass a policy on research for health approved in September 2009.

On 10 December 2013, a new WHO database, known as MiNDbank, went online. The database was launched on Human Rights Day, and is part of WHO's QualityRights initiative, which aims to end human rights violations against people with mental health conditions. The new database presents a great deal of information about mental health, substance abuse, disability, human rights, and the different policies, strategies, laws, and service standards being implemented in different countries. It also contains important international documents and information. The database allows visitors to access the health information of WHO member states and other partners. Users can review policies, laws, and strategies and search for the best practices and success stories in the field of mental health.

The WHO regularly publishes a World Health Report, its leading publication, including an expert assessment of a specific global health topic. Other publications of WHO include the Bulletin of the World Health Organization, the Eastern Mediterranean Health Journal (overseen by EMRO), the Human Resources for Health (published in collaboration with BioMed Central), and the Pan American Journal of Public Health (overseen by PAHO/AMRO).

In 2016, the World Health Organization drafted a global health sector strategy on HIV. In the draft, the World Health Organization outlines its commitment to ending the AIDS epidemic by the year 2030 with interim targets for the year 2020. To make achievements towards these targets, the draft lists actions that countries and the WHO can take, such as a commitment to universal health coverage, medical accessibility, prevention and eradication of disease, and efforts to educate the public. Some notable points made in the draft include addressing gender inequity where females are nearly twice as likely as men to get infected with HIV and tailoring resources to mobilized regions where the health system may be compromised due to natural disasters, etc. Among the points made, it seems clear that although the prevalence of HIV transmission is declining, there is still a need for resources, health education, and global efforts to end this epidemic.

 

World Health Organization (WHO) Structure


The World Health Organization is a member of the United Nations Development Group.

Membership

As of 2020, the WHO has 194 member states: all of the member states of the United Nations except for Liechtenstein, plus the Cook Islands and Niue. (A state becomes a full member of WHO by ratifying the treaty known as the Constitution of the World Health Organization.) As of 2013, it also had two associate members, Puerto Rico and Tokelau. Several other countries have been granted observer status. Palestine is an observer as a "national liberation movement" recognized by the League of Arab States under United Nations Resolution 3118. The Holy See also attends as an observer, as does the Order of Malta. The government of Taiwan was allowed to participate under the designation ‘Chinese Taipei’ as an observer from 2009–2016, but has not been invited again since. In July 2020 the United States officially indicated its intent to withdraw, to take effect 6 July 2021.

WHO member states appoint delegations to the World Health Assembly, the WHO's supreme decision-making body. All UN member states are eligible for WHO membership, and, according to the WHO website, "other countries may be admitted as members when their application has been approved by a simple majority vote of the World Health Assembly". The World Health Assembly is attended by delegations from all member states, and determines the policies of the organization.

The executive board is composed of members technically qualified in health and gives effect to the decisions and policies of the World Health Assembly. In addition, the UN observer organizations International Committee of the Red Cross and International Federation of Red Cross and Red Crescent Societies have entered into "official relations" with WHO and are invited as observers. In the World Health Assembly, they are seated alongside the other NGOs.

World Health Assembly and Executive Board

The World Health Assembly (WHA) is the legislative and supreme body of WHO. Based in Geneva, it typically meets yearly in May. It appoints the Director-General every five years and votes on matters of policy and finance of WHO, including the proposed budget. It also reviews reports of the Executive Board and decides whether there are areas of work requiring further examination. The Assembly elects 34 members, technically qualified in the field of health, to the Executive Board for three-year terms. The main functions of the Board are to carry out the decisions and policies of the Assembly, to advise it and to facilitate its work. As of May 2020, the chairman of the executive board is Dr. Harsh Vardhan.

Director-General

The head of the organization is the Director-General, elected by the World Health Assembly. The term lasts for 5 years, and Directors-General are typically appointed in May, when the Assembly meets. The current Director-General is Dr. Tedros Adhanom Ghebreyesus, who was appointed on 1 July 2017.

Global institutions

Apart from regional, country and liaison offices, the World Health Assembly has also established other institutions for promoting and carrying on research.

  • International Agency for Research on Cancer (IARC)

Regional offices of WHO

The regional divisions of WHO were created between 1949 and 1952, and are based on article 44 of the WHO's constitution, which allowed the WHO to "establish a [single] regional organization to meet the special needs of [each defined] area". Many decisions are made at regional level, including important discussions over WHO's budget, and in deciding the members of the next assembly, which are designated by the regions.

Each region has a regional committee, which generally meets once a year, normally in the autumn. Representatives attend from each member or associative member in each region, including those states that are not full members. For example, Palestine attends meetings of the Eastern Mediterranean Regional office. Each region also has a regional office. Each regional office is headed by a director, who is elected by the Regional Committee. The Board must approve such appointments, although as of 2004, it had never over-ruled the preference of a regional committee. The exact role of the board in the process has been a subject of debate, but the practical effect has always been small. Since 1999, Regional directors serve for a once-renewable five-year term, and typically take their position on 1 February.

Each regional committee of the WHO consists of all the Health Department heads, in all the governments of the countries that constitute the Region. Aside from electing the regional director, the regional committee is also in charge of setting the guidelines for the implementation, within the region, of the health and other policies adopted by the World Health Assembly. The regional committee also serves as a progress review board for the actions of WHO within the Region.

The regional director is effectively the head of WHO for his or her region. The RD manages and/or supervises a staff of health and other experts at the regional offices and in specialized centres. The RD is also the direct supervising authority – concomitantly with the WHO Director-General – of all the heads of WHO country offices, known as WHO Representatives, within the region.

Region Headquarters Notes Website
Africa Brazzaville, Republic of the Congo AFRO includes most of Africa, with the exception of Egypt, Sudan, Djibouti, Tunisia, Libya, Somalia and Morocco (all fall under EMRO). The Regional Director is Dr. Matshidiso Moeti, a Botswanan national. (Tenure: – present). AFRO
Europe Copenhagen, Denmark EURO includes all of Europe (except Liechtenstein) Israel, and all of the former USSR. The Regional Director is Dr. Zsuzsanna Jakab, a Hungarian national (Tenure: 2010 – present). EURO
South-East Asia New Delhi, India North Korea is served by SEARO. The Regional Director is Dr. Poonam Khetrapal Singh, an Indian national (Tenure: 2014 – present). SEARO
Eastern Mediterranean Cairo, Egypt The Eastern Mediterranean Regional Office serves the countries of Africa that are not included in AFRO, as well as all countries in the Middle East except for Israel. Pakistan is served by EMRO. The Regional Director is Dr. Ahmed Al-Mandhari, an Omani national (Tenure: 2018 – present). EMRO
Western Pacific Manila, the Philippines WPRO covers all the Asian countries not served by SEARO and EMRO, and all the countries in Oceania. South Korea is served by WPRO. The Regional Director is Dr. Shin Young-soo, a South Korean national (Tenure: 2009 – present). WPRO
The Americas Washington, D.C., United States Also known as the Pan American Health Organization (PAHO), and covers the Americas. The WHO Regional Director is Dr. Carissa F. Etienne, a Dominican national (Tenure: 2013 – present). AMRO

 

WHO Employees


The WHO employs 7,000 people in 149 countries and regions to carry out its principles. In support of the principle of a tobacco-free work environment, the WHO does not recruit cigarette smokers. The organization has previously instigated the Framework Convention on Tobacco Control in 2003.

Goodwill Ambassadors

The WHO operates "Goodwill Ambassadors"; members of the arts, sports, or other fields of public life aimed at drawing attention to WHO's initiatives and projects. There are currently five Goodwill Ambassadors (Jet Li, Nancy Brinker, Peng Liyuan, Yohei Sasakawa and the Vienna Philharmonic Orchestra) and a further ambassador associated with a partnership project (Craig David).

Country and liaison offices

The World Health Organization operates 150 country offices in six different regions. It also operates several liaison offices, including those with the European Union, United Nations and a single office covering the World Bank and International Monetary Fund. It also operates the International Agency for Research on Cancer in Lyon, France, and the WHO Centre for Health Development in Kobe, Japan. Additional offices include those in Pristina; the West Bank and Gaza; the US-Mexico Border Field Office in El Paso; the Office of the Caribbean Program Coordination in Barbados; and the Northern Micronesia office. There will generally be one WHO country office in the capital, occasionally accompanied by satellite-offices in the provinces or sub-regions of the country in question.

The country office is headed by a WHO Representative (WR). As of 2010, the only WHO Representative outside Europe to be a national of that country was for the Libyan Arab Jamahiriya ("Libya"); all other staff were international. WHO Representatives in the Region termed the Americas are referred to as PAHO/WHO Representatives. In Europe, WHO Representatives also serve as Head of Country Office, and are nationals with the exception of Serbia; there are also Heads of Country Office in Albania, the Russian Federation, Tajikistan, Turkey, and Uzbekistan. The WR is member of the UN system country team which is coordinated by the UN System Resident Coordinator.

The country office consists of the WR, and several health and other experts, both foreign and local, as well as the necessary support staff. The main functions of WHO country offices include being the primary adviser of that country's government in matters of health and pharmaceutical policies.

World Health Organization Financing and partnerships

Present

The WHO is financed by contributions from member states and outside donors. As of 2020, the biggest contributor is the United States, which gives over $400 million annually. U.S. contributions to the WHO are funded through the U.S. State Department’s account for Contributions to International Organizations (CIO). In 2018 the largest contributors ($150+ each) were the United States, Bill & Melinda Gates Foundation, United Kingdom, Germany and GAVI Alliance.

In April 2020, U.S. President Donald Trump, supported by a group of members of his party, announced that his administration would halt funding to the WHO. Funds previously earmarked for the WHO were to be held for 60–90 days pending an investigation into WHO's handling of the COVID-19 pandemic, particularly in respect to the organization's purported relationship with China. The announcement was immediately criticized by world leaders including António Guterres, the secretary general of the United Nations; Heiko Maas, the German foreign minister; and Moussa Faki Mahamat, African Union chairman.

On 16 May, U.S. President Donald Trump and his administration agreed to pay up to what China pays in Assessed contributions, which is less than about one-tenth of its previous funding. China paid Biennium 2018–2019, for Assessed contributions US$75,796K, Specified voluntary contributions US$10,184K, Total US$85,980K.

No. Contributor Assessed contributions Voluntary contributions specified Total
(Biennium)
Share
1 United States of America 237 656 893 15.9%
2 Bill & Melinda Gates Foundation 531 531 9.4%
3 United Kingdom of Great Britain and Northern Ireland 43 335 435 7.7%
4 GAVI Alliance 371 371 6.6%
5 Germany 61 231 292 5.2%
6 Japan 93 122 214 3.8%
7 United Nations Office for the Coordination of Humanitarian Affairs (UNOCHA) 192 192 3.4%
8 Rotary International 143 143 2.5%
9 World Bank 133 133 2.4%
10 European Commission 131 131 2.3%
Others 524 1,484 2,289 40.7%
Total 957 4,328 5,624 100.0%

 

World Health Organization Controversies


IAEA – Agreement WHA 12–40

In 1959, the WHO signed Agreement WHA 12–40 with the International Atomic Energy Agency (IAEA). A selective reading of this document (clause 3) can result in the understanding that the IAEA is able to prevent the WHO from conducting research or work on some areas. The agreement states that the WHO recognizes the IAEA as having responsibility for peaceful nuclear energy without prejudice to the roles of the WHO of promoting health. The following paragraph adds:

whenever either organization proposes to initiate a programme or activity on a subject in which the other organization has or may have a substantial interest, the first party shall consult the other with a view to adjusting the matter by mutual agreement.

Roman Catholic Church and AIDS

In 2003, the WHO denounced the Roman Curia's health department's opposition to the use of condoms, saying: "These incorrect statements about condoms and HIV are dangerous when we are facing a global pandemic which has already killed more than 20 million people, and currently affects at least 42 million." As of 2009, the Catholic Church remains opposed to increasing the use of contraception to combat HIV/AIDS. At the time, the World Health Assembly President, Guyana's Health Minister Leslie Ramsammy, condemned Pope Benedict's opposition to contraception, saying he was trying to "create confusion" and "impede" proven strategies in the battle against the disease.

2009 swine flu pandemic

In 2007, the WHO organized work on pandemic influenza vaccine development through clinical trials in collaboration with many experts and health officials. A pandemic involving the H1N1 influenza virus was declared by the then Director-General Margaret Chan in April 2009. Margret Chan declared in 2010 that the H1N1 has moved into the post-pandemic period.

By the post-pandemic period critics claimed the WHO had exaggerated the danger, spreading "fear and confusion" rather than "immediate information". Industry experts countered that the 2009 pandemic had led to "unprecedented collaboration between global health authorities, scientists and manufacturers, resulting in the most comprehensive pandemic response ever undertaken, with a number of vaccines approved for use three months after the pandemic declaration. This response was only possible because of the extensive preparations undertaken during the last decade".

2013–2016 Ebola outbreak and reform efforts

Following the 2014 Ebola outbreak in West Africa, the organization was heavily criticized for its bureaucracy, insufficient financing, regional structure, and staffing profile.

An internal WHO report on the Ebola response pointed to underfunding and the lack of "core capacity" in health systems in developing countries as the primary weaknesses of the existing system. At the annual World Health Assembly in 2015, Director-General Margaret Chan announced a $100 million Contingency Fund for rapid response to future emergencies, of which it had received $26.9 million by April 2016 (for 2017 disbursement). WHO has budgeted an additional $494 million for its Health Emergencies Programme in 2016–17, for which it had received $140 million by April 2016.

The program was aimed at rebuilding WHO capacity for direct action, which critics said had been lost due to budget cuts in the previous decade that had left the organization in an advisory role dependent on member states for on-the-ground activities. In comparison, billions of dollars have been spent by developed countries on the 2013–2016 Ebola epidemic and 2015–16 Zika epidemic.

FCTC implementation database

The WHO has a Framework Convention on Tobacco implementation database which is one of the few mechanisms to help enforce compliance with the FCTC. However, there have been reports of numerous discrepancies between it and national implementation reports on which it was built. As researchers Hoffman and Rizvi report "As of July 4, 2012, 361 (32·7%) of 1104 countries' responses were misreported: 33 (3·0%) were clear errors (e.g., database indicated 'yes' when report indicated 'no'), 270 (24·5%) were missing despite countries having submitted responses, and 58 (5·3%) were, in our opinion, misinterpreted by WHO staff".

IARC controversies

The WHO sub-department, the International Agency for Research on Cancer (IARC), has been criticized for the way it analyses the tendency of certain substances and activities to cause cancer and for having a politically motivated bias when it selects studies for its analysis. Ed Yong, a British science journalist, has criticized the agency and its "confusing" category system for misleading the public. Marcel Kuntz, a French director of research at the French National Centre for Scientific Research, criticized the agency for its classification of potentially carcinogenic substances. He claimed that this classification did not take into account the extent of exposure: for example, red meat is qualified as probably carcinogenic, but the quantity of consumed red meat at which it could become dangerous is not specified.

Controversies have erupted multiple times when the IARC has classified many things as Class 2a (probable carcinogens) or 2b (possible carcinogen), including cell phone signals, glyphosate, drinking hot beverages, and working as a barber.

Taiwanese membership and participation

Between 2009 and 2016 Taiwan was allowed to attend WHO meetings and events as an observer but was forced to stop due to renewed pressure from China.

Political pressure from China has led to Taiwan being barred from membership of the WHO and other UN-affiliated organizations, and in 2017 to 2020 the WHO refused to allow Taiwanese delegates to attend the WHO annual assembly. According to Taiwanese publication The News Lens, on multiple occasions Taiwanese journalists have been denied access to report on the assembly.

In May 2018, the WHO denied access to its annual assembly by Taiwanese media, reportedly due to demands from China. Later in May 172 members of the United States House of Representatives wrote to the Director-General of the World Health Organization to argue for Taiwan's inclusion as an observer at the WHA. The United States, Japan, Germany, and Australia all support Taiwan's inclusion in WHO.

Travel expenses
According to The Associated Press, the WHO routinely spends about $200 million a year on travel expenses, more than it spends to tackle mental health problems, HIV/AIDS, Tuberculosis and Malaria combined. In 2016, Margaret Chan, Director-General of WHO from January 2007 to June 2017, stayed in a $1000-per-night hotel room while visiting West Africa.

Robert Mugabe's role as a goodwill ambassador

Ghebreyesus appointed former Zimbabwean president Robert Mugabe as a WHO Goodwill Ambassador to help promote the fight against non-communicable diseases. The appointment address praised Mugabe for his commitment to public health in Zimbabwe.

The appointment attracted widespread condemnation and criticism in WHO member states and international organizations due to Robert Mugabe's poor record on human rights and presiding over a decline in Zimbabwe's public health. Due to the outcry, the following day the appointment was revoked.

2019–20 COVID-19 pandemic

The WHO faced criticism from the United States' Trump administration while "guiding the world in how to tackle the deadly" COVID-19 pandemic.] The WHO created an Incident Management Support Team on 1 January 2020, one day after Chinese health authorities notified the organization of a cluster of pneumonia cases of unknown etiology. On 5 January the WHO notified all member states of the outbreak, and in subsequent days provided guidance to all countries on how to respond, and confirmed the first infection outside China. The organization warned of limited human-to-human transmission on 14 January, and confirmed human-to-human transmission one week later. On 30 January the WHO declared a Public Health Emergency of International Concern, considered a "call to action" and "last resort" measure for the international community. The WHO's recommendations were followed by many countries including Germany, Singapore and South Korea, but not by the United States. The WHO subsequently established a program to deliver testing, protective, and medical supplies to low-income countries to help them manage the crisis.

While organizing the global response to the COVID-19 pandemic and overseeing "more than 35 emergency operations" for cholera, measles and other epidemics internationally, the WHO has been criticized for praising China's public health response to the crisis while seeking to maintain a "diplomatic balancing act" between China and the United States. Commentators including John Mackenzie of the WHO's emergency committee and Anne Schuchat of the US CDC have stated that China's official tally of cases and deaths may be an underestimation. David Heymann, professor of infectious disease epidemiology at the London School of Hygiene and Tropical Medicine, said in response that "China has been very transparent and open in sharing its data... and they opened up all of their files with the WHO."

Kylie Cosmetics: Net Worth 2020, Makeup Products

Kylie Cosmetics is an American cosmetics company founded by media personality Kylie Jenner. The company began selling Kylie Lip Kits, a liquid lipstick and lip liner set on November 30, 2015. Formerly known as Kylie Lip Kits, the company was renamed Kylie Cosmetics.

Kylie Cosmetics

In 2018, Forbes reported the company was valued at $800 million, and in March 2019, valued the company at $900 million. Coty, Inc. bought a 51% controlling stake in the company for $600 million in November 2019. However, in early 2020 Forbes reported - citing documentation from the Coty deal - that Kylie Cosmetics had overvalued itself.

 

Key Description of Kylie Cosmetics:


Formerly: Kylie Lip Kits (2015–2016)

Type: Private

Industry: Cosmetics

Founded: 2014; 6 years ago

Founder: Kylie Jenner

Headquarters: Oxnard, California, United States

Area served: Worldwide

Key People: Kylie Jenner (Founder) Simona Centtaneo (ceo)

Products: Cosmetics, Beauty Products

Owner: Coty, Inc. (51%)

Kylie Jenner (41.1%)

Number of Employees: 12

Parent: Seed Beauty

Official: Website

Social Network: Facebook, Twitter, Instagram, LinkedIn

 

Background of Kylie Cosmetics


In 2014, Kylie Jenner and her mother Kris Jenner founded the company and partnered with Seed Beauty, a retail and product development company co-founded by siblings, John and Laura Nelson.

The companies first product Kylie Lip Kits, a liquid lipstick and lip liner, debuted on November 30, 2015.

The first 15,000 lip kits were produced by Seed Beauty and funded by Jenner at a cost of $250,000 from her modelling earnings.

The company was renamed to Kylie Cosmetics in February 2016 and production was increased to 500,000 kits. By the end of 2016, the company's total revenue was over $300 million.

Jenner has described her decision to use her former insecurity about her lip size as inspiration for her brand, saying it's "one of the most authentic things I've done in my career".

 

Business of Kylie Cosmetics


Collaborations And Collections:

Jenner has collaborated with several other celebrities on collections for Kylie Cosmetics. Some notable collaborations include Kim Kardashian-West, Khloe Kardashian, and Kourtney Kardashian. Most recently, Jenner has collaborated with her mother, Kris Jenner.

In November 2016, Kylie announced the very first Kylie Cosmetics collaboration called Koko X Kylie, where she teamed up with her half-sister, Khloe Kardashian.

In April 2017, Jenner announced her collaboration with her half-sister, Kim Kardashian-West, called KKW X Kylie. Kylie Cosmetics partnered with Kim Kardashian-West soon after the KKW release.

In May 2017, it was announced Koko X Kylie would be returning for a Part 2 of the half-sisters’ collaboration.

In a month long pop-up event in November 2017, seven TopShop stores across the US sold Kylie Cosmetics products.

In November 2018, Kylie Cosmetics began selling their products at Ulta. Many attribute the brand's success to Jenner's cosmetically altered lips.

In April 2018, Jenner announced her Kylie Cosmetics collaboration with her oldest half-sister, Kourtney Kardashian, called Kourt X Kylie.

On May 9, 2018, Kylie and Kris Jenner announced their collaboration called the Kris Kollection via Kylie's personal instagram.

The Mini Lip Set in the Kris Kollection, which includes eight mini liquid lipsticks, is aptly named “Momager”, a title in which Kris Jenner has personally taken on, and attempted to trademark, in recent years.

In addition to the "Momager" Lip Kit, the Kris Kollection includes lip glosses and a four pan pressed powder highlight/blush palette, which has created a lot of controversy online with both good and bad reviews. The collection was released just in time for Mother's Day.

On September 14, 2018, Kylie announced her new launch the Jordyn X Kylie collection, in celebration of her long term friendship Jordyn Woods.

On June 9, 2019, Kylie announced her collaboration with her half sister Khloé Kardashian for the third time.

In 2019, Kylie announced her collaboration with Oliver Rousteing the creative director for Balmain in the KylieXBalmain collection. Which launched on September 27 of that year.

 

Non-collaborative Collections:

In February 2018, Jenner released Kylie Cosmetics’ first non-collaborative collection: Weather. Jenner explained the collection is an ode to her daughter, Stormi, who inspired the collection and was born earlier that month.

In August 2019, Jenner released her Birthday Collection. This collection was for her 22nd birthday and included lip kits, an eyeshadow pallet, a face primer, matte lipsticks, jelly kylighters, an eyeliner, and many more products.

This collection featured money themed packaging. Jenner took a portion of her earnings from her birthday collection and collaborated with Ellen DeGeneres to give away over $1 million. $750,000 went to a group of women in Florida who have a non-profit organization called Nest Of Love

In February 2020 Kylie launch the Stormi collection, in celebration of her daughters second birthday. This launched included beauty products such as eyeshadow palettes, Kylie lip kits, and blush. The launch was a success and the products quickly sold out.

 

Pop-up Locations:

Kylie is know for making appearances at pop-up shops which are located inside Topshops where she does meet and greets with fans. She's had seven locations all around the country where she has sold Lip Kits as well as pallets.

The locations are in Chicago, Illinois; Los Angeles, California; New York; Las Vegas, Nevada; Houston, Texas; Atlanta, Georgia; Miami, Florida[28]

 

Partnerships:

In December 2015, Jenner's mother, Kris Jenner, partnered the company with Canadian e-commerce platform Shopify to outsource sales.

Packaging

In May 2016, Kylie Cosmetics changed the packaging of its Lip Kits due to complaints of theft. Due to the easily recognizable packaging and high demand for the product at the time, some customers received empty boxes after having their products stolen in the mailing process.

The original Kylie Lip Kit box was black with a white lip gloss drip design. In order to solve the theft issue, the boxes were changed to a basic black, and the recognizable lip gloss design was moved to the inside of the box.

In the April 2018 release of the Kourt X Kylie Collection, Kylie Cosmetics included eyeshadow palettes with brand new plastic packaging rather than the traditional cardboard packaging.

Marketing
Kylie Cosmetics heavily depends on social media for its marketing. As of August 2018, Jenner has the most followed Snapchat account and 164 million Instagram followers, all of whom see her teases to past and future makeup releases.

Kylie Cosmetics also advertises daily on Instagram with verified the account @Kyliecosmetics. The Instagram account currently has 21.9 million followers. They share popular beauty influences reviews, sales, new products, and many photos of Kylie Jenner herself using the products. In November 2019, @kyliecosmetics on Instagram hit 22.4 million followers.

While Jenner, or members of her family, often serve as the face of Kylie Cosmetics, the pair of lips that advertise the Lip Kits themselves belongs to beauty and lifestyle blogger, Ashley Rosales. Before entering the beauty community, Ashley Rosales served in the United States Army as a mechanic.

Kylie relies heavily on Youtube for marketing her launches. Kylie Jenner's Youtube channel has over 7.5 million subscribers. She'll often record 'get ready with me' to promote her upcoming launches.

Jenner revealed that she has enlisted her housekeeper and her boyfriend Travis Scott to model swatches of the makeup on their arms for social media advertisements.

 

 

Criticism:


"Luxury" brush scandal

In an occurrence dubbed by Cosmopolitan Australia as the “Kylie makeup brush scandal of 2017”, Jenner received backlash from fans, makeup gurus, and Internet users alike after Kylie Cosmetics launched a set of 16 luxury makeup brushes, priced at $360.

After a few big-name makeup artists including James Charles and Jeffree Star weighed in with their negative opinions on the price of the brush kit, Jenner responded via her personal Twitter, telling fans, “I hear you guys”. Many hoped that this would mean the company would lower their prices, but they have remained the same as of late.

All 30 shades of Kylie Cosmetics' controversial concealer line.

 

Skin Concealer Controversy

After the release of the concealer line, Skin Concealer, Kylie Cosmetics received negative feedback from internet users who claimed the company was copying Rihanna’s makeup line, Fenty Beauty.

Though the intention of the makeup line was to remain inclusive, it was assumed by some that Jenner was profiting from diversity by including 30 shades in her concealer line.

The Skin Concealer was additionally critiqued for the fact that all of the darker shades have red undertones, and is therefore believed by some to not cater to all skin types. Descriptions of the concealers on the Kylie Cosmetics website state that each of the darker shades has red undertones.

"Provocative" Blushes

The release of Kylie Cosmetics’ most recent line of blushes sparked fury within some fans, claiming that the names of some of the new products were “too provocative”.

Though the blush collection sold successfully, parents of young fans were not in support of names such as "Barely Legal", "Virginity", "X Rated", and "Hot and Bothered".

 

Company Overvaluation:


On April 8, 2020, Forbes again named Jenner as the world's youngest "self made" billionaire, citing her net worth having increased to 1.2 billion dollars.

However, in May Forbes released a statement accusing Jenner of forging tax documents so she would appear as a billionaire.

The publication also accused her of fabricating revenue figures for Kylie Cosmetics, citing documents Coty Inc (which had acquired a majority stake in Kylie Cosmetics) had released.

The Forbes article concluded that Kyle Cosmetics was significantly smaller and less profitable than previously reported.

CS executive entrance test (CSEET)

Introduction

ICSI introduces CS Executive Entrance Test (CSEET) in place of Foundation Programme to meet the stakeholders’ expectations and to further enhance the quality of future members is the prime objective of the Vision New ICSI 2022.

The Company Secretaries (Amendment) Regulations, 2020 require introduction of CS Executive Entrance Test (CSEET) in place of the
Foundation Programme.

With the introduction of CSEET from February 3, 2020, new registration
to the Foundation Programme has ceased to exist w.e.f. February 3, 2020, CSEET is the only qualifying entrance test for registration to the CS Executive Programme.

CSEET has been introduced keeping in view the diverse academic standards of students seeking admission in the Company Secretaryship Course, to attract meritorious students and to test their aptitude for the
Company Secretary profession.

The candidates appearing/passed in class 12th examinations
shall be eligible for appearing in the CSEET. All the students seeking admission in the Company Secretary Course including graduates/ post graduates, etc. shall be required to qualify the CSEET from February 3, 2020 onwards.

The process of selecting meritorious candidates through CSEET will enhance the quality of future members to meet the expectations of the
industry and the regulators.

Regulation 20(1)(ii) of the Company Secretaries (Amendment) Regulations, 2020 contains the provisions of CSEET.
Passing of CS Executive Entrance Test (CSEET) is mandatory for all candidates to register for CS Executive Programme, except a few exempted categories of candidates.
CS Executive Entrance Test (CSEET) shall be conducted on a single day as per the following :
a) Computer Based Test of 120 Minutes consisting of four parts viz. (i) Business
Communication; (ii) Legal Aptitude & Logical Reasoning (iii) Economic and Business Environment & (iv) Current Affairs; and

b) Viva Voce of 15 Minutes on “Presentation and Communication Skills”.

Eligibility Conditions

  • A candidate passed / appearing in the Senior Secondary (10+2) Examination or equivalent thereto is eligible to appear in the CSEET.
  • All Graduates/ Post Graduates who were hitherto eligible for registration directly to CS Executive Programme, are also required to pass the CSEET to become eligible for registration to Executive Programme.

Exemptions

Candidates who have passed CS Foundation Programme are exempted from CSEET without any payment of exemption fee.

Candidates who have passed the Final Examination of The Institute of Chartered
Accountants of India (ICAI) and/or The Institute of Cost Accountants of India (ICMAI)
are exempted from CSEET and shall pay `5,000 (Rupees Five Thousand Only) towards
exemption fee at the time of Registration to CS Executive Programme.

Pattern of the CSEET

The Institute will conduct CS Executive Entrance Test based on Objective Type / Multiple Choice Questions and viva-voce for testing listening, written communication and oral communication skills.

There are four papers in CS Executive Entrance Test.

Each paper contains objective type multiple choice questions having one or more marks each with four options with one correct answer.

The duration of the Test shall be 120 minutes and viva-voce on Presentation and Communication Skills of 15 Minutes.

Duration of the CSEET

Computer Based Test (CBT)

Test of 120 Minutes duration will be conducted at designated Test Centres. It will be a
Computer Based Test (CBT) conducted in MCQ pattern as per the following details:

Business Communication

Subject
Total No. of Questions  
Marks
Business Communication   3550
Legal Aptitude and Logical Reasoning  3550
Economic and Business Environment3550
Current Affairs 15 20
Total Marks120  170
              

Viva Voce

The Presentation and Communication Skills (Viva Voce) of 15 Minutes for 30 Marks will be conducted simultaneously with or immediately after the MCQ based CBT through on-line mode using artificial intelligence (AI) or through recoded videos at the designated Test Centres.

Final Score

The final score will be computed by adding the marks secured by candidates in both the tests (CBT and Viva-Voce) out of a total of 200 marks.

CSEET Passing Criteria

Candidates shall be declared ‘PASS’ in CSEET on securing 40% marks in each paper and 50% marks in the aggregate.

Registration to Executive Programme

  • Candidate has passed Senior Secondary Examination (10+2 system) conducted by an examining body constituted by law in India or an examination recognised by the Central Government or State Government or equivalent thereto for the purposes of admission to Bachelor’s degree course; and
  • Candidate has passed Company Secretary Executive Entrance Test (CSEET) conducted by the Institute. The date of result of CSEET should not be older than one year prior to the date of such registration.

Test Centres

  • The examination will be held at multiple test centres across the country to ensure that the CSEET is conducted on a single day for all the registered candidates.

Schedule of Registration and conduct of CSEET

The CSEET will be held on quarterly basis as per the indicative schedule given below:

Month of CSEETPeriod During which candidates can register for CSEETDate of  CSEETLast Date for Declaration of ResultsCut-off date of registration in CS Executive Program
     
May             December
to 15th April
  Saturday/ Saturday/ Sunday
in 2nd /3rd Week
of May
By 4th Week
of May
31st May (for appearing in both modules of Executive Program in December session in same year)  
  July      16th April to 15th June    16thSaturday/ Sunday
in 2nd /3rd Week
of July
 By 4th Week
of July
 31st July (for appearing in single module of Executive Program in December session in same year)
January 16th June to 15th
October
 Saturday/ Sunday
in 2nd /3rd Week
of November
 By 4th Week
of
November
 30th November (for
appearing in both
modules of Executive
Program in June session
in next year)
January16th October to
15th December
Saturday/ Sunday
in 2nd /3rd Week
of January
By 4th Week
of January
31st January (for
appearing in single
module of Executive
Program in June session
in same year)

Fee for Registration to CSEET

CategoryConcession (as percentage of registration fee applicable)
 SC/ST 50%
Physically Handicapped   50%
 Wards and Widows of Martyrs and Defence Service
Personnel with Permanent Disability
100%
Serving / Retired Personnel of Defence Services and
Paramilitary Forces
 50%
ICSI Staff and Wards / Spouse of ICSI Staff75%
ICLS Officers/ Officers & Staff of MCA and affiliated
offices (NCLT, SFIO and CCI)
100%
Students from North Eastern States, Andaman &
Nicobar Islands, Lakshadweep & Himachal Pradesh
50%
Students from the Union Territories of Jammu &
Kashmir and Ladakh
100%

Allocation of Marks/Duration/ No. of Questions

SubjectsNumber of
MCQs
(Paper wise)
Maximum MarksDuration
Business
Communication
3550 Marks
(15 MCQs x 2 Marks each)
(20 MCQs x 1 Mark each)
120
Legal Aptitude
and Logical
Reasoning
3550 Marks
(15 MCQs x 2 Marks each)
(20 MCQs x 1 Mark each)
Economic and
Business
Environment
3550 Marks
(15 MCQs x 2 Marks each)
(20 MCQs x 1 Mark each)
Current Affairs1520 Marks
(5 MCQs x 2 Marks each)
(10 MCQs x 1 Mark each)
Total120 MCQs170 Marks120 Minutes
Presentation and
Communication
Skills
(Viva Voce)
Variable
Number of
Questions
30 Marks15 Minutes
  • There will be no negative marking in the CSEET.
  • Candidates are expected to be conversant with the amendments/changes in the CSEET subject contents up to one month preceding the date of Examination.

Registration Process

The steps for registration for CSEET are as under:


Step-1 : – >In order to Register for “CSEET”, type www.icsi.edu in any recommended browser (IE 9, Mozilla 38.0 & above, Chrome 39.0), then click on “Online Services”


Step-2 : -> Click on the link https://smash.icsi.in/Scripts/CSEET/Instructions_CSEET.aspx
for registration for CSEET.


Step-3 : -> Fill Basic Details


Step-4 : -> Fill Qualification Details


Step-5 : ->Fee Details


Step-6 :->Upload Mandatory Documents*


Step-7 : ->Preview Application
Click on “Confirm Application” button after previewing


Step-8 :->Payment Mode Selection


Step-9 :->Transaction Id Generation. Note transaction Id for future reference.

  • On successful payment, candidate will be registered in CSEET and same will be intimated through email/SMS on registered email id/mobile number. Candidate can appear for the CSEET as per the schedule sent through mail/SMS.
  • *Mandatory document to be uploaded by the students at the time of registration for CSEET:
  • Photograph of the candidate (size 20kb to 50kb)
  • Signature of the candidate (size 10kb to 20kb)
  • DOB Certificate (10th pass certificate)
  • Admit Card/ Hall Ticket for 10+2 Examinations (if appearing) or 10+2 Pass Certificate/
  • Mark Sheet
  • Category Certificate (for availing Fee Concession)
  • Identity proof (Aadhar card/passport/voter ID /pan card/driving license/ration card)
  • All the files to be uploaded while registering for CSEET should be present in one of the
  • formats viz. jpg, jpeg, png, gif, bmp, pdf.
  • The maximum allowed file size is 2 MB.

Thanks..