What is Progressive Web Apps ?
Looks and behaves like a mobile app.
Take advantage of native mobile device features, without requiring
the end user to visit an app store, make a purchase and download it
Secure (second last topic of answer)
Offline Mode (Check the last topic in the answer)
Just run the below command in magento root directory, it will show that log file location.
grep -r "Report ID: webapi-5c644d10f0e26" var/
Up to my mind it is in exception.log file and find the line with the content webapi-5c644d10f0e26 for the detailed report.
The problem was that $product = $this->productRepository->get($sku); gets a product for the default store. And if you want to disable it globally you need to pass
true/* edit mode */,
0/* global store*/,
true/* force reload*/
I've also faced this problem, and as an alternative to the solution @Zefiryn proposed, I have worked around it by enclosing the return data in an array (or two). Please consider the example below.
* My function
public function myFunction()
$searchCriteria = $this->_searchCriteriaBuilder->addFilter('is_filterable_in_grid',...
PWA - Progressive Web Application are the generally web application which is user experiences the rich web. in way of :
Reliable - load instantly and also available in offline mode.
Fast - in a way of interaction where user are smoothly interact with it, and also without any scrolling or animation junks.
Engaging - as denoted above both points if ...
The answer from @Rafael Corrêa Gomes (and any to the point that mentions either 'cron_run' => false or 'consumers' => ['async.operations.all'] in the configuration are quite outrageous because they make many folks copy-paste and destroy their message queues from functioning.
cron_run set to false in configuration means that the message consumers are ...
11.Custom Grid In admin as continued here exceeding length of file in above ans:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
curl -X GET -g "http://127.0.0.1:32769/index.php/rest/V1/customers/search?searchCriteria[sortOrders][field]=email&searchCriteria[sortOrders][direction]=asc" -H "Authorization: Bearer token"
Rest API reference http://devdocs.magento.com/swagger/index_20.html
For the API, you should read more:
For example, this below code will return the customer info:
$userData = ["username" => "email@example.com", "password" => "123456"];
$ch = curl_init("http://magen2.loc/...
For that you need to make different route url for that specific API
<!-- Category Product Links -->
<route url="/V1/rbcategories/:categoryId/products" method="GET">
<service class="Magento\Catalog\Api\CategoryLinkManagementInterface" method="getAssignedProducts" />
My question is what is the function of the <parameter name="customerId" force="true">%customer_id%</parameter> and how it work?
Magento gets the customer data with passing anything except token value in API call.
In between magento calls some API related controllers for the same
I would recommend to check (even as a trial option) solutions like:
Those tools will show you exact traces and timing of each separate PHP Trace that is involved within any operation/transaction (not limited to API calls)
For Database related bottlenecks - MySQL Slow Query Log can be enabled (*depends on MySQL Version used). ...
Progressive means that the application loads along with any relevant data and assets, as a user navigates around your website. This results in an end-user experience with better speed, usability, offline operation and device integration.
Edit the /app/etc/env.php file to configure the cron job consumers_runner.
'cron_consumers_runner' => [
'cron_run' => true,
'max_messages' => 20000,
'consumers' => [
]; // return closing
To get the list of all your queue consumers that ...
In your request to the API, you can specify your requested response format using the HTTP header:
Unfortunately the only 2 MIME types Magento supports currently are application/xml and application/json.
The following 2 classes provide the renderer for these formats:
Serializing the object will most likely serialize the entire PHP Object. That's the reason why you end up with a massive file. You only want to log the payload from that request.
I've wrote a module once that would log all API requests to the database for debugging purposes. The way I did it was with a plugin around the dispatch()-method of \Magento\Webapi\...
Progressive Web Apps is the middle ground between installable mobile apps and websites. We expect to see more traffic on the internet from mobile devices than from desktops, by 2019. PWAs improve the look and feel of websites to increase conversion.
PWAs Offer Fast, Frictionless, “App-Like” Experiences Driving More
Traffic, Higher Conversions and ...
Your endpoint should be:
UPDATE: it should be routes not route.
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Webapi:etc/webapi.xsd">
First you need to create webapi.xml under your custom module Vendor\Module\etc\
<route url="/V1/custom/:categoryId/products" method="GET">
<service class="Vendor\Module\Api\CategoryLinkManagementInterface" method="getAssignedProducts" />
– Route ...
Problem Summary: You have a PHP Array and you want to return it as a JSON Object. When you return your PHP Array, it gets converted to a JSON Array, which does not support non-sequential keys. So your keys get ignored and you end up with a sequential array of your values.
Solution Summary: You need to return a PHP Object in order to have a JSON Object in ...
I finally manage to resolve this issue.
After digging into the Magento core, I found that in the \Magento\Framework\Reflection\ExtensionAttributeProcessor::buildOutputDataArray method, Magento get the type of the extension object attribute (in my case : Vendor\MultipleDiscounts\Api\Data\DiscountOrderItemInterface). If type is array, then Magento will ...