Подключение API от rapidapi.com
Спешу поделиться небольшим рассказом о том, как я успешно реализовал следующий проект: «Подключение API от rapidapi.com». Возможно кому-то из вас он будет интересен, а кто-то пожелает заказать аналогичную работу. Ко мне обратился клиент — владелец бизнеса по продаже почтовых «лейблов» на рынке США и ЕС, нашедший меня на фриланс-бирже Kwork , и предложивший мне сотрудничество. Работа с клиентом велась с использованием фриланс-биржи Kwork, и все взаиморасчеты производились с использованием системы «безопасной сделки», также при необходимости мы всегда могли подключить Арбитра, но это не потребовалось, сделка прошла как всегда гладко.
Поставленные задачи
В рамках данного проекта, были поставлены и реализованы следующие задачи:
- Подключить API от https://rapidapi.com/ и переписать метод(php код) работы с ним, по аналогии функционала с прежним методом API;
- Разобрать получаемый JSON код;
- Настроить работы CRON по расписанию;
- Учесть суточные лимиты отправляемых запросов к API.
Сфера проведения работ
- Бэкенд (работа со скриптами PHP обеспечивающих работу бэкенда, админпанели, базы данных MySQL);
Стек технологий
Языки программирования и фреймворки:
- PHP 7;
Базы данных и системы кеширования:
- База данных MySQL (MariaDB);
Внешние сервисы
- Изучение документации, подключение и настройка внешнего сервиса по API (Application Programming Interface);
Дополнительно в рамках работы требовалось
- Провести исследование, изучить техническую часть проекта, ознакомиться с документацией, дать оценку сложности, стоимости и сроков, а также вероятность проведения дополнительных работ выходящих за рамки основного списка поставленных задач;
- В рамках проекта были зафиксированы и оговорены точные сроки сдачи работы, без возможности их переноса, т.е. был установлен дедлайн, это накладывало на меня дополнительную ответственность, с чем разумеется я справился;
Реализация проекта
Работа была завершена, и по итогу было реализовано следующее:
Все задачи были реализованы в короткий срок, произведена проверка и тестирование на корректность работы нового метода для работы с API.
Функционал — Каждую минуту по CRON, происходит запуск PHP скрипт, который отправляем запрос по API на удаленный сервер и по трек-номеру посылки, получает данные о её движении, затем эти данные вносятся в систему и отображаются пользователю. Плюс, в случае если посылка не была отправлена, то пользователю осуществляется возврат ранее оплаченных за отправку средств.
<?php $apiAuth = 'СЕКРЕТНЫЙ_КОД_API'; $apiKey = 'КЛЮЧ_API'; $track = 'ТРЕК НОМЕР ОТПРАВЛЯЕНИЯ ДЛЯ США ИЛИ ЕС'; $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://trackingpackage.p.rapidapi.com/TrackingPackage?trackingNumber=" . $track, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => [ "Authorization: Basic " . $apiAuth, "x-rapidapi-host: trackingpackage.p.rapidapi.com", "x-rapidapi-key: " . $apiKey ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { $response = json_decode($response); print_R(date_parse($response->TrackingDetails[0]->EventDateTime)); print_R($response); } |
Пример ответа API в формате JSON:
{ "TrackingNumber": "ТРЕК НОМЕР ОТПРАВЛЯЕНИЯ ДЛЯ США ИЛИ ЕС", "Delivered": false, "Carrier": "FedEx", "ServiceType": "STANDARD_OVERNIGHT", "PickupDate": "", "ScheduledDeliveryDate": "", "ScheduledDeliveryDateInDateTimeFromat": null, "StatusCode": "OC", "Status": "Shipment information sent to FedEx", "StatusSummary": "Shipment information sent to FedEx", "Message": "", "DeliveredDateTime": "", "DeliveredDateTimeInDateTimeFormat": null, "SignatureName": "", "DestinationCity": "Central Falls", "DestinationState": "RI", "DestinationZip": "", "DestinationCountry": null, "TrackingDetails": [ { "EventDateTime": "2024-10-21T03:52:38-05:00", "Event": "OC Shipment information sent to FedEx", "EventAddress": " ", "State": "", "City": "", "Zip": "", "EventDateTimeInDateTimeFormat": "2024-10-21T03:52:38" } ] } |
Также было сделано
- Клиент пожелал обеспечить проект «безопасной сделкой», что я также всегда приветствую. Спокойствие обеих сторон, всегда продуктивно сказывается на рабочем процессе;
Похожие записи
Оставить комментарий
Full Stack
Senior, Architect
предложить оффер
- jQuery: как получить значение атрибута?
- PHP работа с изображением, класс SimpleImage
- Интеграция с API ОСАГО сайта sravni.ru
- Комментарии на PHP, Ajax, mySQL
- PHP: Категории бесконечного уровня вложенности.
- Nginx редирект на другой сервис с сохранением URL спросил (а) Сергей
- Исполнитель пропал, почему такое случается и понять с кем работать? спросил (а) Артем
- Можно ли WordPress считать универсальным движком? спросил (а) Андрей
- Что такое самописный скрипт или CMS? спросил (а) Антон
- Как при поиске в linux используя grep, добавить исключения? спросил (а) Алексей
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Как создать Telegram-бота с авторизацией через сайт к записи
- PHP скрипт: каталог закладок на сайты к записи
- Валидация на PHP к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
Archive
- +2024 (24)
- Ноябрь 2024 (9)
- Октябрь 2024 (8)
- Сентябрь 2024 (1)
- Август 2024 (5)
- Май 2024 (1)
- +2023 (27)
- Ноябрь 2023 (1)
- Октябрь 2023 (13)
- Сентябрь 2023 (10)
- Апрель 2023 (1)
- Март 2023 (1)
- Февраль 2023 (1)
- +2022 (21)
- Декабрь 2022 (11)
- Ноябрь 2022 (1)
- Май 2022 (2)
- Апрель 2022 (2)
- Март 2022 (3)
- Февраль 2022 (1)
- Январь 2022 (1)
- +2021 (17)
- Декабрь 2021 (5)
- Ноябрь 2021 (2)
- Июль 2021 (1)
- Июнь 2021 (2)
- Май 2021 (5)
- Апрель 2021 (1)
- Март 2021 (1)
- +2020 (20)
- Декабрь 2020 (6)
- Сентябрь 2020 (2)
- Август 2020 (1)
- Июль 2020 (2)
- Май 2020 (2)
- Апрель 2020 (2)
- Март 2020 (2)
- Февраль 2020 (1)
- Январь 2020 (2)
- +2019 (18)
- Декабрь 2019 (3)
- Ноябрь 2019 (2)
- Октябрь 2019 (2)
- Сентябрь 2019 (1)
- Август 2019 (2)
- Июль 2019 (1)
- Июнь 2019 (1)
- Апрель 2019 (2)
- Март 2019 (1)
- Февраль 2019 (3)
- +2018 (44)
- Декабрь 2018 (4)
- Ноябрь 2018 (7)
- Октябрь 2018 (8)
- Сентябрь 2018 (1)
- Август 2018 (4)
- Июль 2018 (5)
- Май 2018 (3)
- Апрель 2018 (7)
- Март 2018 (1)
- Февраль 2018 (2)
- Январь 2018 (2)
- +2017 (19)
- Декабрь 2017 (2)
- Ноябрь 2017 (1)
- Октябрь 2017 (1)
- Сентябрь 2017 (2)
- Июль 2017 (1)
- Июнь 2017 (1)
- Май 2017 (2)
- Апрель 2017 (3)
- Март 2017 (2)
- Февраль 2017 (1)
- Январь 2017 (3)
- +2016 (36)
- Декабрь 2016 (3)
- Ноябрь 2016 (3)
- Октябрь 2016 (2)
- Сентябрь 2016 (3)
- Август 2016 (7)
- Июнь 2016 (3)
- Май 2016 (3)
- Апрель 2016 (3)
- Февраль 2016 (1)
- Январь 2016 (8)
- +2015 (36)
- Ноябрь 2015 (5)
- Октябрь 2015 (4)
- Сентябрь 2015 (1)
- Август 2015 (8)
- Июнь 2015 (1)
- Май 2015 (4)
- Апрель 2015 (8)
- Март 2015 (3)
- Февраль 2015 (2)
- +2014 (26)
- Ноябрь 2014 (2)
- Октябрь 2014 (5)
- Сентябрь 2014 (6)
- Июль 2014 (1)
- Июнь 2014 (2)
- Май 2014 (3)
- Апрель 2014 (6)
- Февраль 2014 (1)
- +2013 (27)
- Декабрь 2013 (2)
- Ноябрь 2013 (1)
- Октябрь 2013 (1)
- Август 2013 (1)
- Июль 2013 (3)
- Июнь 2013 (10)
- Май 2013 (1)
- Апрель 2013 (2)
- Февраль 2013 (3)
- Январь 2013 (3)
- +2012 (41)
- Декабрь 2012 (2)
- Ноябрь 2012 (3)
- Октябрь 2012 (7)
- Сентябрь 2012 (2)
- Август 2012 (1)
- Июль 2012 (3)
- Июнь 2012 (2)
- Май 2012 (6)
- Апрель 2012 (2)
- Март 2012 (7)
- Февраль 2012 (5)
- Январь 2012 (1)
- +2011 (57)
- Декабрь 2011 (6)
- Ноябрь 2011 (2)
- Октябрь 2011 (3)
- Сентябрь 2011 (5)
- Август 2011 (4)
- Июль 2011 (3)
- Июнь 2011 (3)
- Май 2011 (3)
- Апрель 2011 (4)
- Март 2011 (10)
- Февраль 2011 (5)
- Январь 2011 (9)
- +2010 (43)
- Декабрь 2010 (7)
- Ноябрь 2010 (21)
- Октябрь 2010 (14)
- Сентябрь 2010 (1)
Свежие записи
- Парсер товаров с Taobao 08.11.2024
- Упаковка и минификация кода JavaScript онлайн 07.11.2024
- Как эффективно анализировать логи при DDOS атаке 07.11.2024
- Бот для автоматических заказов на OZON (плагин для Chrome) 07.11.2024
- Ограничить доступ к серверу только с IP Cloudflare 06.11.2024