Coder Social home page Coder Social logo

dhanuaribastari / line-bot-sdk-php Goto Github PK

View Code? Open in Web Editor NEW

This project forked from line/line-bot-sdk-php

0.0 1.0 0.0 425 KB

SDK of the LINE Messaging API for PHP

Home Page: https://packagist.org/packages/linecorp/line-bot-sdk

License: Apache License 2.0

Makefile 0.88% Shell 0.61% PHP 98.51%

line-bot-sdk-php's Introduction

line-bot-sdk-php

Build Status

SDK of the LINE Messaging API for PHP.

About the LINE Messaging API

See the official API documentation for more information.

English: https://devdocs.line.me/en/
Japanese: https://devdocs.line.me/ja/

Installation

Install the LINE Messaging API SDK using Composer.

$ composer require linecorp/line-bot-sdk

Getting started

Create the bot client instance

The bot client instance is a handler of the Messaging API.

$httpClient = new \LINE\LINEBot\HTTPClient\CurlHTTPClient('<channel access token>');
$bot = new \LINE\LINEBot($httpClient, ['channelSecret' => '<channel secret>']);

The constructor of the bot client requires an instance of HTTPClient. This library provides CurlHTTPClient by default.

Call API

You can call an API through the bot client instance.

A very simple example:

$response = $bot->replyText('<reply token>', 'hello!');

This procedure sends a message to the destination that is associated with <reply token>.

A more advanced example:

$textMessageBuilder = new \LINE\LINEBot\MessageBuilder\TextMessageBuilder('hello');
$response = $bot->replyMessage('<reply token>', $textMessageBuilder);
if ($response->isSucceeded()) {
    echo 'Succeeded!';
    return;
}

// Failed
echo $response->getHTTPStatus . ' ' . $response->getRawBody();

LINEBot#replyMessage() takes the reply token and MessageBuilder. The method sends a message that is built by MessageBuilder to the destination.

Components

MessageBuilder

The type of message that is sent depends on the type of instance of MessageBuilder. For example, the method sends a text message if you pass TextMessageBuilder and it sends an image message if you pass ImaageMessageBuilder.

For more detailed information on MessageBuilder, see \LINE\LINEBot\MessageBuilder and the namespace.

Other methods that take MessageBuilder behave in the same way.

Response

Methods that call API returns Response. Response has three methods;

  • Response#isSucceeded()
  • Response#getHTTPStatus()
  • Response#getRawBody()
  • Response#getJSONDecodedBody()
  • Response#getHeader($name)
  • Response#getHeaders()

You can use these methods to check the response status and take response body.

Response#isSucceeded()

Returns a Boolean value. The return value represents whether the request succeeded or not.

Response#getHTTPStatus()

Returns the HTTP status code of a response.

Response#getRawBody()

Returns the body of the response as raw data (a byte string).

Response#getJSONDecodedBody()

Returns the body that is decoded in JSON. This body is an array.

Response#getHeader($name)

This method returns a response header string, or null if the response does not have a header of that name.

Response#getHeaders()

This method returns all of the response headers as string array.

Webhook

LINE's server sends user actions (such as a message, image, or location) to your bot server. Request of that contains event(s); event is action of the user.

The following shows how the webhook is handled:

  1. Receive webhook from LINE's server.
  2. Parse request payload by LINEBot#parseEventRequest($body, $signature).
  3. Iterate parsed events and some react as you like.

The following examples show how webhooks are handled:

More information

For more information, see the official API documents and PHPDoc. If it's your first time using this library, we recommend taking a look at examples and the PHPDoc of \LINE\LINEBot.

Hints

Examples

This repository contains two examples of how to use the LINE Messaging API.

A simple sample implementation. This application reacts to text messages that are sent from users.

A full-stack (and slightly complex) sample implementation. This application demonstrates a practical use of the LINE Messaging API.

PHPDoc

https://line.github.io/line-bot-sdk-php/

This library provides PHPDoc to describe how to use the methods. You can generate the documentation using apigen using the following command.

$ make doc

The HTML files are generated in docs/.

Official API documentation

Official API documents shows the detail of Messaging API and fundamental usage of SDK.

Notes

How to switch the HTTP client implementation

  1. Implement \LINE\LINEBot\HTTPClient
  2. Pass the implementation to the constructor of \LINE\LINEBot

Please refer CurlHTTPClient that is the default HTTP client implementation.

Requirements

  • PHP 5.4 or later

For SDK developers

Please refer HACKING.md.

See also

A very simple SDK (subset) for the LINE Messaging API for PHP. line-bot-sdk-tiny provides a simple interface and functions which makes it a good way to learn how to use the LINE Messaging API.

License

Copyright 2016 LINE Corporation

LINE Corporation licenses this file to you under the Apache License,
version 2.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at:

  https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

line-bot-sdk-php's People

Contributors

moznion avatar vaduz avatar tamucola avatar be-hase avatar

Watchers

Dhanuari Bastari avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.