Рубрики
Uncategorized

Разработка PHP для реализации функции экспресс – запроса

Автор оригинала: David Wong.

Предыстория: не так давно мы разработали и внедрили функции JD API. Мы обнаружили, что было бы слишком много времени, если бы мы изменили другие экспресс-доставки и переработали его. Поэтому наиболее разумно выбрать сторонний экспресс-API. Разработка и внедрение express bird и express 100 приведены ниже.

1、 Экспресс-птица

1. API Express bird для запроса логистики в режиме реального времени

1. Прежде всего, должна быть учетная запись express bird для улучшения пользовательского приложения в соответствии с требованиями другой стороны.

2. Откройте сервис в соответствии с вашими собственными потребностями

3. Введите “мой интерфейс API”, ознакомьтесь с требованиями к дизайну в соответствии с документами по разработке в разделе “интерфейс”, загрузите официальную демонстрационную версию и отредактируйте ее в соответствии с вашим собственным кодом.

2. Реализация кода “Мгновенный запрос”

1. Измените официальный демо-код. Я разделяю здесь экспресс-класс, чтобы улучшить применимость

2. Введите файл класса, создайте экземпляр и протестируйте

(Примечание: при обращении к этому API ясно, что в дополнение к параметру номера входящего логистического документа также необходимо” Экспресс-код компании “, его можно загрузить и сохранить в базе данных собственной платформы разработки. Обнаружено, что в таблице excel нет JD logistics, но ее можно найти с помощью “JD”. Предполагается, что обновление таблицы происходит недостаточно своевременно.)

3. Выходной эффект

Два. Экспресс-100 разработка и внедрение

1. Создайте экземпляр класса операции и тестовый код

include_once 'Express.php';
$waybillCode = 'VA33016759650';
$express = new Express();
$res = $express->expressinfo($waybillCode);
$trace = $res['data'];
var_dump($trace);

((Примечание: здесь необходимо отправить только один номер экспресс-счета, который является более интеллектуальным, чем предыдущий экспресс-birdAPI.)

2. Данные испытаний

3. Эффект простого дизайна интерфейса выглядит следующим образом, только для справки

4. Дополните справочный код для сопоставления и отображения общих логистических компаний(2017-1-19)

Очевидно, что нам нужно сопоставить “com” в полученной логистической информации с кодом, предоставленным express 100, и тогда мы обнаружим, что в базу данных можно легко ввести только документы word, если есть таблица excel

Обновленный кодекс express.class.php заключается в следующем:

 getorder($order);
    $express = $this->traceExpress();
    foreach ($express as $key => $value){
      if ($result['com'] == $key){
        $result['comName'] = $value;
        break;
      }else{
        $result ['comname '] =' no match yet ';
      }
    }
    return $result;
  }

  //Express 100 logistics company
  public function traceExpress(){
    $express = array(
      'AAE' = > AAE global delivery ',
      'Anjie' = > Anjie Express',
      'anxindakuaixi' = > Anxinda Express',
      'biaojikuaidi' = > 'Puma Express',
      'datianwuliu' = > Datian logistics',
      'debangwuuliu' = > Debang logistics',
      'EMS' = > EMS express',
      'Guotong kuaidi' = > 'Guotong Express',
      'Huitong kuaidi' = > Huitong Express',
      'Jixianda' = > Jixianda ',
      'kuaijiesudi' = > express mail ',
      'quanfengkuaidi' = > 'Quanfeng Express',
      'rufengda' = > rufengda ',
      'Shentong' = > Shentong ',
      'Shunfeng' = > Shunfeng ',
      'Tiantian' = > 'express every day',
      'xinfengwuliu' = > Xinfeng logistics',
      'yibangwuuliu' = > 'Yibang Express',
      'Yuantong' = > circular Express',
      'Yunda' = > 'Yunda Express',
      'zhaojisong' = > 'Home Express',
      'Zhongtong' = > 'China Express',
      'JD' = > JD Express'
    );
    return $express;
  }

  /*
   *How to get web content
  */
  private function getcontent($url)
  {
    if (function_exists("file_get_contents")) {
      $file_contents = file_get_contents($url);
    } else {
      $ch   = curl_init();
      $timeout = 5;
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
      $file_contents = curl_exec($ch);
      curl_close($ch);
    }
    return $file_contents;
  }

  /*
   *How to get the corresponding name and value
  */
  private function expressname($order)
  {
    $name  = json_decode($this->getcontent("http://www.kuaidi100.com/autonumber/auto?num={$order}"), true);
    $result = $name[0]['comCode'];
    if (empty($result)) {
      return false;
    } else {
      return $result;
    }
  }

  /*
   *Return $data array express array query failed return false
   *@ param $order
   *$data ['ischeck '] = = 1 has been signed in
   *$data ['data '] express real-time query status array
  */
  public function getorder($order)
  {
    $keywords = $this->expressname($order);
    if (!$keywords) {
      return false;
    } else {
      $result = $this->getcontent("http://www.kuaidi100.com/query?type={$keywords}&postid={$order}");
      $data  = json_decode($result, true);
      return $data;
    }
  }
}

Приложение исходный код

Для получения дополнительной информации о PHP, читатели, которые интересуются PHP, пожалуйста, ознакомьтесь со следующими разделами: Краткое описание использования PHP curl, краткое описание навыков сетевого программирования PHP, коллекция навыков работы с массивами PHP, краткое описание использования строк PHP, учебник по структуре и алгоритму PHP и краткое описание навыков работы с данными в формате JSON на PHP

Я надеюсь, что эта статья будет полезна для программирования на PHP.