Estoy buscando un ejemplo de funcionamiento de un módulo habilitado para Magento API. ¿Cómo puedo definirlo, escribir el código para él y llamarlo?Ejemplo de API de Magento
Respuesta
Una configuración de trabajo (en app/código/local/ModuleName/etc/escribí minas en api.xml.):
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<ModuleName>
<version>0.1.0</version>
</ModuleName>
</modules>
<api>
<resources>
<customer translate="title" module="xyz">
<model>ModuleName_Model_Api</model>
<title>Customer Resource</title>
<acl>customer</acl>
<methods>
<info translate="title" module="xyz">
<title>Retrieve customer data</title>
<acl>customer/info</acl>
<method>info</method>
</info>
</methods>
<faults module="xyz">
</faults>
</customer>
</resources>
<acl>
<resources>
<customer translate="title" module="xyz">
<title>Customers</title>
<info translate="title" module="xyz">
<title>Get Info Test</title>
</info>
</customer>
<all>
</all>
</resources>
</acl>
</api>
</config>
El código PHP (en app/código// ModuleName/Modelo locales /Api.php):
class ModuleName_Model_Api extends Mage_Api_Model_Resource_Abstract
{
function info()
{
return 'xxx';
}
}
el código PHP para realmente llamar a la interfaz SOAP:
$mageUrl = 'http:/local.magecomm/api/?wsdl';
$mageUser = 'soaptest';
$mageApiKey = 'apitest';
$soap = new SoapClient($mageUrl);
$sessionID = $soap->login($mageUser, $mageApiKey);
var_dump($soap->call($sessionID, 'customer.info', array()));
el resultado de la ejecución de dicho guión:
C:/Temp>php magesoap.php
string(3) "xxx"
Algunas notas:
o de error: "api ruta no válida"
- Esto significa que Magento no puede encontrar el módulo.
o Error: "La ruta del recurso no se puede llamar".
Esto significa que Magento no puede llamar al método en el módulo.
Puede usar el archivo system.log para depurar esto. Mostrará uno o más errores sobre cómo no pudo cargar automáticamente la clase solicitada desde la ruta de archivo calculada.
2011-04-13T15:15:24+00:00 DEBUG (7): include(Mage/Customer/Model/Api.php) [function.include]: failed to open stream: No such file or directoryC:/Development/Projects/MagentoCommercial/lib/Varien/Autoload.php
2011-04-13T15:15:24+00:00 DEBUG (7): include() [function.include]: Failed opening 'Mage/Customer/Model/Api.php' for inclusion (include_path='C:/Development/Projects/MagentoCommercial/app/code/local;C:/Development/Projects/MagentoCommercial/app/code/community;C:/Development/Projects/MagentoCommercial/app/code/core;C:/Development/Projects/MagentoCommercial/lib;.;C:/Development/Libraries;C:/Development/Libraries/Standard/_Pear')C:/Development/Projects/MagentoCommercial/lib/Varien/Autoload.php
o El módulo XML-config anterior enlazará esta interfaz SOAP a un nuevo elemento en los permisos de API llamados "Obtener información de prueba" en el grupo "Los clientes". Luego estará disponible para permitir o denegar en usuarios/roles específicos de API.
o El valor en/config/api/resources/customer/methods/info en el XML de module-config es el nombre del método interno del método que debe vincularse con el nombre-recurso SOAP. Si son iguales, entonces puedes omitir esto.
o El valor en/config/api/resources/customer (que es 'ModuleName_Model_Api') es el nombre completo de la clase porque obviamente se refiere a mi clase, que no forma parte de Mage. Si intentas llamar a una clase existente dentro de Mage, puedes usar la notación abreviada (xxx/yyy, xxx/yyy_zzz, etc.).
o Solo en la parte ACL de la configuración de módulo que el valor de los atributos de "módulo" (< ... module = "">) parece importar. De todos modos, asegúrese de que esté configurado correctamente (caso no importa) en todas partes. Es posible que aún no lo hayan implementado en la corriente principal, y que ignorarlo solo le causará problemas más adelante.
Dustin Oprea
- 1. Registros API de Magento
- 2. Magento API v2 Error de PHP
- 3. ASP.NET Web API ActionFilter ejemplo
- 4. Cómo utilizar Magento almacenamiento en caché durante el uso de "API Magento"
- 5. Magento de SOAP API Lista de producto paginación
- 6. ¿Qué te confunde con la API de Widgets de Magento?
- 7. Cómo llamar a la API de Magento desde VB.NET
- 8. Magento API: Reconstruir índices después de agregar nuevos productos
- 9. API de Magento devuelve las fechas en qué zona horaria
- 10. Conectando a la API de Magento con SOAP
- 11. Ejemplo de patrón de generador en la API de Java?
- 12. Código de ejemplo para controladores de api de prueba unitaria
- 13. ¿Alguien sabe de un ejemplo de API de node.js linkedin?
- 14. Numpy C-Api ejemplo da un SegFault
- 15. Magento API V2: agregue un atributo adicional a la respuesta de API
- 16. Cargando Magento child html fuera de Magento
- 17. Ejemplo de Oauth for Google API usando Python/Django
- 18. Ejemplo de PHP para PayPal Adaptive Payments ConvertCurrency API
- 19. Uso de C++ en Mac para Interactive Broker API? - ¿Ejemplo?
- 20. obtén los últimos productos usando magento soap API
- 21. Magento Cart API que no muestra los precios
- 22. Magento API: Publicar un nuevo método en soap V2
- 23. Carga de imágenes a través de la API SOAP de Magento
- 24. Magento - Magento actualización de 1.6.2 a 1.7.0.2
- 25. Anular configuración de Magento
- 26. ID de orden de la API de Magento frente al ID de incremento
- 27. Magento - estado de la orden de actualización a través de la API
- 28. Necesita un buen ejemplo: Google Calendar API en Javascript
- 29. Cómo llamar PHP api desde C#? (Ejemplo simple)
- 30. El nuevo ejemplo PHP API Bing no funciona
Tal como se utiliza aquí, "API" no está claro. ¿JABÓN? RPC? ¿Llamadas nativas Magento PHP? Sea más específico y alguien ayudará. –
Solo se necesita XML para definir un módulo conectado a la API. –