Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Wednesday 28 April 2021

Ivorian startup Afrikrea partners with DHL and Visa to launch SaaS e-commerce platform ANKA

In 2016, Ivorian e-commerce startup Afrikrea started as a marketplace for African-based and inspired clothing, accessories, arts, and crafts. Over the past five years, Afrikrea has served more than 7,000 sellers from 47 African countries and buyers from 170 countries.

Per the company’s data, it records more than 500,000 visits monthly, with the majority of its customers from Europe and North America recording over $15 million in transactions.

But while Afrikrea presents African merchants to showcase and sell their products to the world, it is just one of the many channels available, including personal websites and social media.

Co-founder and CEO Moulaye Taboure says that he noticed that merchants were splitting time and concentration across different channels, which affected their engagement with Afrikrea.

“We noticed that it was getting harder for our sellers to make sales because they were losing time, money and energy switching between channels,” Taboure told TechCrunch. “Every time they want to sell a product, they put it on social media, Afrikrea, and other websites. And when one buyer shows interest, there is no single place to track and see all the orders. That’s hard for these businesses to offer quality services and grow effectively.”

Then last year, Afrikrea began testing an all-in-one SaaS e-commerce platform for these merchants. Today, it is announcing its launch. The platform called ANKA will allow users to sell from Africa, ship products to anywhere in the world and get paid through local and international African payment methods.

Afrikrea

Image Credits:

E-commerce, payments and global shipping. That’s ANKA’s play for thousands of micro-retailers and businesses on the continent and around the world.

The platform lets users sell via an omnichannel dashboard with a single inventory, orders and messages management. Customers can carry out transactions via a customized online storefront like Shopify, social media platforms, links such as on Gumroad and the Afrikrea marketplace.

Merchants can carry out payments and payouts via a wallet and an Afrikrea Visa card. The platform, which costs $12, allows customers to perform mobile money and mobile banking transactions with MPesa, Orange, MTN and PayPal

Shipping completes the entire sales life cycle, from the point of sale to receipt of goods. In 2019, Afrikrea partnered with global logistics partner DHL to offer shipping services to its customers.

Fashion is ANKA’s best-selling category because of its affiliation with Afrikrea. The African fashion and apparel market is worth $31billion, per Euromonitor, and Afrikrea estimates the yearly spend of its major markets to be worth $12.5 billion. A breakdown from the company puts “the African diaspora in Europe at $1 billion, those in America and the Caribbean at $9 billion and non-Africans with links to the continent at $2.5 billion.”

But in terms of general e-commerce activities on the continent, McKinsey & Company pegs consumer spending to reach $2.1 trillion by 2025. African e-commerce is also expected to account for up to 10% of retail sales.

Platforms like Jumia, Mall4Africa and Takealot have been at the forefront of this growth over this past decade. MallforAfrica struck a partnership with DHL in 2015, then launched DHL Africa eShop with the logistics giant four years later. More than 200 sellers from the U.S. and U.K. serve African consumers in more than 30 countries on the platform.

Unlike MallforAfrica and other e-commerce platforms, ANKA differentiates itself as a platform for export rather than import, specifically for African products. According to Moulaye, ANKA is currently the largest e-commerce exporter on the continent, and since its partnership with DHL, it has shipped more than 10 tons of cargo monthly from Africa

“We are the biggest client of DHL exporting from Africa. We ship 10 tons every month and have sellers in 47 African countries, with Kenya and Nigeria as our largest markets. We have something African that is going to a global scale. That’s one of the angles we had with Afrikrea, and we want to keep that with ANKA. What sets us apart is that we’re not just trying to solve a purely African problem; we want to solve a global problem for Africans.”

Since launching five years ago, Afrikrea, which Taboure launched with Luc B. Perussault Diallo and Kadry Diallo, has raised a total of $2.1 million per Crunchbase. In this period, the company has seen its revenue grow 5x and claims to have ARR more than it has raised in its lifetime. To continue its growth efforts, Afrikrea is in the process of concluding a Series A round later this year.



from TechCrunch https://ift.tt/3nAHTBi
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support