Aller au contenu

Conventions de nommage des SDKs

Ce que les SDKs renomment, ce qu'ils conservent et où se situe la limite.

Dans les SDKs serveur, les noms de méthodes suivent les conventions de votre langage, et les noms de champs gardent le snake_case de l'API : created_at, authorization_url, per_page.

Ce qui change et ce qui ne change pas

CoucheSuit les conventions du langageExemple
Noms des clients, ressources et méthodesOuiwajub.payments.listRefunds(), client.Payments.ListRefunds()
Champs envoyésNon"authorization_url", "per_page", "decline_code"
Champs reçusNonpayment.authorization_url, payment["created_at"]
Chemins HTTP et paramètres d'URLNon/webhooks, ?per_page=50
Noms des en-têtesNonIdempotency-Key, X-Wajub-Signature
Valeurs d'énumérationNonpayment.succeeded, pending, XAF
Identifiants de ressourcesNontrx_…, cus_…, po_…
"authorization_url": "https://pay.wajub.com/test_xxxxx"

En Ruby, utilisez payment.authorization_url, en Java payment.getAuthorizationUrl() et en C# payment.AuthorizationUrl. En Go, Java et C#, lisez-le dans ce champ typé : Raw["authorization_url"] ne trouve rien.

Noms de méthodes par langage

SDKStyleExemple de méthode
Node.jscamelCasewajub.webhookEndpoints.rotateSecret()
Pythonsnake_casewajub.webhook_endpoints.rotate_secret()
PHPcamelCase$wajub->webhookEndpoints->rotateSecret()
GoPascalCaseclient.WebhookEndpoints.RotateSecret()
Rubysnake_caseclient.webhook_endpoints.rotate_secret
JavacamelCaseclient.webhookEndpoints().rotateSecret()
C#PascalCase avec Asyncclient.WebhookEndpoints.RotateSecretAsync()

En Python, l'accesseur global s'écrit wajub.global_, car global est un mot-clé.

Créez un paiement avec payments.create.

Les langages typés décodent quelques champs

Go, Java et C# exposent les champs principaux d'un paiement en champs typés, nommés selon le langage, et tous les autres champs dans Raw, sous leur nom d'API.

payment.id
payment.status
payment.amount
payment.currency
payment.authorization_url
payment.authorization_token
payment.reference         // an index signature covers the rest

Lire la référence API depuis n'importe quel SDK

La référence documente le format d'échange. Appliquez exactement une transformation.

Dans la référenceDans votre code
POST /webhooks/{id}/rotate-secretLa méthode, selon les conventions de votre langage
authorization_url dans le corps de la réponseLa même chaîne, inchangée
per_page comme paramètre d'URLLa même chaîne, inchangée

Sans SDK, tout utilise le snake_case

Un appel HTTP brut envoie et reçoit du snake_case dans les corps JSON et les paramètres d'URL. Aucun endpoint n'accepte le camelCase.

Que pensez-vous de ce contenu ?