neclimdul/marketo-rest

Marketo Rest API library

v2.0.0-beta4 2022-08-31 23:04 UTC

README

Software License

This package provides a simple set of classes for interacting with Marketo's Rest API. Built using Swagger Codegen directly from Marketo's documentation.

Notes on versioning. I will do my best to start providing some sort of semversion-ish tags to releases. Marketo doesn't really provide any such versioning and just makes changes seemingly at random so this is the plan.

  1. Any major language or drastic template changes will be accompanied by a major version release.
  2. I will do my best to watch for signature changes to methods and treat those as "minor" releases. This would probably be a normal major release but they are generally "bug fixes" to APIs.
  3. Any documentation or other smaller fixes will be minor releases.

Install using composer

composer require neclimdul/marketo-rest

You can read more about Composer on its official webpage.

Usage

Laravel

This package comes with a provider to register all the API's and configuration.

Drupal

The 3.x release of the Drupal marketo_ma module will use and support this library.

Custom

<?php
$system_config = ;
$client = \NecLimDul\MarketoRest\ClientFactory::createOauthClient(new \NecLimDul\MarketoRest\Configuration([
    'clientId' => 'ASDFASDF',
    'clientSecret' => 'ASDFASDF',
    'baseUrl' => 'https://example.mktorest.com',
]));
$config = \NecLimDul\MarketoRest\LeadConfiguration::getDefaultConfiguration();
$config->setHost('https://example.mktorest.com');
$service = new \NecLimDul\MarketoRest\LeadsApi($client, $config);
$service->getLeadByIdUsingGET(16);
?>

Contributing

Pull requests are welcome.

Updating

Updating the documenting from swagger are pretty straight forward using an included script.

$ ./build_swagger.sh

Requirements:

  1. An operating system that supports sudo for some permission hackery.
  2. Docker

Testing

Most of the autogenerated tests aren't doing a lot so please review the changes to make sure they make sense. There are some other tests in PHPUnit so please run those as well.

$ ./vendor/bin/phpunit

Credits

License

The MIT License (MIT). Please see License File for more information.