How to Extend the Magento REST API to Use Coupon Auto Generation

Thảo luận trong 'Quản lý sản phẩm, nhóm sản phẩm trong magento' bắt đầu bởi Thái Hòa, 23 Tháng hai 2013.

  1. Thái Hòa

    Thái Hòa Well-Known Member

    Đăng nhập vào web admin.

    Mục lục
    • Tổng quan
    • Yêu cầu hệ thống
    • Tạo Coupon Codes
    • Mở rộng API REST của Magento Bao gồm Coupon tự động thế hệ
    • Đảm bảo AutoGen Coupon API
    • Kiểm tra các API AutoGen Coupon
    • Xử lý sự cố Gợi ý
    • Các bước tiếp theo
    Tổng quan

    Khách hàng của các cửa hàng và các cửa hàng truyền thống web trực tuyến phiếu giảm giá. Thông thường, một thương gia sẽ gửi phiếu giảm giá cho những khách hàng đầu vào khi kiểm tra ra. Phiếu giảm giá tiết kiệm tiền của khách hàng và hy vọng lôi kéo các khách hàng để truy cập vào các cửa hàng thường xuyên hơn. Ngoài ra, các thương gia có thể theo dõi các mã số phiếu giảm giá cho các khách hàng cá nhân để thị trường mục tiêu những khách hàng.

    Coupon Auto Generation và REST Magento API

    Magento CE 1.7 giới thiệu một phương pháp mới tạo ra mã số phiếu giảm giá- tự động thế hệ . Tự động tạo ra các phiếu giảm giá có nghĩa là Magento lập trình tạo ra một số mã số phiếu giảm giá tại một thời điểm một cách nhanh chóng và dễ dàng. Tuy nhiên, nếu Magento tạo ra các mã số phiếu giảm giá, bạn phải tự phân phối cho khách hàng.

    REST API của Magento được mở rộng và có thể dễ dàng được gọi bởi một chương trình bên ngoài để tự động tạo ra các mã số phiếu giảm giá. Bạn có thể sử dụng tính năng này, ví dụ, mã số phiếu giảm giá e-mail đến 100 khách hàng của bạn.

    Không cần lập trình là cần thiết để thực hiện các mô-đun mở rộng thảo luận trong hướng dẫn này, tuy nhiên, cơ bản quen thuộc với các mô-đun Magento và lập trình PHP là mong muốn.

    Coupon AutoGen API cho phép bất cứ chương trình nào có thẩm quyền bên ngoài để hướng dẫn Magento để:
    • Tự động tạo ra số quy định của mã số phiếu giảm giá
    • Trả lại các mã số để gọi chương trình mô phỏng trong hướng dẫn này bằng cách sử dụng đơn giản . php tập tin
    Thực hiện chi tiết

    Hướng dẫn này thảo luận về cách sử dụng thế hệ tự động phiếu giảm giá và một dịch vụ web để tự động gọi REST API Magento để tạo ra một loạt các mã. Các dịch vụ web instantiates Magento quy tắc bán hàng cơ bản (salesrule / rule ) mã phiếu giảm giá máy phát điện và tạo ra một hồ mã mới. Các mã trở lại cho người gọi như là một chuỗi JSON.

    Để biết thêm thông tin về các API REST Magento, xem Giới thiệu để REST API . Để mở rộng các API REST thêm một dịch vụ web để tạo ra và lấy mã số phiếu giảm, hướng dẫn này thảo luận về những điều sau đây:
    • Thiết lập một quy tắc tự động tạo ra phiếu giảm giá
    • Tạo một module để sử dụng một REST API mở rộng dựa trên. Hướng dẫn này cung cấp cho bạn tất cả các tập tin để tạo ra các mô-đun, không cần lập trình là cần thiết. Có bốn mô-đun cấu hình . xml file và một php tập tin để tạo ra các dịch vụ web.
    • Tạo một người dùng để truy cập OAuth cho các dịch vụ mới
    • Kiểm tra các dịch vụ web từ một trang riêng biệt
    Yêu cầu hệ thống

    Để thực hiện và kiểm tra AutoGen Coupon API, bạn phải có tất cả những điều sau đây:
    • Magento Community Edition (CE) 1,7 hoặc sau này trên Ubuntu.
    • Magento Enterprise Edition (EE) 1,12 hoặc mới hơn trên Ubuntu.
    • pecl OAuth 1.0a phần mở rộng mà bạn cài đặt như được thảo luận trong Cài đặt OAuth. Magento CE 1.7 và sau đó hỗ trợ các đặc điểm kỹ thuật OAuth 1.0a .
    • Tùy chọn. phpmyadmin , mà làm cho nó dễ dàng hơn để xem và thao tác cơ sở dữ liệu Magento.Bạn có thể sử dụng phpmyadmin để thuận tiện để có được khóa OAuth và chia sẻ bí mật sau này trong hướng dẫn này.
    Lưu ý:Mặc dù Magento hỗ trợ các hệ điều hành Linux khác, Ubuntu là người duy nhất được thảo luận trong hướng dẫn này. Tham khảo một tài liệu tham khảo phù hợp cho các lệnh tương đương trên hệ điều hành Linux khác.

    Cài đặt OAuth

    Phần này thảo luận làm thế nào để cài đặt các pecl OAuth mở rộng trên Ubuntu. Tham khảo tài liệu hướng dẫn pecl.php.net để được hướng dẫn cài đặt trên các hệ điều hành khác.

    Pecl OAuth mở rộng đòi hỏi phải cài đặt PEAR. Các phần sau đây thảo luận về việc cài đặt chi tiết:
    • Tạo một file phpinfo
    • Cài đặt các gói OAuth
    • Xác nhận rằng OAuth cài đặt thành công
    Lưu ý: Bạn phải thực hiện các nhiệm vụ được thảo luận trong phần này như là một người dùng với đặc quyềngốc .

    Bài viết khác cùng chuyên mục:

    baokhanh482 thích bài này.
  2. Thái Hòa

    Thái Hòa Well-Known Member

    Tạo một file phpinfo

    Trước khi bạn bắt đầu, tạo ra một tập tin phpinfo.php , nếu bạn không làm như vậy, để xác định nếu bạn đã có OAuth chạy.

    Để tạo phpinfo.php:

    1. Mở một cửa sổ lệnh và kết nối đến máy chủ Magento của bạn.
    2. Tạo một file có tên phpinfo.php bất cứ nơi nào trên docroot máy chủ web:

    <? Php
    / / Hiển thị tất cả các thông tin, mặc định là INFO_ALL
    phpinfo ();

    3. Bắt đầu một trình duyệt web và nhập URL sau trong địa chỉ của nó hoặc lĩnh vực vị trí:

    http:// host-or-ip [: port ] / path-to-phpinfo / phpinfo.php

    Ví dụ, nếu Magento dụ tên máy chủ lưu trữ của bạn là www.example.com và bạn đặt phpinfo.php trong docroot của web server, nhập:

    http://www.example.com/phpinfo.php

    4. Tìm kiếm kết quả đầu ra cho OAuth.

    Hình dưới đây cho thấy một ví dụ về OAuth được thiết lập đúng. Nếu trước đó không hiển thị, OAuth không được thiết lập để tiếp tục với phần tiếp theo. Nếu OAuth đã được cài đặt, tiếp tục với Xác định một Magento Coupon Code Generation Rule.

    Untitled.png

    Nếu trước đó không hiển thị, OAuth không được thiết lập để tiếp tục với phần tiếp theo.
    Nếu OAuth đã được cài đặt, tiếp tục với Xác định một Magento Coupon Rule thế hệ Mã.
    baokhanh482 thích bài này.
  3. Thái Hòa

    Thái Hòa Well-Known Member

    Cài đặt các gói OAuth

    Pecl OAuth mở rộng đòi hỏi cả hai PEAR (cho phép bạn cài đặt các gói phần mềm) và libpcre3-dev , cho phép các gói OAuth được biên soạn.

    Để cài đặt các gói và xác nhận mà OAuth được kích hoạt:

    1. Nhập các lệnh sau theo thứ tự hiển thị:​

    apt-get install php-pear
    apt-get install libpcre3-dev
    pecl install oauth

    Lưu ý: Hãy nhớ rằng bạn phải thực hiện các nhiệm vụ thảo luận trong phần này như là một người dùng với đặc quyền gốc.

    Chờ đợi trong khi mỗi gói được cài đặt. Các thông báo Xây dựng quá trình hoàn thành thành công sẽ hiển thị để cho biết OAuth cài đặt thành công.

    Lưu ý: Nếu Lỗi: `make ' không hiển thị sau khi bạn nhập pecl install oauth , xem OAuth Lỗi Gói cài đặt: `make ' thất bại.

    Nếu màn hình sau đây, bạn phải chỉnh sửa của bạn php.ini tập tin để tìm thư viện OAuth:
    configuration option "php_ini" is not set to php.ini location
    You should add "extension=oauth.so" to php.ini

    Mở php.ini trong một trình soạn thảo văn bản.
    Nếu bạn không chắc chắn nó nằm nhìn trong phpinfo.php xuất trang. Thêm dòng sau bất cứ nơi nào trong php.ini:
    [OAuth]
    extension = oauth.so

    Lưu thay đổi để php.ini và thoát khỏi trình soạn thảo văn bản.
    Nhập lệnh sau để khởi động lại máy chủ web Apache.
    service apache2 restart

    Tiếp tục với phần tiếp theo.
    baokhanh482 thích bài này.
  4. Thái Hòa

    Thái Hòa Well-Known Member

    Xác nhận rằng OAuth cài đặt thành công

    Nếu bạn phpinfo.php trang vẫn mở trong một trình duyệt web, nhấn Control + R lực làm mới, nếu không, hãy nhập URL được hiển thị trong Tạo một file phpinfo để xem nó.

    Hình dưới đây cho thấy một ví dụ về một phần mở rộng OAuth được thiết lập đúng.

    Untitled.png

    Quan trọng: Không tiếp tục cho đến khi bạn biết rằng OAuth cài đặt thành công.
    baokhanh482 thích bài này.
  5. Thái Hòa

    Thái Hòa Well-Known Member

    Xác định một Magento Coupon Rule thế hệ Mã

    Để xác định một phiếu giảm giá Magento quy tắc thế hệ mã:

    1. Đăng nhập vào Admin Panel Magento như là một quản trị viên.

    2. Bấm vào Khuyến mãi > Rules Giá Shopping Cart.

    3. Trên trang Giỏ hàng Rules Giá, nhấp vào Add New Rule (ở góc trên bên phải của trang).
    Trang Thông tin chung hiển thị như sau.

    ht_magento-REST-API_rest_rule_info.png

    4. Nhập các thông tin sau.

    Untitled.png

    5. Ở góc trên bên phải của trang, nhấp vào Lưu và Tiếp tục Edit
    Các thông báo quy tắc đã được lưu hiển thị ở phía trên cùng của trang để cho biết rằng Magento cứu thành công quy tắc mà bạn vừa tạo ra.

    6. Trong thanh điều hướng bên trái, nhấp vào Actions
    trang Actions hiển thị như sau.

    ht_magento-REST-API_rest_rule_actions.png

    7. Nhập các thông tin sau.


    Untitled.png

    8. Nhấp vào Lưu (ở góc trên bên phải của trang).
    Các thông báo quy tắc đã được lưu hiển thị để cho biết rằng Magento lưu các tùy chọn quy tắc hành động mà bạn chỉ cần nhập vào. Chú ý rằng trang này bây giờ có một hàng cho các phiếu giảm giá Generate cai trị mà bạn chỉ được xác định.
    Một mẫu sau.


    ht_magento-REST-API_shopping_cart_price_rule.png

    9. Viết các ID quy tắc (vòng tròn màu đỏ trong hình trên).
    Bạn sẽ sử dụng giá trị này sau này trong hướng dẫn này.
    baokhanh482 thích bài này.
  6. Thái Hòa

    Thái Hòa Well-Known Member

    Tạo Coupon Codes

    Bây giờ bạn đã tạo ra một quy tắc, phần này thảo luận về làm thế nào để sử dụng các quy tắc để tự tạo ra một chuỗi các mã số phiếu giảm giá.
    1. Trong trang Giỏ hàng Rules Giá, nhấp vào tên của quy tắc mà bạn vừa tạo ( Tạo phiếu giảm giá ).
    2. Trong thanh điều hướng bên trái, nhấp vào Quản lý Coupon Codes .
    3. Trên trang thông tin phiếu giảm giá, nhập các thông tin sau:

    Untitled.png

    4. Bấm vào Tạo
    Magento hiển thị ba mã số phiếu giảm giá mà bạn đã tạo ra trong phần Coupon Code như hình minh họa sau đây.

    ht_magento-REST-API_manage_coupon_codes.png

    5. Nhấp vào Lưu
    baokhanh482 thích bài này.
  7. Thái Hòa

    Thái Hòa Well-Known Member

    Mở rộng API REST của Magento Bao gồm Coupon tự động thế hệ

    Trong phần trước, bạn đã tạo một Rule Shopping Giá giỏ hàng tên là Tạo phiếu giảm giá đó bằng tay tạo ra một tập hợp các mã số phiếu giảm giá. Để sử dụng các mã số này, bạn có thể xuất khẩu vào một tập tin, và sau đó nhập chúng vào bất kỳ chương trình bên ngoài mà bạn muốn, tuy nhiên, đây là một thủ tục tốn thời gian!
    May mắn thay, bạn có thể tự động hóa quá trình này bằng cách thêm một phiếu mua hàng tự động tạo ra API REST API hiện có của Magento. Sử dụng API này, một chương trình bên ngoài có thể tự động nhận được các mã số phiếu giảm giá cần thiết.
    Các phần sau đây thảo luận làm thế nào để mở rộng API REST của Magento để bao gồm các API AutoGen Coupon:
    Vô hiệu hóa Cache Magento

    Trong khi bạn đang thực hiện AutoGen Coupon API, bạn phải vô hiệu hóa bộ nhớ đệm Magento để Magento sẽ tìm thấy và sử dụng mã mới của bạn ngay lập tức.
    Để vô hiệu hóa bộ nhớ cache:
    1. Trong Bảng điều khiển Hồ Magento, nhấp vào Hệ thống > Quản lý cache
    Trang bộ nhớ cache lưu trữ quản lý hiển thị như sau.

    ht_magento-REST-API_disable-cache-magement.png

    2. Nhấp vào Chọn tất cả (góc trên bên trái của trang).​
    Dấu chọn hiển thị bên cạnh mỗi bộ nhớ cache Magento trong danh sách.​

    3. Từ Actions danh sách, nhấp vào Vô hiệu hoá.​

    4. Click vào Submit.​

    Magento vô hiệu hóa các cache được lựa chọn, thay thế các chỉ số trạng thái ENABLED màu xanh lá cây với các chỉ số màu đỏ DISABLED.​

    5. Nhấp xả cache Magento và chờ cho bộ nhớ cache được flushed.​

    6. Đăng xuất của Hội đồng Hồ Magento.​
    baokhanh482 thích bài này.
  8. Thái Hòa

    Thái Hòa Well-Known Member

    Tạo các file cấu hình

    Phần này thảo luận làm thế nào để tạo ra một mô-đun (cũng được gọi như là một phần mở rộng ). Mô-đun bao gồm các tập tin cấu hình để tạo ra một dịch vụ web mở rộng API REST Magento để có đầu vào từ một chương trình bên ngoài. Chương trình này sử dụng HTTP POST và OAuth cuộc gọi đến mã số phiếu giảm giá tự động tạo ra.
    Trong hướng dẫn này, các chương trình bên ngoài là một kịch bản PHP, tuy nhiên, nó có thể là bất kỳ ứng dụng sử dụng các cuộc gọi OAuth và REST.
    Để biết thêm thông tin về phát triển module Magento, xem tài liệu hướng dẫn phát triển trên Magento Connect.
    Lưu ý: Magento thảo luận về các khuyến nghị cho các tập tin và thư mục cho phép và quyền sở hữu trên Wiki của họ, ví dụ,lập lại quyền truy cập tập tin . Đó là vào bạn để xác định quyền sở hữu và quyền truy cập. Tài liệu hướng dẫn này giả định bạn tạo các tập tin và thư mục gốc và thay đổi các điều khoản thích hợp sau. Tham khảo ý kiến một quản trị viên IT nếu bạn không chắc chắn làm thế nào để tiến hành.
    1. Đăng nhập vào máy chủ Magento của bạn và tạo ra các thư mục sau đây:​

    magento-install-dir/app/code/community/CouponDemo
    magento-install-dir/app/code/community/CouponDemo/AutoGen
    magento-install-dir/app/code/community/CouponDemo/AutoGen/etc
    magento-install-dir/app/code/community/CouponDemo/AutoGen/Model
    magento-install-dir/app/code/community/CouponDemo/AutoGen/Model/Api2
    magento-install-dir/app/code/community/CouponDemo/AutoGen/Model/Api2/Coupon
    magento-install-dir/app/code/community/CouponDemo/AutoGen/Model/Api2/Coupon/Rest
    magento-install-dir/app/code/community/CouponDemo/AutoGen/Model/Api2/Coupon/Rest/Admin

    Ví dụ, nếu Magento được cài đặt trong / var / www / Magento, tạo ra các thư mục sau đây:
    /var/www/magento/app/code/community/CouponDemo
    /var/www/magento/app/code/community/CouponDemo/AutoGen/etc
    /var/www/magento/app/code/community/CouponDemo/AutoGen/Model/Api2/Coupon/Rest/Admin

    Hình dưới đây cho thấy một ví dụ.
    ht_magento-REST-API_dir-structure.png
    • Quan trọng:
    1. Bạn phải tạo ra các tập tin và thư mục chính xác như tên thư mục là trường hợp nhạy cảm.​
    2. Không thay đổi bất kỳ giá trị trong các tập tin cấu hình được thảo luận trong phần này.​
    3. Khi bạn tạo các tập tin cấu hình của bạn, để lại không có khoảng trắng ở đầu của các tập tin. Dẫn đầu không gian màu trắng có thể gây ra lỗi khi Magento lần đọc các tập tin và có thể ngăn chặn các mô-đun trình diễn phiếu giảm giá từ làm việc.​

    2. Thay đổi Magento cài đặt-dir / app / etc / modules thư mục.​

    3. Trong thư mục đó, sử dụng một trình soạn thảo văn bản để tạo ra tập tin khai module của bạn. File này phải được đặt tên là CouponDemo_AutoGen.xml và có các nội dung sau đây.​

    Untitled.png

    4. Lưu các thay đổi của bạn để CouponDemo_AutoGen.xml và thoát khỏi trình soạn thảo văn bản.​

    5. Thay đổi Magento cài đặt-dir / app / code / cộng đồng / CouponDemo / AutoGen / etc thư mục.​

    6. Tạo ra một tập tin có tên config.xml với nội dung sau.​
    Untitled.png

    7. Tạo ra một tập tin có tên api2.xml với nội dung sau.

    Untitled.png
    Untitled.png

    8. Lưu các thay đổi của bạn để api2.xml và thoát khỏi trình soạn thảo văn bản.​

    9. Thay đổi các magento-install-dir / app/code/community/CouponDemo/AutoGen/Model/Api2 thư mục.​

    10. Tạo một tập tin tên là Coupon.php với nội dung sau.​
    Untitled.png

    11. Lưu các thay đổi của bạn để Coupon.php và thoát khỏi trình soạn thảo văn bản.​

    12. Thay đổi thư mục magento-install-dir / app/code/community/CouponDemo/AutoGen/Mode/Api/Coupon/Rest/Admin .​

    13. Tạo một tập tin tên là V1.php với nội dung sau.​
    Untitled.png Untitled.png
    Untitled.png

    14. Lưu các thay đổi của bạn để V1.php và thoát khỏi trình soạn thảo văn bản.
    baokhanh482 thích bài này.
  9. Thái Hòa

    Thái Hòa Well-Known Member

    Thiết Quyền trên các file cấu hình

    Quyền truy cập tập tin và quyền sở hữu là quan trọng đối với bất kỳ ứng dụng Linux. Magento cung cấp các hướng dẫn chung cho phép và quyền sở hữu mặc dù sau đó là không phải là một yêu cầu đối với hướng dẫn này. Các tập tin cấu hình và thư mục có thể được sở hữu bởi root hoặc người dùng khác và nó sẽ không ngăn chặn các thủ tục được thảo luận trong hướng dẫn này hoàn tất thành công.
    Tư vấn quản trị viên mạng của bạn nếu bạn không chắc chắn làm thế nào để thiết lập quyền truy cập tập tin và quyền sở hữu. Các thủ tục sau đây là một gợi ý mà thôi.
    Các hướng dẫn Magento được thảo luận trong các thủ tục sau đây được lấy từ bài viết này Wiki Magento và thiết lập như sau:
    Thiết lập quyền sở hữu tập tin và thư mục với tên đăng nhập của bạn : apache-nhóm người dùng .
    Nếu bạn không chắc chắn nhóm sở hữu Apache quy trình, nhập vào lệnh ps-ef | grep apache2 . Các thủ tục sau đây giả định đó là www-data .
    Quyền tập tin thiết lập là 644.
    Thư mục cho phép thiết lập đến 755.
    Tùy chọn thiết lập quyền truy cập và quyền sở hữu theo hướng dẫn Magento:
    1. Là một người dùng với đặc quyền gốc , nhập các lệnh sau theo thứ tự được hiển thị để thay đổi quyền sở hữu của các tập tin và thư mục bạn tạo ra như được thảo luận trong hướng dẫn này:


    Untitled.png

    2. Là một người dùng với đặc quyền gốc, nhập vào các lệnh theo thứ tự hiển thị để thay đổi các điều khoản và quyền sở hữu của CouponDemo_AutoGen.xml

    Untitled.png

    Đảm bảo AutoGen Coupon API

    Vì lý do bảo mật, Magento cho phép các chương trình bên ngoài chỉ có thẩm quyền để kêu gọi các API REST Magento.
    Các phần sau đây thảo luận làm thế nào để cho phép các kịch bản thử nghiệm (được thảo luận trong phần tiếp theo) để gọi API AutoGen Coupon:
    baokhanh482 thích bài này.
  10. Thái Hòa

    Thái Hòa Well-Known Member

    Tạo một vai trò REST cho Coupon AutoGen API

    Để sử dụng Panel Magento Hồ để tạo ra một vai trò cho Coupon AutoGen API:
    1. Đăng nhập vào Admin Panel Magento như là một quản trị viên.

    2. Nhấp System > Web Services > REST - Roles.

    3. Trên trang REST-Roles, hãy nhấp vào Add Admin Role.

    4. Trong Role Name lĩnh vực, nhập Role API Resources.

    5. Nhấp vào Save Role.

    6. Trong thanh điều hướng bên trái, nhấp vào Role API Resources.
    Trang Vai trò tài nguyên chứa một danh sách phân cấp các nguồn lực mà bạn có thể cấp hoặc từ chối Auto Coupon Tạo truy cập vai trò Demo.

    7. Từ danh sách Resource Access, nhấp vào Custom.

    8. Chọn hộp kiểm bên cạnh các nút có nhãn CouponDemo API.
    Magento tự động kiểm tra các hộp kiểm tra đứa trẻ như là con số sau đây cho thấy.

    1.png

    9. Nhấp vào Save Role.
    Magento tiết kiệm các nguồn tài nguyên API cho phép bạn cấp cho Auto Coupon Tạo vai trò REST của Demo
    Auto Coupon Tạo Demo vai trò bây giờ có sự cho phép để sử dụng API AutoGen Coupon.
    baokhanh482 thích bài này.
  11. Thái Hòa

    Thái Hòa Well-Known Member

    Thêm Người dùng Auto Coupon Tạo Vai trò Demo

    Bây giờ bạn có một vai trò, bạn phải thêm người dùng để cho họ được phép gọi Coupon AutoGen API như sau:
    1. Trong thanh điều hướng bên trái, nhấp vào Role Users.
    2. Nhấp vào Reset Filter(ở góc trên bên phải của trang).
    Các trang web hiển thị tất cả người dùng đăng ký như hình minh họa sau đây.

    1.png

    3. Chọn hộp kiểm bên cạnh mỗi người dùng cấp những đặc quyền người sử dụng để truy cập vào các nguồn lực sẵn có Auto Coupon Tạo REST của Demo vai trò đó là, sự cho phép để gọi Coupon AutoGen API.​
    Lưu ý: Nếu hiển thị hộp một hộp thoại cảnh báo, nhấn OK để cho qua. Cảnh báo này không có liên quan khi thêm người sử dụng vai trò REST của.​

    4. Khi thực hiện xong, nhấp vào Save Role.​
    quy định người sử dụng (s) bây giờ có thể cấp một chương trình bên ngoài quyền để gọi Coupon AutoGen API.
    baokhanh482 thích bài này.
  12. Thái Hòa

    Thái Hòa Well-Known Member

    Thiết lập thuộc tính REST cho Coupon AutoGen API

    Phần này thảo luận làm thế nào để cho phép bất kỳ người sử dụng với một REST Admin role để sử dụng API AutoGen Coupon.
    Để thiết lập các thuộc tính REST cho REST Admin role:
    1. Nhấp System > Web Services > REST - Attributes.

    2. Trên trang REST Attributes, dưới User Type, nhấp vào Admin.

    3. Trong phần User Type Resources, từ danh sách Resource Access, hãy nhấp vào Custom.

    4. Chọn CouponDemo API kiểm tra hộp.

    Làm như vậy lựa chọn tất cả các hộp kiểm tra của con, như hình minh họa sau đây.

    1s.png

    5. Bấm vào Save.

    Bất kỳ người sử dụng với vai trò Hồ REST bây giờ có thể đọc từ và ghi vào các API AutoGen Coupon.
    baokhanh482 thích bài này.
  13. Thái Hòa

    Thái Hòa Well-Known Member

    Tạo một người tiêu dùng OAuth cho kịch bản thử nghiệm của bạn

    Phần này thảo luận làm thế nào để tạo ra một người tiêu dùng, do đó bạn có thể kiểm tra API AutoGen Coupon trước khi bạn triển khai nó trong một hệ thống sản xuất. Sau khi thử nghiệm thành công API, bạn có thể xóa người dùng này.
    1. Trong Hồ Magento Panel, bấm vào System > Web Services > REST - OAuth Consumers.

    2. Click Add New (ở góc trên bên phải của trang).

    Các New Consumer trang hiển thị như hình minh họa sau đây.

    1.png

    3. Trong Name, nhập Coupon AutoGen Test Driver.

    4. Để trống các lĩnh vực khác.

    5. Ghi lại các giá trị được hiển thị trong Key and Secret text boxes.

    Lưu ý: Các giá trị quan trọng và bí mật được lưu trữ trong cơ sở dữ liệu Magento trong bảng oauth_consumer . Nó có thể được thuận tiện hơn cho bạn sử dụng phpmyadmin hoặc cơ sở dữ liệu công cụ để lấy từ cơ sở dữ liệu sau khi bạn lưu vai trò.

    Bạn phải bao gồm các giá trị trong các kịch bản thử nghiệm, bạn sẽ viết trong phần tiếp theo. Kịch bản sử dụng những giá trị này để xác định chính nó để Magento.

    6. Nhấp vào Save (ở góc trên bên phải của trang).

    7. Đăng xuất của Hội đồng Hồ Magento.

    Kiểm tra các API AutoGen Coupon

    Phần này thảo luận làm thế nào để tạo ra một tập tin PHP đơn giản mà hoạt động như một chương trình bên ngoài, với các điều khoản cấp cho người tiêu dùng OAuth, cho phép các chương trình để sử dụng phương pháp HTTP POST để tự động tạo ra các mã số phiếu giảm.
    Bạn có thể sử dụng bất kỳ loại OAuth / REST cuộc gọi, trên thực tế, chẳng hạn như sử dụng Client REST Firefox plug-in như được thảo luận ở đây.
    Các phần sau đây thảo luận làm thế nào để tạo ra và chạy các kịch bản thử nghiệm:
    baokhanh482 thích bài này.
  14. Thái Hòa

    Thái Hòa Well-Known Member

    Tạo các kịch bản thử nghiệm

    Các kịch bản thử nghiệm mà bạn tạo ra các cuộc gọi API AutoGen Coupon, gây Magento để tạo ra các mã số phiếu giảm giá các quy định và trả lại cho người gọi ( rest_test.php ) trong hình thức của một chuỗi mã hóa JSON. Cuối cùng, máy chủ đáp ứng với yêu cầu của trình duyệt với một trang HTML có chứa các mã số phiếu giảm giá được tạo ra.
    Các mã PHP sau:
    • Sử dụng OAuth consumerKey và consumerSecret để thiết lập các khách hàng OAuth.
    • Xác định các dữ liệu để vượt qua mảng $ couponGenerationData . Các dữ liệu cần bao gồm:
      • ID quy tắc (được liệt kê bên cạnh các quy tắc trong danh sách quy tắc trong Bảng Hồ Magento)
      • Số mã mong muốn (trong trường hợp này, hai)
      • Chiều dài của các mã
      • Các định dạng được sử dụng (trong trường hợp này, chữ và số)
    • Mảng các tham số sau đó được thông qua tại lấy lệnh với resourceUrl cho các cuộc gọi dịch vụ web.
    Cuối cùng, máy chủ đáp ứng với yêu cầu của trình duyệt với một trang HTML có chứa các mã số phiếu giảm giá được tạo ra.
    Để tạo ra các kịch bản thử nghiệm, tên là rest_test.php:
    1. Tạo tập tin magento-install-dir/rest_test.php với nội dung sau.
    Untitled.png
    Untitled.png
    Untitled.png
    Untitled.png

    2. Bảng sau đây thảo luận về các giá trị bạn phải thay đổi.

    Untitled.png

    3. Lưu file và đóng trình soạn thảo văn bản.
    baokhanh482 thích bài này.
  15. Thái Hòa

    Thái Hòa Well-Known Member

    Tạo các kịch bản thử nghiệm

    Các kịch bản thử nghiệm mà bạn tạo ra các cuộc gọi Coupon AutoGen API, gây Magento để tạo ra các mã số phiếu giảm giá các quy định và trả lại cho người gọi ( rest_test.php ) trong hình thức của một chuỗi mã hóa JSON. Cuối cùng, máy chủ đáp ứng với yêu cầu của trình duyệt với một trang HTML có chứa các mã số phiếu giảm giá được tạo ra.
    Các mã PHP sau:
    • Sử dụng OAuth consumerKey và consumerSecret để thiết lập các OAuth client.
    • Xác định các dữ liệu để vượt qua mảng $couponGenerationData . Các dữ liệu cần bao gồm:
      • The rule ID (được liệt kê bên cạnh các quy tắc trong danh sách quy tắc trong Bảng Hồ Magento)
      • The number of codes desired (trong trường hợp này, hai)
      • The length of the codes
      • The format to be user (trong trường hợp này, chữ và số)
    • Mảng các tham số sau đó được thông qua tại lấy lệnh với resourceUrl cho các cuộc gọi dịch vụ web.
    Cuối cùng, máy chủ đáp ứng với yêu cầu của trình duyệt với một trang HTML có chứa các mã số phiếu giảm giá được tạo ra.
    Để tạo ra các kịch bản thử nghiệm, tên là rest_test.php:
    1. Tạo tập tin magento-install-dir/rest_test.php với nội dung sau.

    Untitled1.png
    Untitled2.png
    Untitled3.png
    Untitled4.png

    2. Bảng sau đây thảo luận về các giá trị bạn phải thay đổi.

    Untitled.png

    3. Lưu file và đóng trình soạn thảo văn bản.

    Các file đính kèm:

    baokhanh482 thích bài này.
  16. Thái Hòa

    Thái Hòa Well-Known Member

    Chạy kịch bản thử nghiệm

    Để chạy các kịch bản thử nghiệm:
    1. Bắt đầu một trình duyệt web.

    2. Trong browser's address hoặc location của trình duyệt, nhập:

    http:// Magento-server-host-ip [: port ] / rest_test.php
    3. Khi được nhắc, hãy nhập các thông tin đăng nhập của người tiêu dùng OAuth bạn tạo ra như thảo luận trong Creating an OAuth Consumer for Your Test Script.

    4. Nhấp vào Login.

    5. Khi được nhắc, hãy nhấp vào Ủy quyền cho cấp ủy quyền cho các kịch bản để truy cập tài khoản của người tiêu dùng OAuth của bạn, như hình minh họa sau đây.
    1.png

    6. Khi được nhắc, đăng nhập như là người dùng
    Sau khi bạn đăng nhập vào, hai mã số phiếu giảm giá mới hiển thị như sau để xác nhận bạn thành công sử dụng các API. Nếu trình duyệt của bạn sẽ hiển thị một trang như thế này, bạn đã thực hiện thành công Coupon AutoGen REST API![​IMG]

    Để tùy chọn xem các mã trong Admin Panel:
    1. Đăng nhập vào Admin Panel như là một quản trị viên.
    2. Bấm vào Promotions > Shopping Cart Price Rules.
    3. Nhấp vào Generate Coupons.
    4. Trong thanh điều hướng bên trái, nhấp vào Manage Coupon Codes.
      Các mã bạn tạo ra màn hình hiển thị bằng tay trước đó với các mã mới (đánh dấu đỏ) như hình minh họa sau đây.
    1.png
    baokhanh482 thích bài này.
  17. Thái Hòa

    Thái Hòa Well-Known Member

    Re-Enabling Magento's Cache

    Chỉ sau khi hoàn thành các bài kiểm tra, bạn nên tái kích hoạt hệ thống bộ nhớ đệm của Magento, do đó, trở lại hoạt động bình thường.
    Để kích hoạt lại bộ nhớ cache Magento:
    1. Trong Bảng điều khiển Hồ Magento, nhấp vàoSystem>Cache Management.
    2. Trên trang Cache Storage Management, nhấp vào Select All(ở phía trên bên trái của trang).

    Dấu chọn hiển thị bên cạnh mỗi bộ nhớ cache Magento trong danh sách.

    3. Nhấp vào Kích hoạt từ các Actions danh sách.

    4. Click vào Submit .

    Magento cho phép lưu trữ được lựa chọn. Bạn có thể cho biết, vì chỉ báo tình trạng DISABLED màu đỏ được thay thế bằng một chỉ báo màu xanh lá cây ENABLED.

    5. Nhấp vàoSelect Allmột lần nữa.

    6. Click vào Refresh từ Actions danh sách.

    7. Click vào Submit .

    Magento tải lại các cache được lựa chọn. Magento thực hiện hành động nhanh hơn nhiều.

    Xin chúc mừng! Bạn đã thêm thành công Coupon AutoGen API REST API của Magento. Sau các thủ tục tương tự, bạn có thể tiếp xúc với rất nhiều các chức năng Magento cho các chương trình bên ngoài.
    Xử lý sự cố Gợi ý

    Các phần sau đây thảo luận về các giải pháp cho các vấn đề bạn có thể gặp phải khi thiết lập cuộc biểu tình này:
    baokhanh482 thích bài này.
  18. Thái Hòa

    Thái Hòa Well-Known Member

    OAuth Package Installation Error: `make' failed

    Problem: OAuth gói cài đặt không thành công với các lỗi ERROR: `make 'thất bại.
    Description: Trong một số trường hợp, lệnh oauth pecl install không cài đặt một trình biên dịch C. Nếu bạn gặp phải những lỗi sau đây, bạn phải cài đặt làm cho gói, nếu không, OAuth sẽ không biên dịch:
    1: make: not found
    ERROR: `make' failed

    Giải pháp:
    1. Nhập các lệnh sau theo thứ tự hiển thị như là một người dùng với đặc quyền​
    apt-get install make
    pecl install oauth

    2. Hãy chắc chắn rằng tin nhắn Xây dựng quá trình hoàn thành thành công sẽ hiển thị để cho biết OAuth biên dịch thành công.

    Nếu màn hình sau đây, bạn phải chỉnh sửa của bạn php.ini tập tin để tìm thư viện OAuth:
    configuration option "php_ini" is not set to php.ini location​
    You should add "extension=oauth.so" to php.ini​

    3. Mở php.ini trong một trình soạn thảo văn bản.
    Nếu bạn không chắc chắn nó nằm nhìn trong phpinfo.php xuất trang. Thêm dòng sau bất cứ nơi nào trong php.ini:
    [OAuth]​
    extension=oauth.so​

    4. Lưu thay đổi để php.ini và thoát khỏi trình soạn thảo văn bản.

    5. Nhập lệnh sau để khởi động lại máy chủ web Apache.
    service apache2 restart​

    6. Xác minh cài đặt OAuth thành công như được thảo luận trong xác nhận rằng OAuth cài đặt thành công .
    baokhanh482 thích bài này.
  19. Thái Hòa

    Thái Hòa Well-Known Member

    CouponDemo API Calls Options Don't Display in the Admin Panel

    ProblemSau khi thiết lập các tập tin cấu hình CouponDemo,CouponDemo Callskiểm tra hộp không hiển thị trong Admin Panel. Một mẫu được hiển thị trong hình trước đó trong hướng dẫn này.
    Solition: CouponDemo Calls kiểm tra hộp hiển thị để cho biết bạn thiết lập các mô-đun một cách chính xác. Nếu họ không hiển thị, hoặc bộ nhớ cache Magento đã không được hoàn toàn xóa hoặc có điều gì đó sai trái với cấu trúc thư mục hoặc tập tin cấu hình.
    Solution: Sử dụng các bước sau đây để phân lập và sửa vấn đề:
    1. Hãy chắc chắn rằng cấu trúc thư mục của bạn được thiết lập exactly như được hiển thị trongthis figure earlier in this guide.

    2. Hãy chắc chắn rằng bạn đã sao chép exact text từ các tập tin cấu hình mẫu được thảo luận trong TBD Không thay đổi bất cứ điều gì , và nhớ trường hợp đó là quan trọng.

    3. Xóa bộ nhớ cache Magento trong tất cả các cách sau đây:

    1. Là một người dùng với quyền đủ để xóa các tập tin và thư mục trong việc cài đặt Magento, nhập các lệnh sau
    rm -r magento-install-dir/var/cache
    rm -r magento-install-dir/var/session

    2. Đăng nhập vào Admin Panel Magento như là một quản trị viên và nhấp vào System > Cache Management.
    Nhấp Flush Magento cache.
    Nhấp Flush Cache Storage và làm theo các hướng dẫn trên màn hình để xóa các lưu trữ bộ nhớ cache.

    4. Đăng xuất của Hội đồng Hồ Magento và đăng nhập lại.

    5. Nhấp System > REST - Roles.

    6. Nhấp vào Coupon Auto Generate Demo.

    7. Trong thanh điều hướng bên trái, nhấp vào Role Generate Demo.

    8. Nếu CouponDemo API Calls hộp kiểm tra không hiển thị, double-check all of the .xml configuration files để đảm bảo là không có khoảng trắng hàng đầu (nghĩa là, có không có dòng trống ở đầu của các tập tin.
    Hủy bỏ bất kỳ dòng trống và lưu xml. file.
    baokhanh482 thích bài này.
  20. Thái Hòa

    Thái Hòa Well-Known Member

    Errors Running rest_test.php

    Các phần sau đây thảo luận về các vấn đề bạn có thể gặp khi bạn chạy rest_test.php trong một trình duyệt web:
    Invalid auth/bad request: oauth_problem=consumer_key_rejected

    Các lỗi sau đây sẽ hiển thị trong trình duyệt web:
    Invalid auth/bad request (got a 401, expected HTTP/1.1 20X or a redirect)
    {"messages":{"error":[{"code":401,"message":"oauth_problem=consumer_key_rejected"}]}}
    Mô tả: xác thực OAuth nỗ lực của bạn không thành công bởi vì các thông tin không chính xác.
    Giải pháp: Mở rest_test.php trong một trình soạn thảo văn bản và xác minh các giá trị trong những điều sau đây:
    $consumerKey = 'value';
    $consumerSecret = 'value';
    Bạn có thể tìm thấy những giá trị trong oauth_consumer bảng cơ sở dữ liệu hoặc trong bảng quản trị: System > Web Services > REST - OAuth Consumers.
    Sau khi kiểm tra các giá trị chính xác, lưu thay đổi của bạn để rest_test.php và thử lại.
    Invalid auth/bad request: Rule was not found

    Các lỗi sau đây sẽ hiển thị trong trình duyệt web:
    Invalid auth/bad request (got a 404, expected HTTP/1.1 20X or a redirect)
    {"messages":{"error":[{"code":404,"message":"Rule was not found."}]}}

    Mô tả: Các giỏ mua hàng quy định khuyến mại không thể được tìm thấy.
    Giải pháp: Mở rest_test.php trong một trình soạn thảo văn bản và xác minh giá trị của những điều sau đây:
    $ruleId = value;

    Bạn có thể tìm thấy giá trị này trong Admin Panel: Promotions > Shopping Cart Price Rules.
    Thay đổi giá trị trong rest_test.php , lưu nó, và thử lại.
    Invalid auth/bad request: /magento/oauth/initiate was not found on this server

    Các lỗi sau đây sẽ hiển thị trong trình duyệt web:
    Invalid auth/bad request (got a 404, expected HTTP/1.1 20X or a redirect)
    Not Found
    The requested URL /magento/oauth/initiate was not found on this server.

    Mô tả: HTTP chuyển hướng không thành công, rất có thể vì máy chủ web viết lại không đúng kích hoạt.
    Giải pháp: Hãy chắc chắn rằng máy chủ web đã viết lại được kích hoạt. Các thủ tục mà bạn sử dụng phụ thuộc vào máy chủ web của bạn và hệ điều hành. Một ví dụ cho Ubuntu có thể được tìm thấy ở đây .
    Next Steps
    • Refer to Magento APIs - REST for documentation explaining how the Magento's REST API framework works.
    • Refer to Documentation REST for instructions explaining how to use the REST APIs included in Magento "out of the box".
    baokhanh482 thích bài này.

Chia sẻ trang này