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, 5 May 2021

Egypt’s Flextock closes $3.25M in the largest pre-seed yet in MENA

Flextock, one of the 10 African startups from the recent Y Combinator winter batch, has bagged an impressive pre-seed round just two months after graduation

The five-month-old company, which helps consumers and businesses manage e-commerce and fulfillment operations —  from warehousing and logistics to delivery and cash collection — has closed a $3.25 million pre-seed investment.

As it stands, this is a record high for the MENA region, which also had a record-high two months ago in fellow Egyptian and YC winter batch startup Dayra. The fintech company raised $3 million in debt and equity.

Mohamed Mossaad and Enas Siam founded Flextock in September 2020. However, the company didn’t launch until January 2021. When we covered the company in March, it had just raised $850,000 but CEO Mossaad made it clear that more was still to come.

The investors in this round include Egyptian VC Foundation Ventures, Y Combinator, MSA Capital, CRE Ventures, Alter Global, Jameel Investment Management Company (JIMCO), B&Y Ventures Partners and Access Bridge Ventures. The company also received angel investments from an unnamed Sequoia Capital scout, investors in the GCC region and Flexport.

Flextock currently serves the Egyptian market. It leverages proprietary software to offer merchants end-to-end e-commerce fulfillment and logistics solutions on demand. Since its launch, the company claims to have signed more than 100 merchants to its platform, with thousands of stock-keeping units (SKUs). The company also says it is growing 25% week-on-week. 

“In the last two months we launched different products to help merchants grow their brands more efficiently,” Mossaad told TechCrunch.” We’ve built various partnerships with different logistics services providers in the market to offer merchants an E2E experience, quadrupled the number of merchants and doubled the size of our team.”  

Flextock wants to capture a large portion of MENA’s $25 billion e-commerce logistics market, and Mossaad says the funding will help with that ambition. The company plans to put the funding into strengthening its presence in Egypt, technology, recruitment and regional expansion before the end of the year.

In the MENA region, Trella is another Egyptian logistics company backed by YC. The accelerator has now invested in four logistics and digital freight focused startups, including Nigeria’s Kobo and SEND, ever since it successfully backed Flexport in 2014.

Despite having a global operation, the freight forwarder is testing the waters in the MENA region — on the Flexport website, there’s a role for a Partnerships Manager, Turkey & Middle East. Although Flexport has freight forwarding and custom partners in the region, its interest in deepening reach in MENA might have spurred it to examine other opportunities. Flextock which provides e-commerce fulfillment appears to be one following the global freight provider’s “strategic investment” in the Egyptian company.

CEO Mossaad said that having Flexport onboard not only serves as a strong vote of confidence to the company’s growth potential but will help it build a regional interconnected network of e-commerce logistics services providers by leveraging their wide network of partners around the world.  

That said, it will be interesting to see how this investment plays out in the foreseeable future.

For Mazen Nadim, the managing partner at Foundation Ventures, Flextock’s e-commerce fulfillment and logistics play will be key to realizing the regional dominance it craves.

“We recognize the massive opportunity in logistics presented by the rise of e-commerce in the region,” he said. “Flextock is building the underlying infrastructure so that any e-commerce player can scale their operations on-demand.”

Flextock’s investment continues the series of seven-figure pre-seed rounds that have become more prevalent in the African tech scene. No less than six startups (including Flextock) have raised $1 million or more in this round in the past year. They include Egypt’s Zedny, Cassbana and Flick; and Nigeria’s Okra and Autochek, with the latter raising the largest pre-seed investment yet in Africa at $3.4 million.   



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support