Ответы веб-службы Magento API

#web-services #api #soap #magento #wsdl

#веб-службы #API #soap #magento #wsdl

Вопрос:

Могут ли некоторые люди пролить некоторый свет на следующие вопросы? Я считаю, что следующие вопросы очень спорны, но я просто хочу знать простые факты, которые просветят меня и, конечно, многих других, просматривающих этот общий вопросительный пост.

  1. Почему Magento API выдает ответы веб-службы в формате XML, а не в формате JSON? В создании ответов в формате XML должны быть некоторые преимущества. В основном я хочу знать об этих преимуществах.
  2. В терминологии Magento упоминаются две версии API — «Обычный API» (api / soap) и «API v2 (api/v2_soap)». В чем разница (главным образом, в преимуществах) между этими двумя версиями и куда вписывается WSDL?
  3. Если я должен создать новую веб-службу, должен ли я ориентироваться на формат SOAP v1 или формат SOAP v2, или на оба этих формата?
  4. Может ли веб-служба создать общее определение WSDL, основанное на моих требованиях, в Magento? Что я хочу, так это то, что я хочу знать, может ли файл « wsdl.xml » (находящийся в папке « etc » модуля Magento) для какого-либо конкретного модуля Magento API генерироваться динамически? Если я предоставлю требуемое имя метода API вместе со всеми именами свойств, типами, а также типами данных ответа, то получу ли я « wsdl.xml файл, динамически генерируемый со всеми правильно упомянутыми сложными типами, методами и сообщениями?»

Если возможно, пожалуйста, предоставьте несколько хороших ссылок, откуда можно полностью очистить эту паутину веб-служб Magento. Кроме того, пожалуйста, учтите мой опыт в этой области веб-сервиса как новичка, чтобы на основе любого ценного вклада я мог переформулировать вопрос.

Помощь оценена и большое спасибо всем.

Мой основной смысл задавать этот вопрос заключается в том, что я хочу создать новые пользовательские API, которые могут использоваться любыми системами, будь то ERP / CRM / SAP / Cloud / что угодно в целом.

P.S.
Я попытался опубликовать этот вопрос в области Programmers Stack Exchange, но из-за отсутствия доступных обязательных тегов (таких как magento, wsdl и soap) мне пришлось опубликовать его здесь. Если возможно и требуется, пожалуйста, перенесите этот вопрос в соответствующую область stack exchange.

Ответ №1:

  1. API предназначен не для ajax (frontend), а для интеграции Magento (frontend shop) с различными системами ERP, CRM, SAP (backend tools) — импортировать данные и получать отчеты. Вот почему он использует XML.

  2. Это не терминология magento. Это сделано в основном для устаревшей поддержки. Итак, вы должны использовать последнюю версию — v2.

  3. Что означает общее определение WSDL? WSDL описывает опубликованную функциональность — доступные вызовы / ресурсы. Если вам это не нужно, вам нужно перезаписать файлы конфигурации, чтобы публиковать не все, а только необходимые, или сделать это в области администрирования формы.

Не могли бы вы рассказать более ясно и технически, что вам нужно делать с API?

Комментарии:

1. Пожалуйста, проверьте обновленный вопрос. Но большое спасибо за ответ. Если возможно, пожалуйста, предоставьте несколько ссылок, по которым можно понять плюсы и минусы SOAP v2.

2. XML более безопасен по сравнению с JSON. Но это тяжелое и узкое место для интерфейса.

Ответ №2:

API отлично подходит для обычного программирования на PHP, когда вы хотите получить что-то из Magento. «Обычный» API отлично работает с PHP, более того, с результирующим XML очень легко работать по сравнению с XML, который генерируется другими API.

Некоторые люди говорили, что Magento API работает медленно, что так и есть. Однако, если вы перемещаете тот же код в программу Magento, то это все равно занимает целую вечность, код API не является большой нагрузкой.