Download the PHP package werstreamtes/targetvideo-cms-client without Composer
On this page you can find all versions of the php package werstreamtes/targetvideo-cms-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download werstreamtes/targetvideo-cms-client
More information about werstreamtes/targetvideo-cms-client
Files in werstreamtes/targetvideo-cms-client
Package targetvideo-cms-client
Short Description Unofficial PHP client for the Target Video CMS API v3.
License MIT
Homepage https://github.com/werstreamtes/targetvideo-cms-client
Informations about the package targetvideo-cms-client
Target Video CMS Client for PHP
Unofficial PHP client for the Target Video CMS API v3.
This package is not affiliated with, endorsed by, or maintained by Target Video.
Overview
- Bearer-token authenticated client for
https://api.target-video.com/apiv3 - Typed API for common video and category management tasks
- Raw resource API for endpoints that do not have typed wrappers yet
- Default cURL transport plus optional PSR-18 transport support
- Automatic request encoding for
multipart/form-dataandapplication/x-www-form-urlencoded - Notes for verified live API behavior that differs from the published docs: docs/live-api-differences.md
Installation
The default transport uses PHP's curl extension. If your runtime does not provide curl, use a PSR-18 HTTP client instead.
Getting Started
Video API
Category API
Category endpoints are available in the live API but are currently missing from the public Target Video docs index. They are supported from a Target Video Support-provided Postman collection and verified against the live API.
Raw Resource API
Use the raw API when a typed method does not exist yet or when you need direct control over Target Video's request shape.
For actions that are ambiguous inside a resource, use callOperation() with the exact operation ID from the operation catalog.
PSR-18 Transport
Install a PSR-18 client if you do not want to use the default cURL transport:
Per-request transport options are intentionally transport-specific. With the PSR-18 transport, configure timeouts and retries on the injected HTTP client.
Supported Entry Points
Typed entry points:
Common raw resource helpers:
Documentation Notes
The client is based on the public Target Video CMS reference and additional live API verification:
- CMS API reference
- Documentation index
- API credentials guide
- Verified live API differences
Known live API differences include:
video/editacceptsVideo[description]even though the published edit reference omits it.video/addandvideo/editacceptcreditseven though the published docs do not document that field.video/addsucceeds withoutchannel_ideven though the request example labels it as required.video/allacceptspageandlimiteven though the published query parameter list omits them.- Category management endpoints are available in the live API but are not listed in the published documentation index.
Development
This section is for contributors to this package, not for normal package users.
Build the PHP toolchain:
Validate Composer metadata, lint PHP files, and run unit tests:
Regenerate the operation catalog from the live docs:
When regenerating the operation catalog, re-verify every entry in docs/live-api-differences.md.
Integration Tests
Live integration tests call the real Target Video API. Credentials are loaded from .env by Docker Compose.
Read-only integration tests:
Write integration tests create disposable videos, edit metadata/custom properties, verify the updated values through video/view, and delete the videos again.
If the partner account has no existing videos, set TARGETVIDEO_TEST_VIDEO_SOURCE_URL explicitly so the write suite has a source video URL to import. TARGETVIDEO_TEST_CHANNEL_ID is optional.
Releasing
Packagist versions are created from Git tags, not from a version field in composer.json.
After the GitHub repository is connected to Packagist, new tags become installable Composer versions.
All versions of targetvideo-cms-client with dependencies
ext-json Version *
psr/http-client Version ^1.0
psr/http-factory Version ^1.1
psr/http-message Version ^1.1 || ^2.0