Token导航 LogoToken导航TokenDH.com
开发敏感数据github未标认证来源可访问许可证需确认审计提醒

apideck-phpapideck PHP 命令行

Agent Skill

apideck-php 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

235

周安装

10

GitHub Stars

2

下载量

82
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:apideck-php(apideck PHP 命令行)
来源仓库:https://github.com/apideck-libraries/api-skills
仓库路径:skills/apideck-php
安装命令:
npx skills add https://github.com/apideck-libraries/api-skills --skill apideck-php
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/apideck-libraries/api-skills --skill apideck-php

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装使用。
  • 需确认权限范围和维护状态,避免触发联网、命令执行或文件读写操作。
  • 建议结合原始 README 核验具体用法和 SDK 调用规范。

SKILL.md

Apideck PHP SDK Skill

Overview

The Apideck Unified API provides a single integration layer to connect with 200+ third-party services across accounting, CRM, HRIS, file storage, ATS, e-commerce, and more. The official PHP SDK provides typed clients for all unified APIs.

Installation

composer require apideck-libraries/sdk-php

IMPORTANT RULES

  • ALWAYS use the apideck-libraries/sdk-php Composer package. DO NOT make raw Guzzle/curl calls to the Apideck API.
  • ALWAYS pass security, app ID, and consumer ID via the builder when creating the client.
  • USE serviceId on requests to specify which downstream connector to use.
  • ALWAYS handle errors with try/catch using Errors\APIException as the base class.
  • DO NOT store API keys in source code. Use environment variables.

Quick Start

<?php

use Apideck\Unify;
use Apideck\Unify\Models\Operations;
use Apideck\Unify\Models\Components;

$sdk = Unify\Apideck::builder()
    ->setConsumerId('your-consumer-id')
    ->setAppId('your-app-id')
    ->setSecurity(getenv('APIDECK_API_KEY'))
    ->build();

$request = new Operations\CrmContactsAllRequest(
    serviceId: 'salesforce',
    limit: 20,
);

$responses = $sdk->crm->contacts->list(request: $request);

foreach ($responses as $response) {
    if ($response->httpMeta->response->getStatusCode() === 200) {
        foreach ($response->getContactsResponse->data as $contact) {
            echo $contact->name . "\n";
        }
    }
}

SDK Patterns

Client Setup

use Apideck\Unify;

$sdk = Unify\Apideck::builder()
    ->setConsumerId('your-consumer-id')
    ->setAppId('your-app-id')
    ->setSecurity(getenv('APIDECK_API_KEY'))
    ->build();

CRUD Operations

All resources follow the pattern: $sdk->{api}->{resource}->{operation}(request: $request).

use Apideck\Unify\Models\Operations;
use Apideck\Unify\Models\Components;

// LIST
$request = new Operations\CrmContactsAllRequest(
    serviceId: 'salesforce',
    limit: 20,
    filter: new Components\ContactsFilter(email: 'john@example.com'),
    sort: new Components\ContactsSort(
        by: Components\ContactsSortBy::UpdatedAt,
        direction: Components\SortDirection::Desc,
    ),
);
$responses = $sdk->crm->contacts->list(request: $request);

// CREATE
$request = new Operations\CrmContactsAddRequest(
    serviceId: 'salesforce',
    contact: new Components\ContactInput(
        firstName: 'John',
        lastName: 'Doe',
        emails: [
            new Components\Email(email: 'john@example.com', type: Components\EmailType::Primary),
        ],
        phoneNumbers: [
            new Components\PhoneNumber(number: '+1234567890', type: Components\PhoneNumberType::Mobile),
        ],
    ),
);
$response = $sdk->crm->contacts->create(request: $request);

// GET
$request = new Operations\CrmContactsOneRequest(
    id: 'contact_123',
    serviceId: 'salesforce',
);
$response = $sdk->crm->contacts->get(request: $request);

// UPDATE
$request = new Operations\CrmContactsUpdateRequest(
    id: 'contact_123',
    serviceId: 'salesforce',
    contact: new Components\ContactInput(firstName: 'Jane'),
);
$response = $sdk->crm->contacts->update(request: $request);

// DELETE
$request = new Operations\CrmContactsDeleteRequest(
    id: 'contact_123',
    serviceId: 'salesforce',
);
$response = $sdk->crm->contacts->delete(request: $request);

Pagination

The list method returns a PHP Generator. Iterate with foreach:

$request = new Operations\AccountingInvoicesAllRequest(
    serviceId: 'quickbooks',
    limit: 50,
);

$responses = $sdk->accounting->invoices->list(request: $request);

foreach ($responses as $response) {
    if ($response->httpMeta->response->getStatusCode() === 200) {
        foreach ($response->getInvoicesResponse->data as $invoice) {
            echo "{$invoice->number}: {$invoice->total}\n";
        }
    }
}

Error Handling

use Apideck\Unify\Models\Errors;

try {
    $responses = $sdk->crm->contacts->list(request: $request);
    foreach ($responses as $response) {
        // handle response
    }
} catch (Errors\BadRequestResponseThrowable $e) {
    echo "Bad request: " . $e->getMessage() . "\n";
} catch (Errors\UnauthorizedResponseThrowable $e) {
    echo "Unauthorized\n";
} catch (Errors\NotFoundResponseThrowable $e) {
    echo "Not found\n";
} catch (Errors\PaymentRequiredResponseThrowable $e) {
    echo "API limit reached\n";
} catch (Errors\UnprocessableResponseThrowable $e) {
    echo "Validation error: " . $e->getMessage() . "\n";
} catch (Errors\APIException $e) {
    echo "API error: " . $e->getMessage() . "\n";
}

Retry Configuration

use Apideck\Unify\Utils\Retry;

// Global
$sdk = Unify\Apideck::builder()
    ->setRetryConfig(
        new Retry\RetryConfigBackoff(
            initialInterval: 1,
            maxInterval: 50,
            exponent: 1.1,
            maxElapsedTime: 100,
            retryConnectionErrors: false,
        )
    )
    ->setConsumerId('your-consumer-id')
    ->setAppId('your-app-id')
    ->setSecurity(getenv('APIDECK_API_KEY'))
    ->build();

API Namespaces

NamespaceResources
$sdk->accounting->*invoices, bills, payments, customers, suppliers, ledgerAccounts, journalEntries, taxRates, creditNotes, purchaseOrders, balanceSheet, profitAndLoss, and more
$sdk->crm->*contacts, companies, leads, opportunities, activities, notes, pipelines, users
$sdk->hris->*employees, companies, departments, payrolls, timeOffRequests
$sdk->fileStorage->*files, folders, drives, driveGroups, sharedLinks, uploadSessions
$sdk->ats->*applicants, applications, jobs
$sdk->vault->*connections, consumers, sessions, customMappings, logs
$sdk->webhook->*webhooks, eventLogs

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.19%
按下载量换算30

Claude

30.29%
按下载量换算25

Cursor

16.9%
按下载量换算14

Gemini CLI

9.86%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills