Go to file
2019-06-24 22:06:43 -03:00
src Included the Jobs class 2019-06-24 20:29:02 -03:00
.gitignore GitIgnore: avoiding downloaded .mxliff test files to be commited 2019-06-24 20:30:39 -03:00
composer.json Including more info on composer.json 2019-06-24 21:42:52 -03:00
LICENSE Trying to make composer.json to be used directly from GitHub 2019-06-24 21:33:30 -03:00
README.md Improving README.md file 2019-06-24 22:06:43 -03:00

PHP Memsource API

I am creating this Memsource API as a way to learn how to deal with one and to use with my next projects. I will not create the fully functional API here, but feel free to send a pull request if it were interesting for you.

There are other Memsource API repositories on GibHub that appears to be fully functional if you need it.

Installing

Install it with Composer:

  1. Create a composer.json file with the following content:
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/brunofontes/Memsource-API"
        }
    ],
    "require": {
        "brunofontes/memsource-api": "*"
    }
}
  1. Run php composer.phar install
  2. Add the following line on your main .php file:
require_once __DIR__ . '/vendor/autoload.php';

Using

This repository returns a JSON string for almost any command. If you are not sure how to use it, just convert it to an object or an array as follows:

$myObject = json_decode($response);
$myArray = json_decode($response, true);

Create an instance

$memsource = new \BrunoFontes\Memsource();
  • If you have already an access token, just include it:
$memsource = new \BrunoFontes\Memsource($token);

Basic (only for non-experienced devs)



### Getting an Access Token

To be able to use the Memsource API, you need an **access token**, but to get it, you need to:

#### Register as a developer on Memsource website

So you will receive your:
    - *client id*
    - *client secret*

#### Get an Authorization Code

```php
$url = $memsource->oauth()->getAuthorizationCodeUrl($cliend_id, $callback_uri);

Redirect your browser to this returned $url so the user can login via oauth.

The $callback_uri will be called by Memsource with a $_GET['code'] that contains your Authorization Code, which you can use to...

Get an Access Token

$authCode = $_GET['code'];
$token = $memsource->oauth()->getAccessToken($authCode, $client_id, $client_secret, $callback_uri);

Safely store this $token with the related user data and use it on any

Project

Project list

To list all projects...

$projectList = $memsource->project()->listProjects;

To use filters, add the API filter as parâmeter:

$projectList = $memsource->project()->listProjects(['name' => 'Project X']);

Job

List Jobs

Only projectUid is essencial:

$memsource->jobs()->listJobs($projectUid, ['count' => true, 'filename' => 'my_file.html']);

Bilingual Files